cli: Better message on rebalance/remove-brick stop

A better message is displayed when rebalance or remove-brick is stopped,
as migration may be still in progress.

Change-Id: I5f301cc66f349a1a85245f7d7508bf746756bdea
BUG: 923529
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/4695
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
This commit is contained in:
Kaushal M 2013-03-20 10:52:08 +05:30 committed by Anand Avati
parent 7645411f13
commit 78bf67f6d1

View File

@ -1235,8 +1235,12 @@ gf_cli_defrag_volume_cbk (struct rpc_req *req, struct iovec *iov,
goto done;
} else {
snprintf (msg, sizeof (msg),
"Stopped rebalance process on volume %s \n",
volname);
"rebalance process may be in the middle of a "
"file migration.\nThe process will be fully "
"stopped once the migration of the file is "
"complete.\nPlease check rebalance process "
"for completion before doing any further "
"brick related tasks on the volume.");
}
}
if (cmd == GF_DEFRAG_CMD_STATUS) {
@ -1652,6 +1656,11 @@ gf_cli3_remove_brick_status_cbk (struct rpc_req *req, struct iovec *iov,
uint64_t failures = 0;
double elapsed = 0;
char *size_str = NULL;
int32_t command = 0;
gf1_op_commands cmd = GF_OP_CMD_NONE;
cli_local_t *local = NULL;
call_frame_t *frame = NULL;
char *cmd_str = "unknown";
if (-1 == req->rpc_status) {
goto out;
@ -1664,14 +1673,33 @@ gf_cli3_remove_brick_status_cbk (struct rpc_req *req, struct iovec *iov,
goto out;
}
frame = myframe;
if (frame)
local = frame->local;
ret = dict_get_int32 (local->dict, "command", &command);
if (ret)
goto out;
cmd = command;
switch (cmd) {
case GF_OP_CMD_STOP:
cmd_str = "stop";
break;
case GF_OP_CMD_STATUS:
cmd_str = "status";
break;
default:
break;
}
ret = rsp.op_ret;
if (rsp.op_ret == -1) {
if (strcmp (rsp.op_errstr, ""))
snprintf (msg, sizeof (msg), "volume remove-brick: "
"failed: %s", rsp.op_errstr);
snprintf (msg, sizeof (msg), "volume remove-brick %s: "
"failed: %s", cmd_str, rsp.op_errstr);
else
snprintf (msg, sizeof (msg), "volume remove-brick: "
"failed: status getting failed");
snprintf (msg, sizeof (msg), "volume remove-brick %s: "
"failed", cmd_str);
if (global_state->mode & GLUSTER_MODE_XML)
goto xml_output;
@ -1805,6 +1833,15 @@ xml_output:
i++;
} while (i <= counter);
if ((cmd == GF_OP_CMD_STOP) && (rsp.op_ret == 0)) {
cli_out ("'remove-brick' process may be in the middle of a "
"file migration.\nThe process will be fully stopped "
"once the migration of the file is complete.\nPlease "
"check remove-brick process for completion before "
"doing any further brick related tasks on the "
"volume.");
}
out:
free (rsp.dict.dict_val); //malloced by xdr
if (dict)