summaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
authorPavan Sondur <pavan@gluster.com>2010-08-30 16:05:16 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-08-30 22:47:29 -0700
commit1a1052461546576092f2f3b90c1f0f66817b18c2 (patch)
tree1bef06380ebcbf6409592549142ae56bc1383514 /cli
parent80d091411f6d4b9bc6bd5f19c921bdb295611b5d (diff)
mgmt/glusterd: Return replace-brick status
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1322 (Replace brick should show status of paused and abort states) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1322
Diffstat (limited to 'cli')
-rw-r--r--cli/src/cli3_1-cops.c44
1 files changed, 34 insertions, 10 deletions
diff --git a/cli/src/cli3_1-cops.c b/cli/src/cli3_1-cops.c
index 728c79095..d07df994e 100644
--- a/cli/src/cli3_1-cops.c
+++ b/cli/src/cli3_1-cops.c
@@ -713,6 +713,7 @@ gf_cli3_1_replace_brick_cbk (struct rpc_req *req, struct iovec *iov,
dict_t *dict = NULL;
char *src_brick = NULL;
char *dst_brick = NULL;
+ char *status_reply = NULL;
gf1_cli_replace_op replace_op = 0;
char *rb_operation_str = NULL;
char cmd_str[8192] = {0,};
@@ -742,24 +743,44 @@ gf_cli3_1_replace_brick_cbk (struct rpc_req *req, struct iovec *iov,
switch (replace_op) {
case GF_REPLACE_OP_START:
- rb_operation_str = "Replace brick start operation";
+ if (rsp.op_ret)
+ rb_operation_str = "replace-brick failed to start";
+ else
+ rb_operation_str = "replace-brick started successfully";
break;
case GF_REPLACE_OP_STATUS:
- rb_operation_str = "Replace brick status operation";
+
+ ret = dict_get_str (dict, "status-reply",
+ &status_reply);
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "dict_get failed on status reply");
+ goto out;
+ }
+
+ if (rsp.op_ret || ret)
+ rb_operation_str = "replace-brick status unknown";
+ else
+ rb_operation_str = status_reply;
+
break;
case GF_REPLACE_OP_PAUSE:
- rb_operation_str = "Replace brick pause operation";
+ if (rsp.op_ret)
+ rb_operation_str = "replace-brick pause failed";
+ else
+ rb_operation_str = "replace-brick paused successfully";
break;
case GF_REPLACE_OP_ABORT:
- rb_operation_str = "Replace brick abort operation";
+ if (rsp.op_ret)
+ rb_operation_str = "replace-brick abort failed";
+ else
+ rb_operation_str = "replace-brick aborted successfully";
break;
case GF_REPLACE_OP_COMMIT:
- rb_operation_str = "Replace brick commit operation";
-
ret = dict_get_str (dict, "src-brick", &src_brick);
if (ret) {
gf_log ("", GF_LOG_DEBUG,
@@ -804,6 +825,11 @@ gf_cli3_1_replace_brick_cbk (struct rpc_req *req, struct iovec *iov,
goto out;
}
+ if (rsp.op_ret || ret)
+ rb_operation_str = "replace-brick commit failed";
+ else
+ rb_operation_str = "replace-brick commit successful";
+
break;
default:
@@ -814,10 +840,8 @@ gf_cli3_1_replace_brick_cbk (struct rpc_req *req, struct iovec *iov,
gf_log ("cli", GF_LOG_NORMAL, "Received resp to replace brick");
- cli_out ("%s %s",
- rb_operation_str ? rb_operation_str : "Unknown operation",
- (rsp.op_ret) ? "unsuccessful":
- "successful");
+ cli_out ("%s",
+ rb_operation_str ? rb_operation_str : "Unknown operation");
ret = rsp.op_ret;