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 <joao@suse.de>
This commit is contained in:
Joao Eduardo Luis 2015-05-09 00:11:20 +01:00
parent 16dcc40cfa
commit 574e596f1f
2 changed files with 11 additions and 3 deletions

View File

@ -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))
/*

View File

@ -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();