Skip to content

Commit

Permalink
rbd: make "group snap create" support quiesce options
Browse files Browse the repository at this point in the history
Signed-off-by: Mykola Golub <[email protected]>
  • Loading branch information
trociny committed Dec 10, 2020
1 parent bb34123 commit 437b768
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
17 changes: 10 additions & 7 deletions src/test/cli/rbd/help.t
Original file line number Diff line number Diff line change
Expand Up @@ -929,20 +929,23 @@
rbd help group snap create
usage: rbd group snap create [--pool <pool>] [--namespace <namespace>]
[--group <group>] [--snap <snap>]
[--skip-quiesce] [--ignore-quiesce-error]
<group-snap-spec>

Make a snapshot of a group.

Positional arguments
<group-snap-spec> group specification
(example:
[<pool-name>/[<namespace>/]]<group-name>@<snap-name>)
<group-snap-spec> group specification
(example:
[<pool-name>/[<namespace>/]]<group-name>@<snap-name>)

Optional arguments
-p [ --pool ] arg pool name
--namespace arg namespace name
--group arg group name
--snap arg snapshot name
-p [ --pool ] arg pool name
--namespace arg namespace name
--group arg group name
--snap arg snapshot name
--skip-quiesce do not run quiesce hooks
--ignore-quiesce-error ignore quiesce hook error

rbd help group snap list
usage: rbd group snap list [--format <format>] [--pretty-format]
Expand Down
14 changes: 11 additions & 3 deletions src/tools/rbd/action/Group.cc
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void add_group_option(po::options_description *opt,
}

void add_prefixed_pool_option(po::options_description *opt,
const std::string &prefix) {
const std::string &prefix) {
std::string name = prefix + "-" + at::POOL_NAME;
std::string description = prefix + " pool name";

Expand Down Expand Up @@ -505,6 +505,12 @@ int execute_group_snap_create(const po::variables_map &vm,
return r;
}

uint32_t flags;
r = utils::get_snap_create_flags(vm, &flags);
if (r < 0) {
return r;
}

librados::IoCtx io_ctx;
librados::Rados rados;

Expand All @@ -514,7 +520,8 @@ int execute_group_snap_create(const po::variables_map &vm,
}

librbd::RBD rbd;
r = rbd.group_snap_create(io_ctx, group_name.c_str(), snap_name.c_str());
r = rbd.group_snap_create2(io_ctx, group_name.c_str(), snap_name.c_str(),
flags);
if (r < 0) {
return r;
}
Expand Down Expand Up @@ -821,9 +828,10 @@ void get_list_images_arguments(po::options_description *positional,
}

void get_group_snap_create_arguments(po::options_description *positional,
po::options_description *options) {
po::options_description *options) {
add_group_spec_options(positional, options, at::ARGUMENT_MODIFIER_NONE,
true);
at::add_snap_create_options(options);
}

void get_group_snap_remove_arguments(po::options_description *positional,
Expand Down

0 comments on commit 437b768

Please sign in to comment.