From: David Zafman Date: Tue, 19 May 2015 03:22:03 +0000 (-0700) Subject: ceph-objectstore-tool: Add dump-super to show OSDSuperblock in format specified X-Git-Tag: v0.94.7~28^2~10^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=af3f8ae1d9e210499fd0165e473f9b5d87666f75;p=ceph.git ceph-objectstore-tool: Add dump-super to show OSDSuperblock in format specified Signed-off-by: David Zafman (cherry picked from commit 99d7663f870abfa82711dbf0451334f7d6c883d8) --- diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index 85bc799f5a85..2d7c4d2ddf2c 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -2534,9 +2534,9 @@ int main(int argc, char **argv) ("journal-path", po::value(&jpath), "path to journal, mandatory for filestore type") ("pgid", po::value(&pgidstr), - "PG id, mandatory except for import, fix-lost, list-pgs, set-allow-sharded-objects, dump-journal") + "PG id, mandatory except for import, fix-lost, list-pgs, set-allow-sharded-objects, dump-journal, dump-super") ("op", po::value(&op), - "Arg is one of [info, log, remove, export, import, list, fix-lost, list-pgs, rm-past-intervals, set-allow-sharded-objects, dump-journal]") + "Arg is one of [info, log, remove, export, import, list, fix-lost, list-pgs, rm-past-intervals, set-allow-sharded-objects, dump-journal, dump-super]") ("file", po::value(&file), "path of file to export or import") ("format", po::value(&format)->default_value("json-pretty"), @@ -2944,8 +2944,9 @@ int main(int argc, char **argv) // The dump-journal op isn't here because it is handled earlier. // The dump-journal-mount op is undocumented so not in the usage. if (op != "list" && op != "import" && op != "fix-lost" - && op != "list-pgs" && op != "set-allow-sharded-objects" && - op != "dump-journal-mount" && (pgidstr.length() == 0)) { + && op != "list-pgs" && op != "set-allow-sharded-objects" + && op != "dump-journal-mount" && op != "dump-super" + && (pgidstr.length() == 0)) { cerr << "Must provide pgid" << std::endl; usage(desc); ret = 1; @@ -3403,6 +3404,12 @@ int main(int argc, char **argv) fs->apply_transaction(*t); cout << "Removal succeeded" << std::endl; } + } else if (op == "dump-super") { + formatter->open_object_section("superblock"); + superblock.dump(formatter); + formatter->close_section(); + formatter->flush(cout); + cout << std::endl; } else { cerr << "Must provide --op (info, log, remove, export, import, list, fix-lost, list-pgs, rm-past-intervals)" << std::endl;