From: Sunny Kumar Date: Wed, 28 Apr 2021 14:40:30 +0000 (+0100) Subject: rbd: fix default pool handling for nbd/ggate map/unmap X-Git-Tag: v16.2.6~22^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d7e7f8d49dfa49829831796b0bf61dbfe893e862;p=ceph.git rbd: fix default pool handling for nbd/ggate map/unmap Default pool is not being picked up when providing only image name during map/unmap. However, if the pool name is provided manually map/unmap works as expected. Fixes: https://tracker.ceph.com/issues/50522 Signed-off-by: Sunny Kumar (cherry picked from commit 987e017f20dc419f45f222a35c9ccca79551af7d) --- diff --git a/src/tools/rbd/action/Ggate.cc b/src/tools/rbd/action/Ggate.cc index 74cd57dd5a2..bae9778bbce 100644 --- a/src/tools/rbd/action/Ggate.cc +++ b/src/tools/rbd/action/Ggate.cc @@ -65,6 +65,17 @@ int get_image_or_snap_spec(const po::variables_map &vm, std::string *spec) { return r; } + if (pool_name.empty()) { + // connect to the cluster to get the default pool + librados::Rados rados; + r = utils::init_rados(&rados); + if (r < 0) { + return r; + } + + utils::normalize_pool_name(&pool_name); + } + spec->append(pool_name); spec->append("/"); if (!nspace_name.empty()) { diff --git a/src/tools/rbd/action/Nbd.cc b/src/tools/rbd/action/Nbd.cc index bb6ef982920..5055477b7fe 100644 --- a/src/tools/rbd/action/Nbd.cc +++ b/src/tools/rbd/action/Nbd.cc @@ -74,6 +74,17 @@ int get_image_or_snap_spec(const po::variables_map &vm, std::string *spec) { return r; } + if (pool_name.empty()) { + // connect to the cluster to get the default pool + librados::Rados rados; + r = utils::init_rados(&rados); + if (r < 0) { + return r; + } + + utils::normalize_pool_name(&pool_name); + } + spec->append(pool_name); spec->append("/"); if (!nspace_name.empty()) {