diff --git a/src/test/cli/rbd/help.t b/src/test/cli/rbd/help.t index 3d89f0bd5484f..fcc3cd9126b7d 100644 --- a/src/test/cli/rbd/help.t +++ b/src/test/cli/rbd/help.t @@ -929,20 +929,23 @@ rbd help group snap create usage: rbd group snap create [--pool ] [--namespace ] [--group ] [--snap ] + [--skip-quiesce] [--ignore-quiesce-error] Make a snapshot of a group. Positional arguments - group specification - (example: - [/[/]]@) + group specification + (example: + [/[/]]@) 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 ] [--pretty-format] diff --git a/src/tools/rbd/action/Group.cc b/src/tools/rbd/action/Group.cc index 1f48824ad7e6f..e4d49bdac73c7 100644 --- a/src/tools/rbd/action/Group.cc +++ b/src/tools/rbd/action/Group.cc @@ -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"; @@ -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; @@ -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; } @@ -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,