mirror of
https://github.com/ceph/ceph
synced 2025-01-29 22:43:40 +00:00
mon: Monitor: use 'ceph mon compact' instead of 'ceph compact'
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:
parent
66e7510cad
commit
16dcc40cfa
@ -274,6 +274,15 @@ COMMAND_WITH_FLAG("version", "show mon daemon version", "mon", "r", "cli,rest",
|
||||
COMMAND("node ls " \
|
||||
"name=type,type=CephChoices,strings=all|osd|mon|mds,req=false",
|
||||
"list all nodes in cluster [type]", "mon", "r", "cli,rest")
|
||||
/*
|
||||
* Monitor-specific commands under module 'mon'
|
||||
*/
|
||||
COMMAND_WITH_FLAG("mon compact", \
|
||||
"cause compaction of monitor's leveldb storage", \
|
||||
"mon", "rw", "cli,rest", \
|
||||
FLAG(NOFORWARD))
|
||||
|
||||
|
||||
/*
|
||||
* MDS commands (MDSMonitor.cc)
|
||||
*/
|
||||
|
@ -2692,7 +2692,9 @@ void Monitor::handle_command(MMonCommand *m)
|
||||
pgmon()->dispatch(m);
|
||||
return;
|
||||
}
|
||||
if (module == "mon") {
|
||||
if (module == "mon" &&
|
||||
/* 'mon compact' will be handled by the Monitor class */
|
||||
prefix != "mon compact") {
|
||||
monmon()->dispatch(m);
|
||||
return;
|
||||
}
|
||||
@ -2737,7 +2739,7 @@ void Monitor::handle_command(MMonCommand *m)
|
||||
return;
|
||||
}
|
||||
|
||||
if (prefix == "compact") {
|
||||
if (prefix == "compact" || prefix == "mon compact") {
|
||||
dout(1) << "triggering manual compaction" << dendl;
|
||||
utime_t start = ceph_clock_now(g_ceph_context);
|
||||
store->compact();
|
||||
|
Loading…
Reference in New Issue
Block a user