From ce1d7bb783d5dd56c6efce38e7bb0c9b55bc3731 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Wed, 18 Dec 2019 21:12:44 -0500 Subject: [PATCH] rbd: read mirror pool peers from default namespace The image status from non-default namespaces can be linked to the peers in the default namespace via the fsid. Fixes: https://tracker.ceph.com/issues/43379 Signed-off-by: Jason Dillaman --- src/tools/rbd/action/MirrorImage.cc | 5 ++++- src/tools/rbd/action/MirrorPool.cc | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/tools/rbd/action/MirrorImage.cc b/src/tools/rbd/action/MirrorImage.cc index ad5a4d97699..706aa65ca66 100644 --- a/src/tools/rbd/action/MirrorImage.cc +++ b/src/tools/rbd/action/MirrorImage.cc @@ -313,8 +313,11 @@ int execute_status(const po::variables_map &vm, return r; } + librados::IoCtx default_ns_io_ctx; + default_ns_io_ctx.dup(io_ctx); + default_ns_io_ctx.set_namespace(""); std::vector mirror_peers; - utils::get_mirror_peer_sites(io_ctx, &mirror_peers); + utils::get_mirror_peer_sites(default_ns_io_ctx, &mirror_peers); std::map peer_fsid_to_name; utils::get_mirror_peer_fsid_to_names(mirror_peers, &peer_fsid_to_name); diff --git a/src/tools/rbd/action/MirrorPool.cc b/src/tools/rbd/action/MirrorPool.cc index 1c974fe17f1..d6f649049bf 100644 --- a/src/tools/rbd/action/MirrorPool.cc +++ b/src/tools/rbd/action/MirrorPool.cc @@ -1542,8 +1542,11 @@ int execute_status(const po::variables_map &vm, } // dump per-image status + librados::IoCtx default_ns_io_ctx; + default_ns_io_ctx.dup(io_ctx); + default_ns_io_ctx.set_namespace(""); std::vector mirror_peers; - utils::get_mirror_peer_sites(io_ctx, &mirror_peers); + utils::get_mirror_peer_sites(default_ns_io_ctx, &mirror_peers); std::map peer_fsid_to_name; utils::get_mirror_peer_fsid_to_names(mirror_peers, &peer_fsid_to_name); -- 2.39.5