From 1a7cdedb56015485cfd6c9dcf767176d1e850f12 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 5 Sep 2019 17:19:50 -0500 Subject: [PATCH] common/admin_socket: drop explicit prefix arg to register_command This is always the cmddesc prefix. Signed-off-by: Sage Weil --- src/client/Client.cc | 5 -- src/common/admin_socket.cc | 13 +++-- src/common/admin_socket.h | 3 +- src/common/ceph_context.cc | 43 ++++++++------- src/librbd/LibrbdAdminSocketHook.cc | 4 +- src/mds/MDSDaemon.cc | 63 +++++++--------------- src/mgr/ClusterState.cc | 6 +-- src/mon/Monitor.cc | 25 ++++----- src/os/bluestore/Allocator.cc | 18 +++---- src/os/bluestore/BlueFS.cc | 3 +- src/osd/OSD.cc | 77 ++++++++++----------------- src/osdc/Objecter.cc | 1 - src/rgw/rgw_coroutine.cc | 2 +- src/rgw/rgw_sync_trace.cc | 12 ++--- src/rgw/services/svc_sys_obj_cache.cc | 10 ++-- src/test/admin_socket.cc | 8 +-- src/tools/rbd_mirror/ImageDeleter.cc | 2 +- src/tools/rbd_mirror/ImageReplayer.cc | 2 +- src/tools/rbd_mirror/Mirror.cc | 12 ++--- src/tools/rbd_mirror/PoolReplayer.cc | 12 ++--- 20 files changed, 128 insertions(+), 193 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index ded7a77fa26..27e3043ef3a 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -502,7 +502,6 @@ void Client::_finish_init() AdminSocket* admin_socket = cct->get_admin_socket(); int ret = admin_socket->register_command("mds_requests", - "mds_requests", &m_command_hook, "show in-progress mds requests"); if (ret < 0) { @@ -510,7 +509,6 @@ void Client::_finish_init() << cpp_strerror(-ret) << dendl; } ret = admin_socket->register_command("mds_sessions", - "mds_sessions", &m_command_hook, "show mds session state"); if (ret < 0) { @@ -518,7 +516,6 @@ void Client::_finish_init() << cpp_strerror(-ret) << dendl; } ret = admin_socket->register_command("dump_cache", - "dump_cache", &m_command_hook, "show in-memory metadata cache contents"); if (ret < 0) { @@ -526,7 +523,6 @@ void Client::_finish_init() << cpp_strerror(-ret) << dendl; } ret = admin_socket->register_command("kick_stale_sessions", - "kick_stale_sessions", &m_command_hook, "kick sessions that were remote reset"); if (ret < 0) { @@ -534,7 +530,6 @@ void Client::_finish_init() << cpp_strerror(-ret) << dendl; } ret = admin_socket->register_command("status", - "status", &m_command_hook, "show overall client status"); if (ret < 0) { diff --git a/src/common/admin_socket.cc b/src/common/admin_socket.cc index 2c3167035a0..293afd00550 100644 --- a/src/common/admin_socket.cc +++ b/src/common/admin_socket.cc @@ -463,8 +463,7 @@ bool AdminSocket::validate(const std::string& prefix, } } -int AdminSocket::register_command(std::string_view command, - std::string_view cmddesc, +int AdminSocket::register_command(std::string_view cmddesc, AdminSocketHook *hook, std::string_view help) { @@ -638,15 +637,15 @@ bool AdminSocket::init(const std::string& path) m_path = path; version_hook = std::make_unique(); - register_command("0", "0", version_hook.get(), ""); - register_command("version", "version", version_hook.get(), "get ceph version"); - register_command("git_version", "git_version", version_hook.get(), + register_command("0", version_hook.get(), ""); + register_command("version", version_hook.get(), "get ceph version"); + register_command("git_version", version_hook.get(), "get git sha1"); help_hook = std::make_unique(this); - register_command("help", "help", help_hook.get(), + register_command("help", help_hook.get(), "list available commands"); getdescs_hook = std::make_unique(this); - register_command("get_command_descriptions", "get_command_descriptions", + register_command("get_command_descriptions", getdescs_hook.get(), "list available commands"); th = make_named_thread("admin_socket", &AdminSocket::entry, this); diff --git a/src/common/admin_socket.h b/src/common/admin_socket.h index 5e7d56b3f2f..e8f91547dab 100644 --- a/src/common/admin_socket.h +++ b/src/common/admin_socket.h @@ -70,8 +70,7 @@ public: * * @return 0 for success, -EEXIST if command already registered. */ - int register_command(std::string_view command, - std::string_view cmddesc, + int register_command(std::string_view cmddesc, AdminSocketHook *hook, std::string_view help); diff --git a/src/common/ceph_context.cc b/src/common/ceph_context.cc index b88200f10d0..f679dfc8637 100644 --- a/src/common/ceph_context.cc +++ b/src/common/ceph_context.cc @@ -138,7 +138,6 @@ public: : cct(cct), lock(ceph::make_mutex("mem_pool_obs")) { cct->_conf.add_observer(this); int r = cct->get_admin_socket()->register_command( - "dump_mempools", "dump_mempools", this, "get mempool stats"); @@ -654,31 +653,31 @@ CephContext::CephContext(uint32_t module_type_, _plugin_registry = new PluginRegistry(this); _admin_hook = new CephContextHook(this); - _admin_socket->register_command("assert", "assert", _admin_hook, ""); - _admin_socket->register_command("abort", "abort", _admin_hook, ""); - _admin_socket->register_command("perfcounters_dump", "perfcounters_dump", _admin_hook, ""); - _admin_socket->register_command("1", "1", _admin_hook, ""); - _admin_socket->register_command("perf dump", "perf dump name=logger,type=CephString,req=false name=counter,type=CephString,req=false", _admin_hook, "dump perfcounters value"); - _admin_socket->register_command("perfcounters_schema", "perfcounters_schema", _admin_hook, ""); - _admin_socket->register_command("perf histogram dump", "perf histogram dump name=logger,type=CephString,req=false name=counter,type=CephString,req=false", _admin_hook, "dump perf histogram values"); - _admin_socket->register_command("2", "2", _admin_hook, ""); - _admin_socket->register_command("perf schema", "perf schema", _admin_hook, "dump perfcounters schema"); - _admin_socket->register_command("perf histogram schema", "perf histogram schema", _admin_hook, "dump perf histogram schema"); - _admin_socket->register_command("perf reset", "perf reset name=var,type=CephString", _admin_hook, "perf reset : perf reset all or one perfcounter name"); - _admin_socket->register_command("config show", "config show", _admin_hook, "dump current config settings"); - _admin_socket->register_command("config help", "config help name=var,type=CephString,req=false", _admin_hook, "get config setting schema and descriptions"); - _admin_socket->register_command("config set", "config set name=var,type=CephString name=val,type=CephString,n=N", _admin_hook, "config set [ ...]: set a config variable"); - _admin_socket->register_command("config unset", "config unset name=var,type=CephString", _admin_hook, "config unset : unset a config variable"); - _admin_socket->register_command("config get", "config get name=var,type=CephString", _admin_hook, "config get : get the config value"); - _admin_socket->register_command("config diff", + _admin_socket->register_command("assert", _admin_hook, ""); + _admin_socket->register_command("abort", _admin_hook, ""); + _admin_socket->register_command("perfcounters_dump", _admin_hook, ""); + _admin_socket->register_command("1", _admin_hook, ""); + _admin_socket->register_command("perf dump name=logger,type=CephString,req=false name=counter,type=CephString,req=false", _admin_hook, "dump perfcounters value"); + _admin_socket->register_command("perfcounters_schema", _admin_hook, ""); + _admin_socket->register_command("perf histogram dump name=logger,type=CephString,req=false name=counter,type=CephString,req=false", _admin_hook, "dump perf histogram values"); + _admin_socket->register_command("2", _admin_hook, ""); + _admin_socket->register_command("perf schema", _admin_hook, "dump perfcounters schema"); + _admin_socket->register_command("perf histogram schema", _admin_hook, "dump perf histogram schema"); + _admin_socket->register_command("perf reset name=var,type=CephString", _admin_hook, "perf reset : perf reset all or one perfcounter name"); + _admin_socket->register_command("config show", _admin_hook, "dump current config settings"); + _admin_socket->register_command("config help name=var,type=CephString,req=false", _admin_hook, "get config setting schema and descriptions"); + _admin_socket->register_command("config set name=var,type=CephString name=val,type=CephString,n=N", _admin_hook, "config set [ ...]: set a config variable"); + _admin_socket->register_command("config unset name=var,type=CephString", _admin_hook, "config unset : unset a config variable"); + _admin_socket->register_command("config get name=var,type=CephString", _admin_hook, "config get : get the config value"); + _admin_socket->register_command( "config diff", _admin_hook, "dump diff of current config and default config"); - _admin_socket->register_command("config diff get", + _admin_socket->register_command( "config diff get name=var,type=CephString", _admin_hook, "dump diff get : dump diff of current and default config setting "); - _admin_socket->register_command("log flush", "log flush", _admin_hook, "flush log entries to log file"); - _admin_socket->register_command("log dump", "log dump", _admin_hook, "dump recent log entries to log file"); - _admin_socket->register_command("log reopen", "log reopen", _admin_hook, "reopen log file"); + _admin_socket->register_command("log flush", _admin_hook, "flush log entries to log file"); + _admin_socket->register_command("log dump", _admin_hook, "dump recent log entries to log file"); + _admin_socket->register_command("log reopen", _admin_hook, "reopen log file"); _crypto_none = CryptoHandler::create(CEPH_CRYPTO_NONE); _crypto_aes = CryptoHandler::create(CEPH_CRYPTO_AES); diff --git a/src/librbd/LibrbdAdminSocketHook.cc b/src/librbd/LibrbdAdminSocketHook.cc index 15b8fb97029..31e0dd3245a 100644 --- a/src/librbd/LibrbdAdminSocketHook.cc +++ b/src/librbd/LibrbdAdminSocketHook.cc @@ -64,7 +64,7 @@ LibrbdAdminSocketHook::LibrbdAdminSocketHook(ImageCtx *ictx) : imagename = ictx->md_ctx.get_pool_name() + "/" + ictx->name; command = "rbd cache flush " + imagename; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "flush rbd image " + imagename + " cache"); if (r == 0) { @@ -72,7 +72,7 @@ LibrbdAdminSocketHook::LibrbdAdminSocketHook(ImageCtx *ictx) : } command = "rbd cache invalidate " + imagename; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "invalidate rbd image " + imagename + " cache"); if (r == 0) { diff --git a/src/mds/MDSDaemon.cc b/src/mds/MDSDaemon.cc index c24baf0868d..21344b6bd3a 100644 --- a/src/mds/MDSDaemon.cc +++ b/src/mds/MDSDaemon.cc @@ -191,146 +191,123 @@ void MDSDaemon::set_up_admin_socket() AdminSocket *admin_socket = g_ceph_context->get_admin_socket(); ceph_assert(asok_hook == nullptr); asok_hook = new MDSSocketHook(this); - r = admin_socket->register_command("status", "status", asok_hook, + r = admin_socket->register_command("status", asok_hook, "high-level status of MDS"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_ops_in_flight", - "dump_ops_in_flight", asok_hook, + r = admin_socket->register_command("dump_ops_in_flight", asok_hook, "show the ops currently in flight"); ceph_assert(r == 0); - r = admin_socket->register_command("ops", - "ops", asok_hook, + r = admin_socket->register_command("ops", asok_hook, "show the ops currently in flight"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_blocked_ops", "dump_blocked_ops", + r = admin_socket->register_command("dump_blocked_ops", asok_hook, "show the blocked ops currently in flight"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_ops", "dump_historic_ops", + r = admin_socket->register_command("dump_historic_ops", asok_hook, "show recent ops"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_ops_by_duration", "dump_historic_ops_by_duration", + r = admin_socket->register_command("dump_historic_ops_by_duration", asok_hook, "show recent ops, sorted by op duration"); ceph_assert(r == 0); - r = admin_socket->register_command("scrub_path", - "scrub_path name=path,type=CephString " + r = admin_socket->register_command("scrub_path name=path,type=CephString " "name=scrubops,type=CephChoices," "strings=force|recursive|repair,n=N,req=false", asok_hook, "scrub an inode and output results"); ceph_assert(r == 0); - r = admin_socket->register_command("tag path", - "tag path name=path,type=CephString" + r = admin_socket->register_command("tag path name=path,type=CephString" " name=tag,type=CephString", asok_hook, "Apply scrub tag recursively"); ceph_assert(r == 0); - r = admin_socket->register_command("flush_path", - "flush_path name=path,type=CephString", + r = admin_socket->register_command("flush_path name=path,type=CephString", asok_hook, "flush an inode (and its dirfrags)"); ceph_assert(r == 0); - r = admin_socket->register_command("export dir", - "export dir " + r = admin_socket->register_command("export dir " "name=path,type=CephString " "name=rank,type=CephInt", asok_hook, "migrate a subtree to named MDS"); ceph_assert(r == 0); - r = admin_socket->register_command("dump cache", - "dump cache name=path,type=CephString,req=false", + r = admin_socket->register_command("dump cache name=path,type=CephString,req=false", asok_hook, "dump metadata cache (optionally to a file)"); ceph_assert(r == 0); r = admin_socket->register_command("cache status", - "cache status", asok_hook, "show cache status"); ceph_assert(r == 0); - r = admin_socket->register_command("dump tree", - "dump tree " + r = admin_socket->register_command("dump tree " "name=root,type=CephString,req=true " "name=depth,type=CephInt,req=false ", asok_hook, "dump metadata cache for subtree"); ceph_assert(r == 0); r = admin_socket->register_command("dump loads", - "dump loads", asok_hook, "dump metadata loads"); ceph_assert(r == 0); - r = admin_socket->register_command("dump snaps", - "dump snaps name=server,type=CephChoices,strings=--server,req=false", + r = admin_socket->register_command("dump snaps name=server,type=CephChoices,strings=--server,req=false", asok_hook, "dump snapshots"); ceph_assert(r == 0); - r = admin_socket->register_command("session evict", - "session evict name=client_id,type=CephString", + r = admin_socket->register_command("session evict name=client_id,type=CephString", asok_hook, "Evict a CephFS client"); ceph_assert(r == 0); r = admin_socket->register_command("session ls", - "session ls", asok_hook, "Enumerate connected CephFS clients"); ceph_assert(r == 0); - r = admin_socket->register_command("session config", - "session config name=client_id,type=CephInt,req=true " + r = admin_socket->register_command("session config name=client_id,type=CephInt,req=true " "name=option,type=CephString,req=true " "name=value,type=CephString,req=false ", asok_hook, "Config a CephFS client session"); assert(r == 0); - r = admin_socket->register_command("osdmap barrier", - "osdmap barrier name=target_epoch,type=CephInt", + r = admin_socket->register_command("osdmap barrier name=target_epoch,type=CephInt", asok_hook, "Wait until the MDS has this OSD map epoch"); ceph_assert(r == 0); r = admin_socket->register_command("flush journal", - "flush journal", asok_hook, "Flush the journal to the backing store"); ceph_assert(r == 0); r = admin_socket->register_command("force_readonly", - "force_readonly", asok_hook, "Force MDS to read-only mode"); ceph_assert(r == 0); r = admin_socket->register_command("get subtrees", - "get subtrees", asok_hook, "Return the subtree map"); ceph_assert(r == 0); - r = admin_socket->register_command("dirfrag split", - "dirfrag split " + r = admin_socket->register_command("dirfrag split " "name=path,type=CephString,req=true " "name=frag,type=CephString,req=true " "name=bits,type=CephInt,req=true ", asok_hook, "Fragment directory by path"); ceph_assert(r == 0); - r = admin_socket->register_command("dirfrag merge", - "dirfrag merge " + r = admin_socket->register_command("dirfrag merge " "name=path,type=CephString,req=true " "name=frag,type=CephString,req=true", asok_hook, "De-fragment directory by path"); ceph_assert(r == 0); - r = admin_socket->register_command("dirfrag ls", - "dirfrag ls " + r = admin_socket->register_command("dirfrag ls " "name=path,type=CephString,req=true", asok_hook, "List fragments in directory"); ceph_assert(r == 0); r = admin_socket->register_command("openfiles ls", - "openfiles ls", asok_hook, "List the opening files and their caps"); ceph_assert(r == 0); - r = admin_socket->register_command("dump inode", - "dump inode " + r = admin_socket->register_command("dump inode " "name=number,type=CephInt,req=true", asok_hook, "dump inode by inode number"); diff --git a/src/mgr/ClusterState.cc b/src/mgr/ClusterState.cc index 55bd0e1cbc8..12b30adc0ff 100644 --- a/src/mgr/ClusterState.cc +++ b/src/mgr/ClusterState.cc @@ -200,9 +200,9 @@ void ClusterState::final_init() { AdminSocket *admin_socket = g_ceph_context->get_admin_socket(); asok_hook = new ClusterSocketHook(this); - int r = admin_socket->register_command("dump_osd_network", - "dump_osd_network name=value,type=CephInt,req=false", asok_hook, - "Dump osd heartbeat network ping times"); + int r = admin_socket->register_command( + "dump_osd_network name=value,type=CephInt,req=false", asok_hook, + "Dump osd heartbeat network ping times"); ceph_assert(r == 0); } diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index f0754fa8d29..946fcdd7279 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -787,60 +787,55 @@ int Monitor::preinit() // unlock while registering to avoid mon_lock -> admin socket lock dependency. l.unlock(); - r = admin_socket->register_command("mon_status", "mon_status", admin_hook, + r = admin_socket->register_command("mon_status", admin_hook, "show current monitor status"); ceph_assert(r == 0); - r = admin_socket->register_command("quorum_status", "quorum_status", + r = admin_socket->register_command("quorum_status", admin_hook, "show current quorum status"); ceph_assert(r == 0); - r = admin_socket->register_command("sync_force", - "sync_force name=validate," + r = admin_socket->register_command("sync_force name=validate," "type=CephChoices," "strings=--yes-i-really-mean-it", admin_hook, "force sync of and clear monitor store"); ceph_assert(r == 0); - r = admin_socket->register_command("add_bootstrap_peer_hint", - "add_bootstrap_peer_hint name=addr," + r = admin_socket->register_command("add_bootstrap_peer_hint name=addr," "type=CephIPAddr", admin_hook, "add peer address as potential bootstrap" " peer for cluster bringup"); ceph_assert(r == 0); - r = admin_socket->register_command("add_bootstrap_peer_hintv", - "add_bootstrap_peer_hintv name=addrv," + r = admin_socket->register_command("add_bootstrap_peer_hintv name=addrv," "type=CephString", admin_hook, "add peer address vector as potential bootstrap" " peer for cluster bringup"); ceph_assert(r == 0); - r = admin_socket->register_command("quorum enter", "quorum enter", + r = admin_socket->register_command("quorum enter", admin_hook, "force monitor back into quorum"); ceph_assert(r == 0); - r = admin_socket->register_command("quorum exit", "quorum exit", + r = admin_socket->register_command("quorum exit", admin_hook, "force monitor out of the quorum"); ceph_assert(r == 0); r = admin_socket->register_command("ops", - "ops", admin_hook, "show the ops currently in flight"); ceph_assert(r == 0); r = admin_socket->register_command("sessions", - "sessions", admin_hook, "list existing sessions"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_ops", "dump_historic_ops", + r = admin_socket->register_command("dump_historic_ops", admin_hook, "show recent ops"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_ops_by_duration", "dump_historic_ops_by_duration", + r = admin_socket->register_command("dump_historic_ops_by_duration", admin_hook, "show recent ops, sorted by duration"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_slow_ops", "dump_historic_slow_ops", + r = admin_socket->register_command("dump_historic_slow_ops", admin_hook, "show recent slow ops"); ceph_assert(r == 0); diff --git a/src/os/bluestore/Allocator.cc b/src/os/bluestore/Allocator.cc index eb8cd26c739..c8d339f8d5b 100644 --- a/src/os/bluestore/Allocator.cc +++ b/src/os/bluestore/Allocator.cc @@ -22,19 +22,19 @@ public: name = to_string((uintptr_t)this); } if (admin_socket) { - int r = admin_socket->register_command(("bluestore allocator dump " + name).c_str(), - ("bluestore allocator dump " + name).c_str(), - this, - "dump allocator free regions"); + int r = admin_socket->register_command( + ("bluestore allocator dump " + name).c_str(), + this, + "dump allocator free regions"); if (r != 0) alloc = nullptr; //some collision, disable if (alloc) { - r = admin_socket->register_command(("bluestore allocator score " + name).c_str(), - ("bluestore allocator score " + name).c_str(), - this, - "give score on allocator fragmentation (0-no fragmentation, 1-absolute fragmentation)"); + r = admin_socket->register_command( + ("bluestore allocator score " + name).c_str(), + this, + "give score on allocator fragmentation (0-no fragmentation, 1-absolute fragmentation)"); ceph_assert(r == 0); - r = admin_socket->register_command(("bluestore allocator fragmentation " + name).c_str(), + r = admin_socket->register_command( ("bluestore allocator fragmentation " + name).c_str(), this, "give allocator fragmentation (0-no fragmentation, 1-absolute fragmentation)"); diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 9430b654b9b..4ea05895f07 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -52,8 +52,7 @@ public: AdminSocket* admin_socket = bluefs->cct->get_admin_socket(); if (admin_socket) { hook = new BlueFS::SocketHook(bluefs); - int r = admin_socket->register_command("bluestore bluefs available", - "bluestore bluefs available " + int r = admin_socket->register_command("bluestore bluefs available " "name=alloc_size,type=CephInt,req=false", hook, "Report available space for bluefs. " diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 8429118770b..e0bdbfd97e7 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -3289,78 +3289,71 @@ void OSD::final_init() { AdminSocket *admin_socket = cct->get_admin_socket(); asok_hook = new OSDSocketHook(this); - int r = admin_socket->register_command("status", "status", asok_hook, + int r = admin_socket->register_command("status", asok_hook, "high-level status of OSD"); ceph_assert(r == 0); - r = admin_socket->register_command("flush_journal", "flush_journal", + r = admin_socket->register_command("flush_journal", asok_hook, "flush the journal to permanent store"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_ops_in_flight", - "dump_ops_in_flight " \ + r = admin_socket->register_command("dump_ops_in_flight " \ "name=filterstr,type=CephString,n=N,req=false", asok_hook, "show the ops currently in flight"); ceph_assert(r == 0); - r = admin_socket->register_command("ops", - "ops " \ + r = admin_socket->register_command("ops " \ "name=filterstr,type=CephString,n=N,req=false", asok_hook, "show the ops currently in flight"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_blocked_ops", - "dump_blocked_ops " \ + r = admin_socket->register_command("dump_blocked_ops " \ "name=filterstr,type=CephString,n=N,req=false", asok_hook, "show the blocked ops currently in flight"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_ops", - "dump_historic_ops " \ + r = admin_socket->register_command("dump_historic_ops " \ "name=filterstr,type=CephString,n=N,req=false", asok_hook, "show recent ops"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_slow_ops", - "dump_historic_slow_ops " \ + r = admin_socket->register_command("dump_historic_slow_ops " \ "name=filterstr,type=CephString,n=N,req=false", asok_hook, "show slowest recent ops"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_historic_ops_by_duration", - "dump_historic_ops_by_duration " \ + r = admin_socket->register_command("dump_historic_ops_by_duration " \ "name=filterstr,type=CephString,n=N,req=false", asok_hook, "show slowest recent ops, sorted by duration"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_op_pq_state", "dump_op_pq_state", + r = admin_socket->register_command("dump_op_pq_state", asok_hook, "dump op priority queue state"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_blacklist", "dump_blacklist", + r = admin_socket->register_command("dump_blacklist", asok_hook, "dump blacklisted clients and times"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_watchers", "dump_watchers", + r = admin_socket->register_command("dump_watchers", asok_hook, "show clients which have active watches," " and on which objects"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_recovery_reservations", "dump_recovery_reservations", + r = admin_socket->register_command("dump_recovery_reservations", asok_hook, "show recovery reservations"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_scrub_reservations", "dump_scrub_reservations", + r = admin_socket->register_command("dump_scrub_reservations", asok_hook, - "show scrub reservations"); + "show recovery reservations"); ceph_assert(r == 0); - r = admin_socket->register_command("get_latest_osdmap", "get_latest_osdmap", + r = admin_socket->register_command("get_latest_osdmap", asok_hook, "force osd to update the latest map from " "the mon"); ceph_assert(r == 0); - r = admin_socket->register_command( "heap", - "heap " \ + r = admin_socket->register_command( "heap " \ "name=heapcmd,type=CephString " \ "name=value,type=CephString,req=false", asok_hook, @@ -3368,83 +3361,77 @@ void OSD::final_init() "compiled with tcmalloc)"); ceph_assert(r == 0); - r = admin_socket->register_command("set_heap_property", - "set_heap_property " \ + r = admin_socket->register_command("set_heap_property " \ "name=property,type=CephString " \ "name=value,type=CephInt", asok_hook, "update malloc extension heap property"); ceph_assert(r == 0); - r = admin_socket->register_command("get_heap_property", - "get_heap_property " \ + r = admin_socket->register_command("get_heap_property " \ "name=property,type=CephString", asok_hook, "get malloc extension heap property"); ceph_assert(r == 0); r = admin_socket->register_command("dump_objectstore_kv_stats", - "dump_objectstore_kv_stats", asok_hook, "print statistics of kvdb which used by bluestore"); ceph_assert(r == 0); r = admin_socket->register_command("dump_scrubs", - "dump_scrubs", asok_hook, "print scheduled scrubs"); ceph_assert(r == 0); r = admin_socket->register_command("calc_objectstore_db_histogram", - "calc_objectstore_db_histogram", asok_hook, "Generate key value histogram of kvdb(rocksdb) which used by bluestore"); ceph_assert(r == 0); r = admin_socket->register_command("flush_store_cache", - "flush_store_cache", asok_hook, "Flush bluestore internal cache"); ceph_assert(r == 0); - r = admin_socket->register_command("dump_pgstate_history", "dump_pgstate_history", + r = admin_socket->register_command("dump_pgstate_history", asok_hook, "show recent state history"); ceph_assert(r == 0); - r = admin_socket->register_command("compact", "compact", + r = admin_socket->register_command("compact", asok_hook, "Commpact object store's omap." " WARNING: Compaction probably slows your requests"); ceph_assert(r == 0); - r = admin_socket->register_command("get_mapped_pools", "get_mapped_pools", + r = admin_socket->register_command("get_mapped_pools", asok_hook, "dump pools whose PG(s) are mapped to this OSD."); ceph_assert(r == 0); - r = admin_socket->register_command("smart", "smart name=devid,type=CephString,req=False", + r = admin_socket->register_command("smart name=devid,type=CephString,req=False", asok_hook, "probe OSD devices for SMART data."); ceph_assert(r == 0); - r = admin_socket->register_command("list_devices", "list_devices", + r = admin_socket->register_command("list_devices", asok_hook, "list OSD devices."); - r = admin_socket->register_command("send_beacon", "send_beacon", + r = admin_socket->register_command("send_beacon", asok_hook, "send OSD beacon to mon immediately"); - r = admin_socket->register_command("dump_osd_network", "dump_osd_network name=value,type=CephInt,req=false", asok_hook, - "Dump osd heartbeat network ping times"); + r = admin_socket->register_command( + "dump_osd_network name=value,type=CephInt,req=false", asok_hook, + "Dump osd heartbeat network ping times"); ceph_assert(r == 0); test_ops_hook = new TestOpsSocketHook(&(this->service), this->store); // Note: pools are CephString instead of CephPoolname because // these commands traditionally support both pool names and numbers r = admin_socket->register_command( - "setomapval", "setomapval " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname " \ @@ -3454,7 +3441,6 @@ void OSD::final_init() "set omap key"); ceph_assert(r == 0); r = admin_socket->register_command( - "rmomapkey", "rmomapkey " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname " \ @@ -3463,7 +3449,6 @@ void OSD::final_init() "remove omap key"); ceph_assert(r == 0); r = admin_socket->register_command( - "setomapheader", "setomapheader " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname " \ @@ -3473,7 +3458,6 @@ void OSD::final_init() ceph_assert(r == 0); r = admin_socket->register_command( - "getomap", "getomap " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname", @@ -3482,7 +3466,6 @@ void OSD::final_init() ceph_assert(r == 0); r = admin_socket->register_command( - "truncobj", "truncobj " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname " \ @@ -3492,7 +3475,6 @@ void OSD::final_init() ceph_assert(r == 0); r = admin_socket->register_command( - "injectdataerr", "injectdataerr " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname " \ @@ -3502,7 +3484,6 @@ void OSD::final_init() ceph_assert(r == 0); r = admin_socket->register_command( - "injectmdataerr", "injectmdataerr " \ "name=pool,type=CephString " \ "name=objname,type=CephObjectname " \ @@ -3511,14 +3492,12 @@ void OSD::final_init() "inject metadata error to an object"); ceph_assert(r == 0); r = admin_socket->register_command( - "set_recovery_delay", "set_recovery_delay " \ "name=utime,type=CephInt,req=false", test_ops_hook, "Delay osd recovery by specified seconds"); ceph_assert(r == 0); r = admin_socket->register_command( - "trigger_scrub", "trigger_scrub " \ "name=pgid,type=CephString " \ "name=time,type=CephInt,req=false", @@ -3526,7 +3505,6 @@ void OSD::final_init() "Trigger a scheduled scrub "); ceph_assert(r == 0); r = admin_socket->register_command( - "trigger_deep_scrub", "trigger_deep_scrub " \ "name=pgid,type=CephString " \ "name=time,type=CephInt,req=false", @@ -3534,7 +3512,6 @@ void OSD::final_init() "Trigger a scheduled deep scrub "); ceph_assert(r == 0); r = admin_socket->register_command( - "injectfull", "injectfull " \ "name=type,type=CephString,req=false " \ "name=count,type=CephInt,req=false ", diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index c5389d12b0f..b9ba9a17108 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -384,7 +384,6 @@ void Objecter::init() m_request_state_hook = new RequestStateHook(this); AdminSocket* admin_socket = cct->get_admin_socket(); int ret = admin_socket->register_command("objecter_requests", - "objecter_requests", m_request_state_hook, "show in-progress osd requests"); diff --git a/src/rgw/rgw_coroutine.cc b/src/rgw/rgw_coroutine.cc index 58a9b328988..c888ccaa0bf 100644 --- a/src/rgw/rgw_coroutine.cc +++ b/src/rgw/rgw_coroutine.cc @@ -843,7 +843,7 @@ int RGWCoroutinesManagerRegistry::hook_to_admin_command(const string& command) admin_socket->unregister_command(admin_command); } admin_command = command; - int r = admin_socket->register_command(admin_command, admin_command, this, + int r = admin_socket->register_command(admin_command, this, "dump current coroutines stack state"); if (r < 0) { lderr(cct) << "ERROR: fail to register admin socket command (r=" << r << ")" << dendl; diff --git a/src/rgw/rgw_sync_trace.cc b/src/rgw/rgw_sync_trace.cc index aea82c490cc..02f3ca178aa 100644 --- a/src/rgw/rgw_sync_trace.cc +++ b/src/rgw/rgw_sync_trace.cc @@ -140,13 +140,13 @@ int RGWSyncTraceManager::hook_to_admin_command() { AdminSocket *admin_socket = cct->get_admin_socket(); - admin_commands = { { "sync trace show", "sync trace show name=search,type=CephString,req=false", "sync trace show [filter_str]: show current multisite tracing information" }, - { "sync trace history", "sync trace history name=search,type=CephString,req=false", "sync trace history [filter_str]: show history of multisite tracing information" }, - { "sync trace active", "sync trace active name=search,type=CephString,req=false", "show active multisite sync entities information" }, - { "sync trace active_short", "sync trace active_short name=search,type=CephString,req=false", "show active multisite sync entities entries" } }; + admin_commands = { { "sync trace show name=search,type=CephString,req=false", "sync trace show [filter_str]: show current multisite tracing information" }, + { "sync trace history name=search,type=CephString,req=false", "sync trace history [filter_str]: show history of multisite tracing information" }, + { "sync trace active name=search,type=CephString,req=false", "show active multisite sync entities information" }, + { "sync trace active_short name=search,type=CephString,req=false", "show active multisite sync entities entries" } }; for (auto cmd : admin_commands) { - int r = admin_socket->register_command(cmd[0], cmd[1], this, - cmd[2]); + int r = admin_socket->register_command(cmd[0], this, + cmd[1]); if (r < 0) { lderr(cct) << "ERROR: fail to register admin socket command (r=" << r << ")" << dendl; return r; diff --git a/src/rgw/services/svc_sys_obj_cache.cc b/src/rgw/services/svc_sys_obj_cache.cc index 3728630edf4..6865eb70c45 100644 --- a/src/rgw/services/svc_sys_obj_cache.cc +++ b/src/rgw/services/svc_sys_obj_cache.cc @@ -503,14 +503,11 @@ class RGWSI_SysObj_Cache_ASocketHook : public AdminSocketHook { { "cache list", "cache list name=filter,type=CephString,req=false", "cache list [filter_str]: list object cache, possibly matching substrings" }, - { "cache inspect", - "cache inspect name=target,type=CephString,req=true", + { "cache inspect name=target,type=CephString,req=true", "cache inspect target: print cache element" }, - { "cache erase", - "cache erase name=target,type=CephString,req=true", + { "cache erase name=target,type=CephString,req=true", "cache erase target: erase element from cache" }, { "cache zap", - "cache zap", "cache zap: erase all elements from cache" } }; @@ -528,8 +525,7 @@ int RGWSI_SysObj_Cache_ASocketHook::start() { auto admin_socket = svc->ctx()->get_admin_socket(); for (auto cmd : admin_commands) { - int r = admin_socket->register_command(cmd[0], cmd[1], this, - cmd[2]); + int r = admin_socket->register_command(cmd[0], this, cmd[1]); if (r < 0) { ldout(svc->ctx(), 0) << "ERROR: fail to register admin socket command (r=" << r << ")" << dendl; diff --git a/src/test/admin_socket.cc b/src/test/admin_socket.cc index 4f50588b0de..e2134175899 100644 --- a/src/test/admin_socket.cc +++ b/src/test/admin_socket.cc @@ -140,7 +140,7 @@ TEST(AdminSocket, RegisterCommand) { ASSERT_EQ(true, asoct.shutdown()); ASSERT_EQ(true, asoct.init(get_rand_socket_path())); AdminSocketClient client(get_rand_socket_path()); - ASSERT_EQ(0, asoct.m_asokc->register_command("test", "test", my_test_asok.get(), "")); + ASSERT_EQ(0, asoct.m_asokc->register_command("test", my_test_asok.get(), "")); string result; ASSERT_EQ("", client.do_request("{\"prefix\":\"test\"}", &result)); ASSERT_EQ("test|", result); @@ -174,8 +174,8 @@ TEST(AdminSocket, RegisterCommandPrefixes) { ASSERT_EQ(true, asoct.shutdown()); ASSERT_EQ(true, asoct.init(get_rand_socket_path())); AdminSocketClient client(get_rand_socket_path()); - ASSERT_EQ(0, asoct.m_asokc->register_command("test", "test name=args,type=CephString,n=N", my_test_asok.get(), "")); - ASSERT_EQ(0, asoct.m_asokc->register_command("test command", "test command name=args,type=CephString,n=N", my_test2_asok.get(), "")); + ASSERT_EQ(0, asoct.m_asokc->register_command("test name=args,type=CephString,n=N", my_test_asok.get(), "")); + ASSERT_EQ(0, asoct.m_asokc->register_command("test command name=args,type=CephString,n=N", my_test2_asok.get(), "")); string result; ASSERT_EQ("", client.do_request("{\"prefix\":\"test\"}", &result)); ASSERT_EQ("test|", result); @@ -248,7 +248,7 @@ TEST(AdminSocketClient, Ping) { { AdminSocketTest asoct(asokc.get()); BlockingHook *blocking = new BlockingHook(); - ASSERT_EQ(0, asoct.m_asokc->register_command("0", "0", blocking, "")); + ASSERT_EQ(0, asoct.m_asokc->register_command("0", blocking, "")); ASSERT_TRUE(asoct.init(path)); bool ok; std::string result = client.ping(&ok); diff --git a/src/tools/rbd_mirror/ImageDeleter.cc b/src/tools/rbd_mirror/ImageDeleter.cc index ae1d15a265e..0170e4fb57e 100644 --- a/src/tools/rbd_mirror/ImageDeleter.cc +++ b/src/tools/rbd_mirror/ImageDeleter.cc @@ -89,7 +89,7 @@ public: int r; command = "rbd mirror deletion status " + pool_name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "get status for image deleter"); if (r == 0) { commands[command] = new StatusCommand(image_del); diff --git a/src/tools/rbd_mirror/ImageReplayer.cc b/src/tools/rbd_mirror/ImageReplayer.cc index 96e7e83a59f..a5b1ccf27e0 100644 --- a/src/tools/rbd_mirror/ImageReplayer.cc +++ b/src/tools/rbd_mirror/ImageReplayer.cc @@ -177,7 +177,7 @@ public: int register_commands() { for (auto &it : commands) { - int r = admin_socket->register_command(it.first, it.first, this, + int r = admin_socket->register_command(it.first, this, it.second->desc); if (r < 0) { return r; diff --git a/src/tools/rbd_mirror/Mirror.cc b/src/tools/rbd_mirror/Mirror.cc index b36c1a9cc28..a12aa5473f5 100644 --- a/src/tools/rbd_mirror/Mirror.cc +++ b/src/tools/rbd_mirror/Mirror.cc @@ -271,42 +271,42 @@ public: int r; command = "rbd mirror status"; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "get status for rbd mirror"); if (r == 0) { commands[command] = new StatusCommand(mirror); } command = "rbd mirror start"; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "start rbd mirror"); if (r == 0) { commands[command] = new StartCommand(mirror); } command = "rbd mirror stop"; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "stop rbd mirror"); if (r == 0) { commands[command] = new StopCommand(mirror); } command = "rbd mirror restart"; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "restart rbd mirror"); if (r == 0) { commands[command] = new RestartCommand(mirror); } command = "rbd mirror flush"; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "flush rbd mirror"); if (r == 0) { commands[command] = new FlushCommand(mirror); } command = "rbd mirror leader release"; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "release rbd mirror leader"); if (r == 0) { commands[command] = new LeaderReleaseCommand(mirror); diff --git a/src/tools/rbd_mirror/PoolReplayer.cc b/src/tools/rbd_mirror/PoolReplayer.cc index 7abd1dd3679..8f2452d2fe9 100644 --- a/src/tools/rbd_mirror/PoolReplayer.cc +++ b/src/tools/rbd_mirror/PoolReplayer.cc @@ -136,42 +136,42 @@ public: int r; command = "rbd mirror status " + name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "get status for rbd mirror " + name); if (r == 0) { commands[command] = new StatusCommand(pool_replayer); } command = "rbd mirror start " + name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "start rbd mirror " + name); if (r == 0) { commands[command] = new StartCommand(pool_replayer); } command = "rbd mirror stop " + name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "stop rbd mirror " + name); if (r == 0) { commands[command] = new StopCommand(pool_replayer); } command = "rbd mirror restart " + name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "restart rbd mirror " + name); if (r == 0) { commands[command] = new RestartCommand(pool_replayer); } command = "rbd mirror flush " + name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "flush rbd mirror " + name); if (r == 0) { commands[command] = new FlushCommand(pool_replayer); } command = "rbd mirror leader release " + name; - r = admin_socket->register_command(command, command, this, + r = admin_socket->register_command(command, this, "release rbd mirror leader " + name); if (r == 0) { commands[command] = new LeaderReleaseCommand(pool_replayer); -- 2.39.5