From: songweibin Date: Wed, 31 Jan 2018 08:56:35 +0000 (+0800) Subject: librbd: group misc cleanup X-Git-Tag: v13.0.2~372^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F20199%2Fhead;p=ceph.git librbd: group misc cleanup * Add some error message when returning a negative error code. * Validate dest name when renaming a group snap. Signed-off-by: songweibin --- diff --git a/src/librbd/api/Group.cc b/src/librbd/api/Group.cc index f5f90bfd5729..4f4756205152 100644 --- a/src/librbd/api/Group.cc +++ b/src/librbd/api/Group.cc @@ -731,7 +731,7 @@ int Group::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); diff --git a/src/tools/rbd/action/Group.cc b/src/tools/rbd/action/Group.cc index 88badde20640..4cecce6c6442 100644 --- a/src/tools/rbd/action/Group.cc +++ b/src/tools/rbd/action/Group.cc @@ -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, @@ -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); @@ -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; }