summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-04-29 09:43:30 -0700
committerSage Weil <sage@inktank.com>2013-04-29 09:46:11 -0700
commit0c82d55a803608ab07ef30e832ea94a62ecd3475 (patch)
tree07a1d3b8d61088bcbccfa024ad5fc3094ab8db08
parentdc0797932ec5f1d68f23a5f11b8a395bafe28265 (diff)
downloadceph-0c82d55a803608ab07ef30e832ea94a62ecd3475.tar.gz
mon: --compact startup option to compact the store
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/ceph_mon.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc
index 01072728db2..0a5e2d344b9 100644
--- a/src/ceph_mon.cc
+++ b/src/ceph_mon.cc
@@ -114,6 +114,7 @@ int main(int argc, const char **argv)
int err;
bool mkfs = false;
+ bool compact = false;
std::string osdmapfn, inject_monmap;
vector<const char*> args;
@@ -132,6 +133,8 @@ int main(int argc, const char **argv)
exit(0);
} else if (ceph_argparse_flag(args, i, "--mkfs", (char*)NULL)) {
mkfs = true;
+ } else if (ceph_argparse_flag(args, i, "--compact", (char*)NULL)) {
+ compact = true;
} else if (ceph_argparse_witharg(args, i, &val, "--osdmap", (char*)NULL)) {
osdmapfn = val;
} else if (ceph_argparse_witharg(args, i, &val, "--inject_monmap", (char*)NULL)) {
@@ -474,6 +477,12 @@ int main(int argc, const char **argv)
if (err < 0)
return 1;
+ if (compact) {
+ derr << "compacting monitor store ..." << dendl;
+ mon->store->compact();
+ derr << "done compacting" << dendl;
+ }
+
global_init_daemonize(g_ceph_context, 0);
common_init_finish(g_ceph_context);
global_init_chdir(g_ceph_context);