From ea0e8f0c581527bdc4bace78306cd7601997b584 Mon Sep 17 00:00:00 2001 From: dongdong tao Date: Fri, 19 Jan 2018 11:50:51 +0800 Subject: [PATCH] cephfs-journal-tool: move shutdown to the deconstructor of MDSUtility Fixes: http://tracker.ceph.com/issues/22734 Signed-off-by: dongdong tao --- src/tools/cephfs/JournalTool.cc | 2 -- src/tools/cephfs/MDSUtility.cc | 7 ++++++- src/tools/cephfs/MDSUtility.h | 1 + src/tools/cephfs/cephfs-data-scan.cc | 1 - src/tools/cephfs/cephfs-journal-tool.cc | 2 -- src/tools/cephfs/cephfs-table-tool.cc | 2 -- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/tools/cephfs/JournalTool.cc b/src/tools/cephfs/JournalTool.cc index b7c6609b94f..89edb2432f2 100644 --- a/src/tools/cephfs/JournalTool.cc +++ b/src/tools/cephfs/JournalTool.cc @@ -570,7 +570,6 @@ int JournalTool::journal_export(std::string const &path, bool import) } else { r = dumper.dump(path.c_str()); } - dumper.shutdown(); } return r; @@ -595,7 +594,6 @@ int JournalTool::journal_reset(bool hard) } else { r = resetter.reset(mds_role_t(role_selector.get_ns(), rank)); } - resetter.shutdown(); return r; } diff --git a/src/tools/cephfs/MDSUtility.cc b/src/tools/cephfs/MDSUtility.cc index 9a345f49d1a..80ce3c34934 100644 --- a/src/tools/cephfs/MDSUtility.cc +++ b/src/tools/cephfs/MDSUtility.cc @@ -23,7 +23,8 @@ MDSUtility::MDSUtility() : objecter(NULL), lock("MDSUtility::lock"), finisher(g_ceph_context, "MDSUtility", "fn_mds_utility"), - waiting_for_mds_map(NULL) + waiting_for_mds_map(NULL), + inited(false) { monc = new MonClient(g_ceph_context); messenger = Messenger::create_client_messenger(g_ceph_context, "mds"); @@ -34,6 +35,9 @@ MDSUtility::MDSUtility() : MDSUtility::~MDSUtility() { + if (inited) { + shutdown(); + } delete objecter; delete monc; delete messenger; @@ -107,6 +111,7 @@ int MDSUtility::init() finisher.start(); + inited = true; return 0; } diff --git a/src/tools/cephfs/MDSUtility.h b/src/tools/cephfs/MDSUtility.h index 9951b3b9ce8..21164bfaa87 100644 --- a/src/tools/cephfs/MDSUtility.h +++ b/src/tools/cephfs/MDSUtility.h @@ -41,6 +41,7 @@ protected: Context *waiting_for_mds_map; + bool inited; public: MDSUtility(); ~MDSUtility() override; diff --git a/src/tools/cephfs/cephfs-data-scan.cc b/src/tools/cephfs/cephfs-data-scan.cc index dcf83bbfd1c..e7034539bd7 100644 --- a/src/tools/cephfs/cephfs-data-scan.cc +++ b/src/tools/cephfs/cephfs-data-scan.cc @@ -39,7 +39,6 @@ int main(int argc, const char **argv) std::cerr << "Error (" << cpp_strerror(rc) << ")" << std::endl; } - data_scan.shutdown(); return rc; } diff --git a/src/tools/cephfs/cephfs-journal-tool.cc b/src/tools/cephfs/cephfs-journal-tool.cc index 2764feb0fcb..e4c1287d455 100644 --- a/src/tools/cephfs/cephfs-journal-tool.cc +++ b/src/tools/cephfs/cephfs-journal-tool.cc @@ -52,8 +52,6 @@ int main(int argc, const char **argv) std::cerr << "Error (" << cpp_strerror(rc) << ")" << std::endl; } - jt.shutdown(); - return rc; } diff --git a/src/tools/cephfs/cephfs-table-tool.cc b/src/tools/cephfs/cephfs-table-tool.cc index ef09df49473..124ff23468c 100644 --- a/src/tools/cephfs/cephfs-table-tool.cc +++ b/src/tools/cephfs/cephfs-table-tool.cc @@ -39,8 +39,6 @@ int main(int argc, const char **argv) std::cerr << "Error (" << cpp_strerror(rc) << ")" << std::endl; } - tt.shutdown(); - return rc; } -- 2.47.3