Skip to content

Commit

Permalink
rbd: pass ArgumentModifier to add_snap_id_option()
Browse files Browse the repository at this point in the history
Make ARGUMENT_MODIFIER_DEST synonymous to ARGUMENT_MODIFIER_NONE as
there is no use case for a destination snap ID for now.

Signed-off-by: Ilya Dryomov <[email protected]>
  • Loading branch information
idryomov committed Jun 13, 2024
1 parent 4467065 commit aa1f598
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 9 deletions.
16 changes: 14 additions & 2 deletions src/tools/rbd/ArgumentTypes.cc
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,21 @@ void add_snap_option(po::options_description *opt,
(name.c_str(), po::value<std::string>(), description.c_str());
}

void add_snap_id_option(po::options_description *opt) {
void add_snap_id_option(po::options_description *opt,
ArgumentModifier modifier) {
std::string name = SNAPSHOT_ID;
std::string description = "snapshot id";
switch (modifier) {
case ARGUMENT_MODIFIER_NONE:
case ARGUMENT_MODIFIER_DEST:
break;
case ARGUMENT_MODIFIER_SOURCE:
description = "source " + description;
break;
}

opt->add_options()
(SNAPSHOT_ID.c_str(), po::value<uint64_t>(), "snapshot id");
(name.c_str(), po::value<uint64_t>(), description.c_str());
}

void add_pool_options(boost::program_options::options_description *pos,
Expand Down
3 changes: 2 additions & 1 deletion src/tools/rbd/ArgumentTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,8 @@ void add_image_id_option(boost::program_options::options_description *opt,

void add_snap_option(boost::program_options::options_description *opt,
ArgumentModifier modifier);
void add_snap_id_option(boost::program_options::options_description *opt);
void add_snap_id_option(boost::program_options::options_description *opt,
ArgumentModifier modifier);

void add_pool_options(boost::program_options::options_description *pos,
boost::program_options::options_description *opt,
Expand Down
2 changes: 1 addition & 1 deletion src/tools/rbd/action/Children.cc
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ void get_arguments(po::options_description *positional,
at::add_image_or_snap_spec_options(positional, options,
at::ARGUMENT_MODIFIER_NONE);
at::add_image_id_option(options);
at::add_snap_id_option(options);
at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
options->add_options()
("all,a", po::bool_switch(), "list all children (include trash)");
options->add_options()
Expand Down
8 changes: 4 additions & 4 deletions src/tools/rbd/action/Device.cc
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ void get_map_arguments(po::options_description *positional,
("exclusive", po::bool_switch(), "disable automatic exclusive lock transitions")
("quiesce", po::bool_switch(), "use quiesce hooks")
("quiesce-hook", po::value<std::string>(), "quiesce hook path");
at::add_snap_id_option(options);
at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}

Expand All @@ -215,7 +215,7 @@ void get_unmap_arguments(po::options_description *positional,
at::add_namespace_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_image_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_snap_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_snap_id_option(options);
at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}

Expand All @@ -238,7 +238,7 @@ void get_attach_arguments(po::options_description *positional,
("exclusive", po::bool_switch(), "disable automatic exclusive lock transitions")
("quiesce", po::bool_switch(), "use quiesce hooks")
("quiesce-hook", po::value<std::string>(), "quiesce hook path");
at::add_snap_id_option(options);
at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}

Expand All @@ -258,7 +258,7 @@ void get_detach_arguments(po::options_description *positional,
at::add_namespace_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_image_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_snap_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_snap_id_option(options);
at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}

Expand Down
2 changes: 1 addition & 1 deletion src/tools/rbd/action/Snap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ void get_remove_arguments(po::options_description *positional,
po::options_description *options) {
at::add_snap_spec_options(positional, options, at::ARGUMENT_MODIFIER_NONE);
at::add_image_id_option(options);
at::add_snap_id_option(options);
at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_no_progress_option(options);

options->add_options()
Expand Down

0 comments on commit aa1f598

Please sign in to comment.