Skip to content

Commit

Permalink
librbd: group misc cleanup
Browse files Browse the repository at this point in the history
* Add some error message when returning a negative error code.
* Validate dest name when renaming a group snap.

Signed-off-by: songweibin <song.weibin@zte.com.cn>
  • Loading branch information
Songweibin committed Feb 1, 2018
1 parent 3041b9a commit 0e69d4f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/librbd/api/Group.cc
Expand Up @@ -731,7 +731,7 @@ int Group<I>::snap_create(librados::IoCtx& group_ioctx,
ldout(cct, 1) << "Failed to create io context for image" << dendl;
}

ldout(cct, 20) << "Openning image with id" << image.spec.image_id << dendl;
ldout(cct, 20) << "Opening image with id " << image.spec.image_id << dendl;

librbd::ImageCtx* image_ctx = new ImageCtx("", image.spec.image_id.c_str(),
nullptr, image_io_ctx, false);
Expand Down
16 changes: 14 additions & 2 deletions src/tools/rbd/action/Group.cc
Expand Up @@ -392,8 +392,13 @@ int execute_group_snap_create(const po::variables_map &vm,

librbd::RBD rbd;
r = rbd.group_snap_remove(io_ctx, group_name.c_str(), snap_name.c_str());
if (r < 0) {
std::cerr << "rbd: failed to remove group snapshot: "
<< cpp_strerror(r) << std::endl;
return r;
}

return r;
return 0;
}

int execute_group_snap_rename(const po::variables_map &vm,
Expand Down Expand Up @@ -426,6 +431,12 @@ int execute_group_snap_rename(const po::variables_map &vm,
return -EINVAL;
}

r = utils::validate_snapshot_name(at::ARGUMENT_MODIFIER_DEST, dest_snap_name,
utils::SNAPSHOT_PRESENCE_REQUIRED,
utils::SPEC_VALIDATION_SNAP);
if (r < 0) {
return r;
}
librados::Rados rados;
librados::IoCtx io_ctx;
r = utils::init(pool_name, &rados, &io_ctx);
Expand All @@ -438,7 +449,8 @@ int execute_group_snap_rename(const po::variables_map &vm,
source_snap_name.c_str(), dest_snap_name.c_str());

if (r < 0) {
std::cerr << "rbd: failed to rename snapshot" << std::endl;
std::cerr << "rbd: failed to rename group snapshot: "
<< cpp_strerror(r) << std::endl;
return r;
}

Expand Down

0 comments on commit 0e69d4f

Please sign in to comment.