]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/tools/rbd_mirror/PoolReplayer.cc
update sources to 12.2.7
[ceph.git] / ceph / src / tools / rbd_mirror / PoolReplayer.cc
index 817d3434c3983a384b138e8091fa41fdb9f6c82f..c766e8609038189444610a1d3ebf68893700b92e 100644 (file)
@@ -360,17 +360,18 @@ void PoolReplayer::shut_down() {
   }
   if (m_leader_watcher) {
     m_leader_watcher->shut_down();
-    m_leader_watcher.reset();
   }
   if (m_instance_watcher) {
     m_instance_watcher->shut_down();
-    m_instance_watcher.reset();
   }
   if (m_instance_replayer) {
     m_instance_replayer->shut_down();
-    m_instance_replayer.reset();
   }
 
+  m_leader_watcher.reset();
+  m_instance_watcher.reset();
+  m_instance_replayer.reset();
+
   assert(!m_local_pool_watcher);
   assert(!m_remote_pool_watcher);
   m_local_rados.reset();
@@ -508,6 +509,8 @@ void PoolReplayer::run()
       m_cond.WaitInterval(m_lock, utime_t(1, 0));
     }
   }
+
+  m_instance_replayer->stop();
 }
 
 void PoolReplayer::print_status(Formatter *f, stringstream *ss)