From a9d335d8399984b338d7cfe2b7d49e1f67940ebf Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Wed, 9 May 2018 10:25:22 -0400 Subject: [PATCH] rbd-mirror: avoid sending duplicate re-acquire messages upon leader startup Signed-off-by: Jason Dillaman --- src/tools/rbd_mirror/image_map/Policy.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/tools/rbd_mirror/image_map/Policy.cc b/src/tools/rbd_mirror/image_map/Policy.cc index a60c8fc0420..03c5705b656 100644 --- a/src/tools/rbd_mirror/image_map/Policy.cc +++ b/src/tools/rbd_mirror/image_map/Policy.cc @@ -90,6 +90,11 @@ bool Policy::add_image(const std::string &global_image_id) { auto image_state_result = m_image_states.emplace(global_image_id, ImageState{}); auto& image_state = image_state_result.first->second; + if (image_state.state == StateTransition::STATE_INITIALIZING) { + // avoid duplicate acquire notifications upon leader startup + return false; + } + return set_state(&image_state, StateTransition::STATE_ASSOCIATING, false); } -- 2.39.5