From 574e596f1fd7a0d4f96532ceb13e5f4cd16bab37 Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Sat, 9 May 2015 00:11:20 +0100 Subject: [PATCH] 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 --- src/mon/MonCommands.h | 4 ++++ src/mon/Monitor.cc | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 521b33f9749a0..86a3da4f3b1da 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 5b8de2574668c..3f047c117b819 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(); -- 2.39.5