diff options
Diffstat (limited to 'cli/src')
| -rw-r--r-- | cli/src/cli-cmd-parser.c | 20 | ||||
| -rw-r--r-- | cli/src/cli-cmd-volume.c | 2 | 
2 files changed, 17 insertions, 5 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index c476638ba77..a0219a04ad7 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -342,6 +342,9 @@ cli_cmd_volume_reset_parse (const char **words, int wordcount, dict_t **options)          if (wordcount < 3)                  goto out; +        if (wordcount > 4) +                goto out; +          volname = (char *)words[2];          if (!volname) { @@ -350,17 +353,26 @@ cli_cmd_volume_reset_parse (const char **words, int wordcount, dict_t **options)          }          ret = dict_set_str (dict, "volname", volname); -          if (ret)                  goto out; +        if (wordcount == 4) { +                if (strcmp ("force", (char*)words[3])) { +                        ret = -1; +                        goto out; +                } else { +                        ret = dict_set_int32 (dict, "force", 1); +                        if (ret) +                                goto out; +                } +        } +          *options = dict;  out: -                if (ret) { -        if (dict) +        if (ret && dict) {                  dict_destroy (dict); -                } +        }                  return ret;  } diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index f2e32363842..1735c387346 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -1160,7 +1160,7 @@ struct cli_cmd volume_cmds[] = {            cli_cmd_sync_volume_cbk,           "sync the volume information from a peer"}, -         { "volume reset <VOLNAME> ", +         { "volume reset <VOLNAME> [force]",           cli_cmd_volume_reset_cbk,           "reset all the reconfigured options"},  | 
