summaryrefslogtreecommitdiffstats
path: root/cli/src
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src')
-rw-r--r--cli/src/cli-cmd-parser.c16
-rw-r--r--cli/src/cli-cmd-volume.c6
2 files changed, 17 insertions, 5 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c
index b30306b2584..e43a0c6e0ec 100644
--- a/cli/src/cli-cmd-parser.c
+++ b/cli/src/cli-cmd-parser.c
@@ -1588,9 +1588,6 @@ cli_cmd_volume_detach_tier_parse (const char **words, int wordcount,
int32_t command = GF_OP_CMD_NONE;
int force = 0;
- if (!((wordcount == 4) || (wordcount == 5)))
- goto out;
-
dict = dict_new ();
if (!dict)
goto out;
@@ -1599,10 +1596,23 @@ cli_cmd_volume_detach_tier_parse (const char **words, int wordcount,
if (ret)
goto out;
+ if (wordcount == 3 && !strcmp ((char *)words[2], "help")) {
+ return -1;
+ }
+
+ if (!((wordcount == 4) || (wordcount == 5))) {
+ ret = -1;
+ goto out;
+ }
+
if (wordcount == 5) {
word = (char *)words[4];
if (!strcmp(word, "force"))
force = 1;
+ else {
+ ret = -1;
+ goto out;
+ }
}
word = (char *)words[3];
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index b5d5920bebc..f73cb8bc3db 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -920,9 +920,11 @@ cli_cmd_volume_detach_tier_cbk (struct cli_state *state,
goto out;
ret = cli_cmd_volume_detach_tier_parse(words, wordcount, &options);
-
- if (ret)
+ if (ret) {
+ cli_usage_out (word->pattern);
+ parse_error = 1;
goto out;
+ }
ret = dict_set_int32 (options, "force", 1);
if (ret)