From 47e7549826b55905e7f298717fedf0e8f220940a Mon Sep 17 00:00:00 2001 From: songweibin Date: Tue, 1 Aug 2017 19:48:04 +0800 Subject: [PATCH] rbd: '--pretty-format' should return error if '--format' not used Signed-off-by: songweibin --- src/test/cli/rbd/help.t | 36 +++++++++++++++++----------------- src/tools/rbd/ArgumentTypes.cc | 2 +- src/tools/rbd/Utils.cc | 4 ++++ 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/test/cli/rbd/help.t b/src/test/cli/rbd/help.t index 7c38ae6025505..25f2b03dd72f6 100644 --- a/src/test/cli/rbd/help.t +++ b/src/test/cli/rbd/help.t @@ -143,7 +143,7 @@ -p [ --pool ] arg pool name --image arg image name --snap arg snapshot name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help clone @@ -303,7 +303,7 @@ --snap arg snapshot name --from-snap arg snapshot starting point --whole-object compare whole object - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help disk-usage @@ -322,7 +322,7 @@ -p [ --pool ] arg pool name --image arg image name --snap arg snapshot name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) --from-snap arg snapshot starting point @@ -473,7 +473,7 @@ (example: [/]) Optional arguments - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) -p [ --pool ] arg pool name --group arg group name @@ -507,7 +507,7 @@ Optional arguments -p [ --pool ] arg pool name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help group remove @@ -553,7 +553,7 @@ Optional arguments -p [ --pool ] arg pool name --image arg image name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help image-meta remove @@ -675,7 +675,7 @@ --image arg image name --snap arg snapshot name --image-id arg image id - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help journal client disconnect @@ -754,7 +754,7 @@ -p [ --pool ] arg pool name --image arg image name --journal arg journal name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help journal inspect @@ -806,7 +806,7 @@ -p [ --pool ] arg pool name --image arg image name --journal arg journal name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help list @@ -821,7 +821,7 @@ Optional arguments -l [ --long ] long listing format -p [ --pool ] arg pool name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help lock add @@ -854,7 +854,7 @@ Optional arguments -p [ --pool ] arg pool name --image arg image name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help lock remove @@ -993,7 +993,7 @@ Optional arguments -p [ --pool ] arg pool name --image arg image name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help mirror pool demote @@ -1045,7 +1045,7 @@ Optional arguments -p [ --pool ] arg pool name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help mirror pool peer add @@ -1119,7 +1119,7 @@ Optional arguments -p [ --pool ] arg pool name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) --verbose be verbose @@ -1265,7 +1265,7 @@ Show the rbd images mapped by the kernel. Optional arguments - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help snap create @@ -1327,7 +1327,7 @@ -p [ --pool ] arg pool name --image arg image name --image-id arg image id - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help snap protect @@ -1451,7 +1451,7 @@ Optional arguments -p [ --pool ] arg pool name --image arg image name - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help trash list @@ -1468,7 +1468,7 @@ -p [ --pool ] arg pool name -a [ --all ] list images from all sources -l [ --long ] long listing format - --format arg output format [plain, json, or xml] + --format arg output format (plain, json, or xml) [default: plain] --pretty-format pretty formatting (json and xml) rbd help trash move diff --git a/src/tools/rbd/ArgumentTypes.cc b/src/tools/rbd/ArgumentTypes.cc index c6c9264fd06a1..42b42a6fb37a9 100644 --- a/src/tools/rbd/ArgumentTypes.cc +++ b/src/tools/rbd/ArgumentTypes.cc @@ -332,7 +332,7 @@ void add_no_progress_option(boost::program_options::options_description *opt) { void add_format_options(boost::program_options::options_description *opt) { opt->add_options() - (FORMAT.c_str(), po::value(), "output format [plain, json, or xml]") + (FORMAT.c_str(), po::value(), "output format (plain, json, or xml) [default: plain]") (PRETTY_FORMAT.c_str(), po::bool_switch(), "pretty formatting (json and xml)"); } diff --git a/src/tools/rbd/Utils.cc b/src/tools/rbd/Utils.cc index db248e34a1b72..ccb850e876aba 100644 --- a/src/tools/rbd/Utils.cc +++ b/src/tools/rbd/Utils.cc @@ -832,6 +832,10 @@ int get_formatter(const po::variables_map &vm, << "is json or xml" << std::endl; return -EINVAL; } + } else if (vm[at::PRETTY_FORMAT].as()) { + std::cerr << "rbd: --pretty-format only works when --format " + << "is json or xml" << std::endl; + return -EINVAL; } return 0; } -- 2.39.5