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)
*/
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;
}
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();