]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: wait for in-flight start/stop/restart
authorMykola Golub <mgolub@suse.com>
Tue, 5 May 2020 14:26:39 +0000 (15:26 +0100)
committerMykola Golub <mgolub@suse.com>
Thu, 10 Jun 2021 12:00:03 +0000 (15:00 +0300)
when stopping instance replayer on shut down.

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit e55b64eaecb750e4ad6db89a741c8d0d3f03a670)

Conflicts:
src/tools/rbd_mirror/InstanceReplayer.cc (no on_finish arg for stop())

src/tools/rbd_mirror/InstanceReplayer.cc

index b0e4463dac6734498ff338a2cd2f2b7fff01562b..45495c944e6d536d2b166da13e07652018fa1314 100644 (file)
@@ -265,9 +265,9 @@ void InstanceReplayer<I>::stop()
 {
   dout(10) << dendl;
 
+  auto on_finish = new C_TrackedOp(m_async_op_tracker, nullptr);
   auto cct = static_cast<CephContext *>(m_local_rados->cct());
-  auto gather_ctx = new C_Gather(
-    cct, new C_TrackedOp(m_async_op_tracker, nullptr));
+  auto gather_ctx = new C_Gather(cct, on_finish);
   {
     Mutex::Locker locker(m_lock);