From 44acc62bb20228f397ffd847a083f2783a1d3368 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Tue, 22 Sep 2020 08:24:44 -0400 Subject: [PATCH] cephfs-mirror: unregister asok commands outside lock Signed-off-by: Venky Shankar --- src/tools/cephfs_mirror/FSMirror.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/tools/cephfs_mirror/FSMirror.cc b/src/tools/cephfs_mirror/FSMirror.cc index b2952cfac07..a0bae498be1 100644 --- a/src/tools/cephfs_mirror/FSMirror.cc +++ b/src/tools/cephfs_mirror/FSMirror.cc @@ -96,10 +96,14 @@ FSMirror::FSMirror(CephContext *cct, std::string_view fs_name, uint64_t pool_id, FSMirror::~FSMirror() { dout(20) << dendl; - std::scoped_lock locker(m_lock); - delete m_instance_watcher; - delete m_mirror_watcher; - m_cluster.reset(); + { + std::scoped_lock locker(m_lock); + delete m_instance_watcher; + delete m_mirror_watcher; + m_cluster.reset(); + } + // outside the lock so that in-progress commands can acquire + // lock and finish executing. delete m_asok_hook; } -- 2.47.3