From: Joao Eduardo Luis Date: Fri, 8 May 2015 23:11:20 +0000 (+0100) Subject: mon: Monitor: use 'ceph mon scrub' instead of 'ceph scrub' X-Git-Tag: v9.0.3~21^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=574e596f1fd7a0d4f96532ceb13e5f4cd16bab37;p=ceph.git mon: Monitor: use 'ceph mon scrub' instead of 'ceph scrub' Makes it easier to identify the command as being related with the monitor instead of cluster-wide. This entails adding an exception to module 'mon' in order to have this command handled by the Monitor class instead of MonmapMonitor (which is the one traditionally handling 'mon' module commands). Fixes: #11545 Signed-off-by: Joao Eduardo Luis --- diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 521b33f9749a..86a3da4f3b1d 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -281,6 +281,10 @@ COMMAND_WITH_FLAG("mon compact", \ "cause compaction of monitor's leveldb storage", \ "mon", "rw", "cli,rest", \ FLAG(NOFORWARD)) +COMMAND_WITH_FLAG("mon scrub", + "scrub the monitor stores", \ + "mon", "rw", "cli,rest", \ + FLAG(NONE)) /* diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 5b8de2574668..3f047c117b81 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -2693,8 +2693,12 @@ void Monitor::handle_command(MMonCommand *m) return; } if (module == "mon" && - /* 'mon compact' will be handled by the Monitor class */ - prefix != "mon compact") { + /* Let the Monitor class handle the following commands: + * 'mon compact' + * 'mon scrub' + */ + prefix != "mon compact" && + prefix != "mon scrub") { monmon()->dispatch(m); return; } @@ -2726,7 +2730,7 @@ void Monitor::handle_command(MMonCommand *m) return; } - if (prefix == "scrub") { + if (prefix == "scrub" || prefix == "mon scrub") { wait_for_paxos_write(); if (is_leader()) { int r = scrub();