Skip to content

Commit

Permalink
rbd: destination pool should be source pool if it is not specified
Browse files Browse the repository at this point in the history
Currently if user perform image rename operation and user give pool
name as a optional parameter (--pool=<pool_name>) then currently
its taking this optional pool name for source pool and making
destination pool name default pool name.
With this fix if user provide pool name as a optional pool name
parameter then it  will consider both soruce and destination pool
name as optional parameter pool name.

Fixes: http://tracker.ceph.com/issues/18326

Reported-by: МАРК КОРЕНБЕРГ <socketpair@gmail.com>
Signed-off-by: Gaurav Kumar Garg <garg.gaurav52@gmail.com>
(cherry picked from commit 01f23aa)
  • Loading branch information
gaurav36 authored and smithfarm committed Mar 26, 2017
1 parent 98a87fa commit 85b5817
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
3 changes: 2 additions & 1 deletion qa/workunits/rbd/copy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ test_rename() {
rbd create -p rbd2 -s 1 foo
rbd rename rbd2/foo rbd2/bar
rbd -p rbd2 ls | grep bar
! rbd rename rbd2/bar foo
rbd rename rbd2/bar foo
rbd rename --pool rbd2 foo bar
! rbd rename rbd2/bar --dest-pool rbd foo
rbd rename --pool rbd2 bar --dest-pool rbd2 foo
rbd -p rbd2 ls | grep foo
Expand Down
2 changes: 1 addition & 1 deletion src/tools/rbd/action/Rename.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ int execute(const po::variables_map &vm) {
return r;
}

std::string dst_pool_name;
std::string dst_image_name;
std::string dst_snap_name;
std::string dst_pool_name = pool_name;
r = utils::get_pool_image_snapshot_names(
vm, at::ARGUMENT_MODIFIER_DEST, &arg_index, &dst_pool_name, &dst_image_name,
&dst_snap_name, utils::SNAPSHOT_PRESENCE_NONE, utils::SPEC_VALIDATION_FULL);
Expand Down

0 comments on commit 85b5817

Please sign in to comment.