From 55f88d66e3c4736477215109c3b8be4e152eee76 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Tue, 5 May 2020 15:26:39 +0100 Subject: [PATCH] rbd-mirror: wait for in-flight start/stop/restart when stopping instance replayer on shut down. Signed-off-by: Mykola Golub (cherry picked from commit e55b64eaecb750e4ad6db89a741c8d0d3f03a670) Conflicts: src/tools/rbd_mirror/InstanceReplayer.cc (no on_finish arg for stop()) --- src/tools/rbd_mirror/InstanceReplayer.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/rbd_mirror/InstanceReplayer.cc b/src/tools/rbd_mirror/InstanceReplayer.cc index b0e4463dac673..45495c944e6d5 100644 --- a/src/tools/rbd_mirror/InstanceReplayer.cc +++ b/src/tools/rbd_mirror/InstanceReplayer.cc @@ -265,9 +265,9 @@ void InstanceReplayer::stop() { dout(10) << dendl; + auto on_finish = new C_TrackedOp(m_async_op_tracker, nullptr); auto cct = static_cast(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); -- 2.39.5