Skip to content

Commit

Permalink
rbd: return error if we specified a wrong image name for rbd du
Browse files Browse the repository at this point in the history
Signed-off-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
  • Loading branch information
yangdongsheng committed Sep 9, 2016
1 parent 994712f commit c883d34
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/tools/rbd/action/DiskUsage.cc
Expand Up @@ -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<string>::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);
Expand Down Expand Up @@ -206,6 +208,10 @@ static int do_disk_usage(librbd::RBD &rbd, librados::IoCtx &io_ctx,
++count;
}
}
if (!found) {
std::cerr << "specified image of " << imgname << "is not found." << std::endl;
return -EINVAL;
}

out:
if (f) {
Expand Down

0 comments on commit c883d34

Please sign in to comment.