diff options
Diffstat (limited to 'cli/src')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 16 | ||||
-rw-r--r-- | cli/src/cli-cmd-volume.c | 6 |
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) |