summaryrefslogtreecommitdiffstats
path: root/cli/src/cli-cmd-volume.c
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src/cli-cmd-volume.c')
-rw-r--r--cli/src/cli-cmd-volume.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index 9e93d4e973c..a790b326e83 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -476,7 +476,7 @@ cli_cmd_volume_defrag_cbk (struct cli_state *state, struct cli_cmd_word *word,
if (!dict)
goto out;
- if (wordcount != 4) {
+ if (!((wordcount == 4) || (wordcount == 5))) {
cli_usage_out (word->pattern);
parse_error = 1;
goto out;
@@ -486,9 +486,19 @@ cli_cmd_volume_defrag_cbk (struct cli_state *state, struct cli_cmd_word *word,
if (ret)
goto out;
- ret = dict_set_str (dict, "command", (char *)words[3]);
- if (ret)
- goto out;
+ if (wordcount == 4) {
+ ret = dict_set_str (dict, "command", (char *)words[3]);
+ if (ret)
+ 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;
+ }
proc = &cli_rpc_prog->proctable[GLUSTER_CLI_DEFRAG_VOLUME];
@@ -962,7 +972,7 @@ struct cli_cmd volume_cmds[] = {
cli_cmd_volume_remove_brick_cbk,
"remove brick from volume <VOLNAME>"},
- { "volume rebalance <VOLNAME> {start|stop|status}",
+ { "volume rebalance <VOLNAME> [fix-layout|migrate-data] {start|stop|status}",
cli_cmd_volume_defrag_cbk,
"rebalance operations"},