From 96861a8116242bdef487087348c24c97723dfafc Mon Sep 17 00:00:00 2001 From: David Zafman Date: Fri, 12 Apr 2019 13:09:43 -0700 Subject: [PATCH] ceph-objectstore-tool: Rename dump-import to dump-export If user specifies dump-import it will still work, but isn't in the usage that way. Fixes: http://tracker.ceph.com/issues/39284 Signed-off-by: David Zafman --- .../special/ceph_objectstore_tool.py | 6 ++--- src/tools/ceph_objectstore_tool.cc | 24 +++++++++++-------- src/tools/ceph_objectstore_tool.h | 2 +- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/qa/standalone/special/ceph_objectstore_tool.py b/qa/standalone/special/ceph_objectstore_tool.py index ecabbb7ec32..15ad54e61ec 100755 --- a/qa/standalone/special/ceph_objectstore_tool.py +++ b/qa/standalone/special/ceph_objectstore_tool.py @@ -1014,7 +1014,7 @@ def main(argv): # Specify a bad --op command cmd = (CFSD_PREFIX + "--op oops").format(osd=ONEOSD) - ERRORS += test_failure(cmd, "Must provide --op (info, log, remove, mkfs, fsck, repair, export, export-remove, import, list, fix-lost, list-pgs, dump-journal, dump-super, meta-list, get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, dump-import, trim-pg-log)") + ERRORS += test_failure(cmd, "Must provide --op (info, log, remove, mkfs, fsck, repair, export, export-remove, import, list, fix-lost, list-pgs, dump-journal, dump-super, meta-list, get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, dump-export, trim-pg-log)") # Provide just the object param not a command cmd = (CFSD_PREFIX + "object").format(osd=ONEOSD) @@ -1779,11 +1779,11 @@ def main(argv): for pg in PGS: file = os.path.join(dir, pg) # Make sure this doesn't crash - cmd = (CFSD_PREFIX + "--op dump-import --file {file}").format(osd=osd, file=file) + cmd = (CFSD_PREFIX + "--op dump-export --file {file}").format(osd=osd, file=file) logging.debug(cmd) ret = call(cmd, shell=True, stdout=nullfd) if ret != 0: - logging.error("Dump-import failed from {file} with {ret}".format(file=file, ret=ret)) + logging.error("Dump-export failed from {file} with {ret}".format(file=file, ret=ret)) IMP_ERRORS += 1 # This should do nothing cmd = (CFSD_PREFIX + "--op import --file {file} --dry-run").format(osd=osd, file=file) diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index 2b512990e11..f6b585ab3ed 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -1455,7 +1455,7 @@ void filter_divergent_priors(spg_t import_pgid, const OSDMap &curmap, } } -int ObjectStoreTool::dump_import(Formatter *formatter) +int ObjectStoreTool::dump_export(Formatter *formatter) { bufferlist ebl; pg_info_t info; @@ -1510,7 +1510,7 @@ int ObjectStoreTool::dump_import(Formatter *formatter) return ret; if (debug) { - cerr << "dump_import: Section type " << std::to_string(type) << std::endl; + cerr << "dump_export: Section type " << std::to_string(type) << std::endl; } if (type >= END_OF_TYPES) { cerr << "Skipping unknown section type" << std::endl; @@ -3074,7 +3074,7 @@ int main(int argc, char **argv) "Pool name, mandatory for apply-layout-settings if --pgid is not specified") ("op", po::value(&op), "Arg is one of [info, log, remove, mkfs, fsck, repair, fuse, dup, export, export-remove, import, list, fix-lost, list-pgs, dump-journal, dump-super, meta-list, " - "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, apply-layout-settings, update-mon-db, dump-import, trim-pg-log]") + "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, apply-layout-settings, update-mon-db, dump-export, trim-pg-log]") ("epoch", po::value(&epoch), "epoch# for get-osdmap and get-inc-osdmap, the current epoch in use if not specified") ("file", po::value(&file), @@ -3134,6 +3134,10 @@ int main(int argc, char **argv) return 1; } + // Compatibility with previous option name + if (op == "dump-import") + op = "dump-export"; + debug = (vm.count("debug") > 0); force = (vm.count("force") > 0); @@ -3202,7 +3206,7 @@ int main(int argc, char **argv) type = "bluestore"; } if (!vm.count("data-path") && - op != "dump-import" && + op != "dump-export" && !(op == "dump-journal" && type == "filestore")) { cerr << "Must provide --data-path" << std::endl; usage(desc); @@ -3251,7 +3255,7 @@ int main(int argc, char **argv) } else { file_fd = open(file.c_str(), O_WRONLY|O_CREAT|O_TRUNC, 0666); } - } else if (op == "import" || op == "dump-import" || op == "set-osdmap" || op == "set-inc-osdmap") { + } else if (op == "import" || op == "dump-export" || op == "set-osdmap" || op == "set-inc-osdmap") { if (!vm.count("file") || file == "-") { if (isatty(STDIN_FILENO)) { cerr << "stdin is a tty and no --file filename specified" << std::endl; @@ -3266,7 +3270,7 @@ int main(int argc, char **argv) ObjectStoreTool tool = ObjectStoreTool(file_fd, dry_run); if (vm.count("file") && file_fd == fd_none && !dry_run) { - cerr << "--file option only applies to import, dump-import, export, export-remove, " + cerr << "--file option only applies to import, dump-export, export, export-remove, " << "get-osdmap, set-osdmap, get-inc-osdmap or set-inc-osdmap" << std::endl; return 1; } @@ -3319,10 +3323,10 @@ int main(int argc, char **argv) return 0; } - if (op == "dump-import") { - int ret = tool.dump_import(formatter); + if (op == "dump-export") { + int ret = tool.dump_export(formatter); if (ret < 0) { - cerr << "dump-import: " + cerr << "dump-export: " << cpp_strerror(ret) << std::endl; return 1; } @@ -3819,7 +3823,7 @@ int main(int argc, char **argv) // before complaining about a bad pgid if (!vm.count("objcmd") && op != "export" && op != "export-remove" && op != "info" && op != "log" && op != "mark-complete" && op != "trim-pg-log") { cerr << "Must provide --op (info, log, remove, mkfs, fsck, repair, export, export-remove, import, list, fix-lost, list-pgs, dump-journal, dump-super, meta-list, " - "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, dump-import, trim-pg-log)" + "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, dump-export, trim-pg-log)" << std::endl; usage(desc); ret = 1; diff --git a/src/tools/ceph_objectstore_tool.h b/src/tools/ceph_objectstore_tool.h index 3db61df9afb..aafe886ba69 100644 --- a/src/tools/ceph_objectstore_tool.h +++ b/src/tools/ceph_objectstore_tool.h @@ -24,7 +24,7 @@ class ObjectStoreTool : public RadosDump : RadosDump(file_fd, dry_run) {} - int dump_import(Formatter *formatter); + int dump_export(Formatter *formatter); int do_import(ObjectStore *store, OSDSuperblock& sb, bool force, std::string pgidstr); int do_export(ObjectStore *fs, coll_t coll, spg_t pgid, -- 2.39.5