]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/tools/rbd_mirror/ImageReplayer.cc
import ceph 15.2.10
[ceph.git] / ceph / src / tools / rbd_mirror / ImageReplayer.cc
index 2d57a98d2f9c615334c21292850c7b5bc161c765..2d51efe8bb4f13729f48a1bb44a6b3bb40c810b0 100644 (file)
@@ -690,18 +690,18 @@ template <typename I>
 void ImageReplayer<I>::handle_update_mirror_image_replay_status(int r) {
   dout(10) << dendl;
 
+  ceph_assert(ceph_mutex_is_locked_by_me(m_threads->timer_lock));
+
+  ceph_assert(m_update_status_task != nullptr);
+  m_update_status_task = nullptr;
+
   auto ctx = new LambdaContext([this](int) {
       update_mirror_image_status(false, boost::none);
 
-      {
-        std::unique_lock locker{m_lock};
-        std::unique_lock timer_locker{m_threads->timer_lock};
-        ceph_assert(m_update_status_task != nullptr);
-        m_update_status_task = nullptr;
-
-        schedule_update_mirror_image_replay_status();
-      }
+      std::unique_lock locker{m_lock};
+      std::unique_lock timer_locker{m_threads->timer_lock};
 
+      schedule_update_mirror_image_replay_status();
       m_in_flight_op_tracker.finish_op();
     });