From: songweibin Date: Wed, 31 Jan 2018 05:44:28 +0000 (+0800) Subject: rbd: translate pool id into pool name in error msg X-Git-Tag: v13.0.2~372^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1efda79fb626777c5b643151a2360f35d3d00556;p=ceph.git rbd: translate pool id into pool name in error msg Signed-off-by: songweibin --- diff --git a/src/tools/rbd/action/Remove.cc b/src/tools/rbd/action/Remove.cc index 67dbae87b31f..5946ec571dd5 100644 --- a/src/tools/rbd/action/Remove.cc +++ b/src/tools/rbd/action/Remove.cc @@ -5,6 +5,7 @@ #include "tools/rbd/Shell.h" #include "tools/rbd/Utils.h" #include "common/errno.h" +#include "include/stringify.h" #include #include @@ -78,10 +79,19 @@ int execute(const po::variables_map &vm, if (image_r == 0) { image_r = image.get_group(&group_info, sizeof(group_info)); } - if (image_r == 0) - std::cerr << "rbd: error: image belongs to a group " - << group_info.pool << "." << group_info.name; - else + if (image_r == 0) { + std::string pool_name = ""; + librados::Rados rados(io_ctx); + librados::IoCtx pool_io_ctx; + r = rados.ioctx_create2(group_info.pool, pool_io_ctx); + if (r < 0) { + pool_name = ""; + } else { + pool_name = pool_io_ctx.get_pool_name(); + } + std::cerr << "rbd: error: image belongs to a group " + << pool_name << "/" << group_info.name; + } else std::cerr << "rbd: error: image belongs to a group"; std::cerr << std::endl