diff options
Diffstat (limited to 'cli/src/cli-cmd-volume.c')
| -rw-r--r-- | cli/src/cli-cmd-volume.c | 30 | 
1 files changed, 11 insertions, 19 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 6bea948e968..6ab1515e302 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -731,7 +731,7 @@ cli_cmd_volume_defrag_cbk (struct cli_state *state, struct cli_cmd_word *word,          if (!dict)                  goto out; -        if (!((wordcount == 4) || (wordcount == 5) || (wordcount == 6))) { +        if (!((wordcount == 4) || (wordcount == 5))) {                  cli_usage_out (word->pattern);                  parse_error = 1;                  goto out; @@ -741,7 +741,7 @@ cli_cmd_volume_defrag_cbk (struct cli_state *state, struct cli_cmd_word *word,                  index = 3;          } else {                  if (strcmp (words[3], "fix-layout") && -                    strcmp (words[3], "migrate-data")) { +                    strcmp (words[3], "start")) {                          cli_usage_out (word->pattern);                          parse_error = 1;                          goto out; @@ -750,7 +750,7 @@ cli_cmd_volume_defrag_cbk (struct cli_state *state, struct cli_cmd_word *word,          }  	if (strcmp (words[index], "start") && strcmp (words[index], "stop") && -            strcmp (words[index], "status")) { +            strcmp (words[index], "status") && strcmp (words[index], "force")) {  	        cli_usage_out (word->pattern);  		parse_error = 1;  		goto out; @@ -766,27 +766,19 @@ cli_cmd_volume_defrag_cbk (struct cli_state *state, struct cli_cmd_word *word,                          goto out;          }          if (wordcount == 5) { -                ret = dict_set_str (dict, "start-type", (char *)words[3]); -                if (ret) -                        goto out; -                ret = dict_set_str (dict, "command", (char *)words[4]); -                if (ret) -                        goto out; -        } - -        /* 'force' option is valid only for the 'migrate-data' key */ -        if (wordcount == 6) { -                if (strcmp (words[3], "migrate-data") || -                    strcmp (words[4], "start") || -                    strcmp (words[5], "force")) { +               if ((strcmp (words[3], "fix-layout") || +                    strcmp (words[4], "start")) && +                    (strcmp (words[3], "start") || +                    strcmp (words[4], "force"))) {                          cli_usage_out (word->pattern);                          parse_error = 1;                          goto out;                  } -                ret = dict_set_str (dict, "start-type", "migrate-data-force"); + +                ret = dict_set_str (dict, "option", (char *)words[4]);                  if (ret)                          goto out; -                ret = dict_set_str (dict, "command", (char *)words[4]); +                ret = dict_set_str (dict, "command", (char *)words[3]);                  if (ret)                          goto out;          } @@ -1776,7 +1768,7 @@ struct cli_cmd volume_cmds[] = {            cli_cmd_volume_remove_brick_cbk,            "remove brick from volume <VOLNAME>"}, -        { "volume rebalance <VOLNAME> [fix-layout|migrate-data] {start|stop|status} [force]", +        { "volume rebalance <VOLNAME> [fix-layout] {start|stop|status} [force]",            cli_cmd_volume_defrag_cbk,            "rebalance operations"},  | 
