From: Dongsheng Yang Date: Fri, 9 Sep 2016 08:53:25 +0000 (-0400) Subject: rbd: return error if we specified a wrong image name for rbd du X-Git-Tag: v11.0.1~145^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ce4c801cfc114f718ca51c32b657fec638ca9aaf;p=ceph.git rbd: return error if we specified a wrong image name for rbd du Signed-off-by: Dongsheng Yang --- diff --git a/src/tools/rbd/action/DiskUsage.cc b/src/tools/rbd/action/DiskUsage.cc index 9ef2e7e93a4e..3a38a052fb3d 100644 --- a/src/tools/rbd/action/DiskUsage.cc +++ b/src/tools/rbd/action/DiskUsage.cc @@ -110,12 +110,14 @@ static int do_disk_usage(librbd::RBD &rbd, librados::IoCtx &io_ctx, uint64_t used_size = 0; uint64_t total_prov = 0; uint64_t total_used = 0; + bool found = false; std::sort(names.begin(), names.end()); for (std::vector::const_iterator name = names.begin(); name != names.end(); ++name) { if (imgname != NULL && *name != imgname) { continue; } + found = true; librbd::Image image; r = rbd.open_read_only(io_ctx, image, name->c_str(), NULL); @@ -206,6 +208,10 @@ static int do_disk_usage(librbd::RBD &rbd, librados::IoCtx &io_ctx, ++count; } } + if (!found) { + std::cerr << "specified image " << imgname << " is not found." << std::endl; + return -ENOENT; + } out: if (f) {