From: Venky Shankar Date: Tue, 22 Sep 2020 12:24:44 +0000 (-0400) Subject: cephfs-mirror: unregister asok commands outside lock X-Git-Tag: v16.1.0~786^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=44acc62bb20228f397ffd847a083f2783a1d3368;p=ceph.git cephfs-mirror: unregister asok commands outside lock Signed-off-by: Venky Shankar --- diff --git a/src/tools/cephfs_mirror/FSMirror.cc b/src/tools/cephfs_mirror/FSMirror.cc index b2952cfac07c..a0bae498be12 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; }