From 3694068b67fd625495c4511390bc5bcbfbbd28f5 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Thu, 7 Aug 2014 13:31:48 -0700 Subject: [PATCH] ceph_objectstore_tool: Add operation "rm-past-intervals" for testing purposes Signed-off-by: David Zafman --- src/tools/ceph_objectstore_tool.cc | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index d415a87d6757..1ca6c1147c80 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -1520,7 +1520,7 @@ int main(int argc, char **argv) ("pgid", po::value(&pgidstr), "PG id, mandatory except for import, list-lost, fix-lost") ("op", po::value(&op), - "Arg is one of [info, log, remove, export, import, list, list-lost, fix-lost, list-pgs]") + "Arg is one of [info, log, remove, export, import, list, list-lost, fix-lost, list-pgs, rm-past-intervals]") ("file", po::value(&file), "path of file to export or import") ("debug", "Enable diagnostic output to stderr") @@ -2186,8 +2186,21 @@ int main(int argc, char **argv) formatter->close_section(); formatter->flush(cout); cout << std::endl; + } else if (op == "rm-past-intervals") { + ObjectStore::Transaction tran; + ObjectStore::Transaction *t = &tran; + + cout << "Remove past-intervals " << past_intervals << std::endl; + + past_intervals.clear(); + ret = write_info(*t, map_epoch, info, struct_ver, past_intervals); + + if (ret == 0) { + fs->apply_transaction(*t); + cout << "Removal succeeded" << std::endl; + } } else { - cerr << "Must provide --op (info, log, remove, export, import, list, list-lost, fix-lost, list-pgs)" + cerr << "Must provide --op (info, log, remove, export, import, list, list-lost, fix-lost, list-pgs, rm-past-intervals)" << std::endl; usage(desc); } -- 2.47.3