From a203271a025ad5751e6e12d17342f843af6c6d99 Mon Sep 17 00:00:00 2001 From: Prasanna Kumar Kalever Date: Thu, 27 Mar 2025 12:55:33 +0530 Subject: [PATCH] rbd_mirror: avoid passing empty remote_mirror_uuid to group_replayer group_replayer can fetch remote_mirror_uuid as remote_pool_meta.mirror_uuid >>> gc = rbd.Group(ioctx, 'test_group') >>> print(gc.group_snap_get_mirror_namespace('104b430672cf')) {'state': 2, 'mirror_peer_uuids': [], 'primary_mirror_uuid': '6cd393ad-c21d-42e6-a404-0dabf596bfe7', 'primary_snap_id': '104b430672cf'} Thanks to Ilya for highlighting the issue. Signed-off-by: Prasanna Kumar Kalever --- src/tools/rbd_mirror/GroupReplayer.cc | 4 ++-- src/tools/rbd_mirror/group_replayer/Replayer.cc | 6 +++--- src/tools/rbd_mirror/group_replayer/Replayer.h | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/tools/rbd_mirror/GroupReplayer.cc b/src/tools/rbd_mirror/GroupReplayer.cc index 9f6dbb2716289..07ce2f4d793b8 100644 --- a/src/tools/rbd_mirror/GroupReplayer.cc +++ b/src/tools/rbd_mirror/GroupReplayer.cc @@ -636,8 +636,8 @@ void GroupReplayer::create_group_replayer() { m_replayer = group_replayer::Replayer::create( m_threads, m_local_io_ctx, m_remote_group_peer.io_ctx, m_global_group_id, - m_local_mirror_uuid, m_remote_group_peer.uuid, m_pool_meta_cache, - m_local_group_id, m_remote_group_id, &m_local_group_ctx, &m_image_replayers); + m_local_mirror_uuid, m_pool_meta_cache, m_local_group_id, m_remote_group_id, + &m_local_group_ctx, &m_image_replayers); m_replayer->init(ctx); } diff --git a/src/tools/rbd_mirror/group_replayer/Replayer.cc b/src/tools/rbd_mirror/group_replayer/Replayer.cc index b2157b758425c..6805a30db6bc0 100644 --- a/src/tools/rbd_mirror/group_replayer/Replayer.cc +++ b/src/tools/rbd_mirror/group_replayer/Replayer.cc @@ -40,7 +40,6 @@ Replayer::Replayer( librados::IoCtx &remote_io_ctx, const std::string &global_group_id, const std::string& local_mirror_uuid, - const std::string& remote_mirror_uuid, PoolMetaCache* pool_meta_cache, std::string local_group_id, std::string remote_group_id, @@ -51,7 +50,6 @@ Replayer::Replayer( m_remote_io_ctx(remote_io_ctx), m_global_group_id(global_group_id), m_local_mirror_uuid(local_mirror_uuid), - m_remote_mirror_uuid(remote_mirror_uuid), m_pool_meta_cache(pool_meta_cache), m_local_group_id(local_group_id), m_remote_group_id(remote_group_id), @@ -247,8 +245,10 @@ void Replayer::init(Context* on_finish) { return; } + m_remote_mirror_uuid = remote_pool_meta.mirror_uuid; m_remote_mirror_peer_uuid = remote_pool_meta.mirror_peer_uuid; - dout(10) << "remote_mirror_peer_uuid=" << m_remote_mirror_peer_uuid << dendl; + dout(10) << "remote_mirror_uuid=" << m_remote_mirror_uuid + << ", remote_mirror_peer_uuid=" << m_remote_mirror_peer_uuid << dendl; on_finish->complete(0); load_local_group_snapshots(); diff --git a/src/tools/rbd_mirror/group_replayer/Replayer.h b/src/tools/rbd_mirror/group_replayer/Replayer.h index dcc1c5334d296..7da1fd3b388c0 100644 --- a/src/tools/rbd_mirror/group_replayer/Replayer.h +++ b/src/tools/rbd_mirror/group_replayer/Replayer.h @@ -35,15 +35,14 @@ public: librados::IoCtx &remote_io_ctx, const std::string &global_group_id, const std::string& local_mirror_uuid, - const std::string& remote_mirror_uuid, PoolMetaCache* pool_meta_cache, std::string local_group_id, std::string remote_group_id, GroupCtx *local_group_ctx, std::list *>> *image_replayers) { return new Replayer(threads, local_io_ctx, remote_io_ctx, global_group_id, - local_mirror_uuid, remote_mirror_uuid, pool_meta_cache, local_group_id, - remote_group_id, local_group_ctx, image_replayers); + local_mirror_uuid, pool_meta_cache, local_group_id, remote_group_id, + local_group_ctx, image_replayers); } Replayer( @@ -52,7 +51,6 @@ public: librados::IoCtx &remote_io_ctx, const std::string &global_group_id, const std::string& local_mirror_uuid, - const std::string& remote_mirror_uuid, PoolMetaCache* pool_meta_cache, std::string local_group_id, std::string remote_group_id, -- 2.39.5