From: Mykola Golub Date: Mon, 7 Mar 2016 11:10:04 +0000 (+0200) Subject: rbd-mirror: properly update replayers X-Git-Tag: v10.1.0~186^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=303e2c989a5a5a052fc08f8fe7dc4d371e92033b;p=ceph.git rbd-mirror: properly update replayers Previously update_replayers always deleted replayers due to using empty peers set. Signed-off-by: Mykola Golub --- diff --git a/src/tools/rbd_mirror/Mirror.cc b/src/tools/rbd_mirror/Mirror.cc index 6bab7adeaf45..5887899802c4 100644 --- a/src/tools/rbd_mirror/Mirror.cc +++ b/src/tools/rbd_mirror/Mirror.cc @@ -75,7 +75,6 @@ void Mirror::update_replayers(const map > &peer_configs) { dout(20) << "enter" << dendl; assert(m_lock.is_locked()); - set peers; for (auto &kv : peer_configs) { const peer_t &peer = kv.first; if (m_replayers.find(peer) == m_replayers.end()) { @@ -93,7 +92,7 @@ void Mirror::update_replayers(const map > &peer_configs) // TODO: make async for (auto it = m_replayers.begin(); it != m_replayers.end();) { peer_t peer = it->first; - if (peers.find(peer) == peers.end()) { + if (peer_configs.find(peer) == peer_configs.end()) { dout(20) << "removing replayer for " << peer << dendl; m_replayers.erase(it++); } else {