From dc1113c4a02b1b1186bf37e09685631891d85537 Mon Sep 17 00:00:00 2001 From: Pavan Sondur Date: Mon, 4 Oct 2010 12:15:34 +0000 Subject: cli: mgmt/glusterd: Add commit force op to replace-brick Signed-off-by: Pavan Vilas Sondur Signed-off-by: Vijay Bellur BUG: 1235 (Bug for all pump/migrate commits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235 --- cli/src/cli-cmd-parser.c | 21 +++++++++++++++++++-- cli/src/cli3_1-cops.c | 1 + 2 files changed, 20 insertions(+), 2 deletions(-) (limited to 'cli') diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index a6f9cf915..d01e4f711 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -822,8 +822,7 @@ cli_cmd_volume_replace_brick_parse (const char **words, int wordcount, goto out; op_index = 5; - if ((wordcount < (op_index + 1)) || - (wordcount > (op_index + 1))) { + if ((wordcount < (op_index + 1))) { ret = -1; goto out; } @@ -842,6 +841,21 @@ cli_cmd_volume_replace_brick_parse (const char **words, int wordcount, replace_op = GF_REPLACE_OP_STATUS; } + /* commit force option */ + op_index = 6; + + if (wordcount > (op_index + 1)) { + ret = -1; + goto out; + } + + if (wordcount == (op_index + 1)) { + op = (char *) words[op_index]; + if (!strcasecmp ("force", op)) { + replace_op = GF_REPLACE_OP_COMMIT_FORCE; + } + } + if (replace_op == GF_REPLACE_OP_NONE) { ret = -1; goto out; @@ -852,6 +866,9 @@ cli_cmd_volume_replace_brick_parse (const char **words, int wordcount, if (ret) goto out; + + + *options = dict; out: diff --git a/cli/src/cli3_1-cops.c b/cli/src/cli3_1-cops.c index 2933edffb..a4a3304cd 100644 --- a/cli/src/cli3_1-cops.c +++ b/cli/src/cli3_1-cops.c @@ -1007,6 +1007,7 @@ gf_cli3_1_replace_brick_cbk (struct rpc_req *req, struct iovec *iov, break; case GF_REPLACE_OP_COMMIT: + case GF_REPLACE_OP_COMMIT_FORCE: ret = dict_get_str (dict, "src-brick", &src_brick); if (ret) { gf_log ("", GF_LOG_DEBUG, -- cgit