]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/ceph_context: only common_init_finish() once per cct
authorSage Weil <sage@redhat.com>
Tue, 30 Jan 2018 15:11:23 +0000 (09:11 -0600)
committerSage Weil <sage@redhat.com>
Tue, 6 Mar 2018 20:44:49 +0000 (14:44 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/common/ceph_context.h
src/common/common_init.cc

index 94179c133d1d529c09a7b1a11c4de93c9b35fcf0..7ac7c32de71798f86e3fffd72275fa16608d4612 100644 (file)
@@ -71,6 +71,8 @@ public:
   CephContext(CephContext&&) = delete;
   CephContext& operator =(CephContext&&) = delete;
 
+  bool _finished = false;
+
   // ref count!
 private:
   ~CephContext();
index 3042b612940956d3b5332a16f0bec387859b6893..b365ba67ac78e2571dc4c447bc0171f11ce37909 100644 (file)
@@ -90,6 +90,11 @@ void complain_about_parse_errors(CephContext *cct,
  * same application. */
 void common_init_finish(CephContext *cct)
 {
+  // only do this once per cct
+  if (cct->_finished) {
+    return;
+  }
+  cct->_finished = true;
   cct->init_crypto();
   ZTracer::ztrace_init();