From: Jason Dillaman Date: Mon, 14 May 2018 14:34:28 +0000 (-0400) Subject: rbd-mirror: do not propagate image map instance updates when shutting down X-Git-Tag: v13.1.1~1^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4cd7b67aaad9d09c99f7bfc2cf9a33093327d3f9;p=ceph.git rbd-mirror: do not propagate image map instance updates when shutting down Signed-off-by: Jason Dillaman (cherry picked from commit 4525b7a597ccfa6e966243e24bd9e9662c994a41) --- diff --git a/src/tools/rbd_mirror/PoolReplayer.cc b/src/tools/rbd_mirror/PoolReplayer.cc index 0950546aa2b..ea28a27c70c 100644 --- a/src/tools/rbd_mirror/PoolReplayer.cc +++ b/src/tools/rbd_mirror/PoolReplayer.cc @@ -1040,7 +1040,12 @@ void PoolReplayer::handle_remove_image(const std::string &mirror_uuid, template void PoolReplayer::handle_instances_added(const InstanceIds &instance_ids) { dout(5) << "instance_ids=" << instance_ids << dendl; + Mutex::Locker locker(m_lock); + if (!m_leader_watcher->is_leader()) { + return; + } + assert(m_image_map); m_image_map->update_instances_added(instance_ids); } @@ -1048,7 +1053,12 @@ template void PoolReplayer::handle_instances_removed( const InstanceIds &instance_ids) { dout(5) << "instance_ids=" << instance_ids << dendl; + Mutex::Locker locker(m_lock); + if (!m_leader_watcher->is_leader()) { + return; + } + assert(m_image_map); m_image_map->update_instances_removed(instance_ids); }