]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephfs-journal-tool: move shutdown to the deconstructor of MDSUtility 20251/head
authordongdong tao <tdd21151186@gmail.com>
Fri, 19 Jan 2018 03:50:51 +0000 (11:50 +0800)
committerPrashant D <pdhange@redhat.com>
Fri, 2 Feb 2018 04:00:09 +0000 (23:00 -0500)
Fixes: http://tracker.ceph.com/issues/22734
Signed-off-by: dongdong tao <tdd21151186@gmail.com>
(cherry picked from commit ea0e8f0c581527bdc4bace78306cd7601997b584)

src/tools/cephfs/JournalTool.cc
src/tools/cephfs/MDSUtility.cc
src/tools/cephfs/MDSUtility.h
src/tools/cephfs/cephfs-data-scan.cc
src/tools/cephfs/cephfs-journal-tool.cc
src/tools/cephfs/cephfs-table-tool.cc

index d134769f8b2cfe38fabfb4f225c32caf6bafc2e8..e35cf792206380b6aa45ea97ae5f3da848c380a0 100644 (file)
@@ -573,7 +573,6 @@ int JournalTool::journal_export(std::string const &path, bool import)
     } else {
       r = dumper.dump(path.c_str());
     }
-    dumper.shutdown();
   }
 
   return r;
@@ -598,7 +597,6 @@ int JournalTool::journal_reset(bool hard)
   } else {
     r = resetter.reset(mds_role_t(role_selector.get_ns(), rank));
   }
-  resetter.shutdown();
 
   return r;
 }
index 9a345f49d1aa501a6a54219421f52a5157f0a2f2..80ce3c34934ebb91140cb2e969215986ad5ccc93 100644 (file)
@@ -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;
 }
 
index 9951b3b9ce89e6b2aae5f4e2dbedd3d41cdc2116..21164bfaa87e0a601591bd159a16ad0f9009c856 100644 (file)
@@ -41,6 +41,7 @@ protected:
 
   Context *waiting_for_mds_map;
 
+  bool inited;
 public:
   MDSUtility();
   ~MDSUtility() override;
index dcf83bbfd1c3929d0dc0015bc08cefc66e7d5e94..e7034539bd77f3fe7edfc4f4ca562e48d6a7ad64 100644 (file)
@@ -39,7 +39,6 @@ int main(int argc, const char **argv)
     std::cerr << "Error (" << cpp_strerror(rc) << ")" << std::endl;
   }
 
-  data_scan.shutdown();
 
   return rc;
 }
index 2764feb0fcb3194090bc0107d83e8eef9fbcb9ec..e4c1287d45575e808fa2d55918647402215ff344 100644 (file)
@@ -52,8 +52,6 @@ int main(int argc, const char **argv)
     std::cerr << "Error (" << cpp_strerror(rc) << ")" << std::endl;
   }
 
-  jt.shutdown();
-
   return rc;
 }
 
index ef09df4947358f968da5bf5fb1f6cc2c919fd20b..124ff23468c52b4bd96b90a12e1426cbefee9bcd 100644 (file)
@@ -39,8 +39,6 @@ int main(int argc, const char **argv)
     std::cerr << "Error (" << cpp_strerror(rc) << ")" << std::endl;
   }
 
-  tt.shutdown();
-
   return rc;
 }