diff options
author | Gaurav Kumar Garg <ggarg@redhat.com> | 2015-03-27 15:20:03 +0530 |
---|---|---|
committer | Kaushal M <kaushal@redhat.com> | 2015-05-07 00:06:23 -0700 |
commit | 07e3f407b311c80e3437b1f650cae62f814d995b (patch) | |
tree | 41094414501c4140098eb20cf1d31abc261e550d /cli/src/cli-rpc-ops.c | |
parent | 84a0baabfb9aa29348d8b17b7517870d46023ab3 (diff) |
glusterd: remove replace brick with data migration support form cli/glusterd
Replace-brick operation with data migration support have been
deprecated from gluster.
With this fix replace brick command will support only one commad
gluster volume replace-brick <VOLNAME> <SOURCE-BRICK> <NEW-BRICK> {commit force}
Change-Id: Ib81d49e5d8e7eaa4ccb5830cfec2bc081191b43b
BUG: 1094119
Signed-off-by: Gaurav Kumar Garg <ggarg@redhat.com>
Reviewed-on: http://review.gluster.org/10101
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
-rw-r--r-- | cli/src/cli-rpc-ops.c | 130 |
1 files changed, 11 insertions, 119 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 5504515fd5e..2b84aa6b060 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -2316,8 +2316,6 @@ out: return ret; } - - int gf_cli_replace_brick_cbk (struct rpc_req *req, struct iovec *iov, int count, void *myframe) @@ -2330,11 +2328,11 @@ gf_cli_replace_brick_cbk (struct rpc_req *req, struct iovec *iov, char *src_brick = NULL; char *dst_brick = NULL; char *status_reply = NULL; - gf1_cli_replace_op replace_op = 0; char *rb_operation_str = NULL; dict_t *rsp_dict = NULL; char msg[1024] = {0,}; char *task_id_str = NULL; + char *replace_op = 0; if (-1 == req->rpc_status) { goto out; @@ -2353,9 +2351,9 @@ gf_cli_replace_brick_cbk (struct rpc_req *req, struct iovec *iov, GF_ASSERT (local); dict = local->dict; - ret = dict_get_int32 (dict, "operation", (int32_t *)&replace_op); + ret = dict_get_str (dict, "operation", &replace_op); if (ret) { - gf_log ("", GF_LOG_DEBUG, + gf_log (frame->this->name, GF_LOG_ERROR, "dict_get on operation failed"); goto out; } @@ -2368,101 +2366,23 @@ gf_cli_replace_brick_cbk (struct rpc_req *req, struct iovec *iov, rsp.dict.dict_len, &rsp_dict); if (ret < 0) { - gf_log ("glusterd", GF_LOG_ERROR, - "failed to " - "unserialize rsp buffer to dictionary"); + gf_log (frame->this->name, GF_LOG_ERROR, "failed to " + "unserialize rsp buffer to dictionary"); goto out; } } - switch (replace_op) { - case GF_REPLACE_OP_START: - if (rsp.op_ret) { - rb_operation_str = gf_strdup ("replace-brick failed to" - " start"); - } else { - ret = dict_get_str (rsp_dict, GF_REPLACE_BRICK_TID_KEY, - &task_id_str); - if (ret) { - gf_log ("cli", GF_LOG_ERROR, "Failed to get " - "\"replace-brick-id\" from dict"); - goto out; - } - ret = gf_asprintf (&rb_operation_str, - "replace-brick started successfully" - "\nID: %s", task_id_str); - if (ret < 0) - goto out; - } - break; - - case GF_REPLACE_OP_STATUS: - - if (rsp.op_ret || ret) { - rb_operation_str = gf_strdup ("replace-brick status " - "unknown"); - } else { - ret = dict_get_str (rsp_dict, "status-reply", - &status_reply); - if (ret) { - gf_log (frame->this->name, GF_LOG_ERROR, "failed to" - "get status"); - goto out; - } - - rb_operation_str = gf_strdup (status_reply); - } - - break; - - case GF_REPLACE_OP_PAUSE: - if (rsp.op_ret) - rb_operation_str = gf_strdup ("replace-brick pause " - "failed"); - else - rb_operation_str = gf_strdup ("replace-brick paused " - "successfully"); - break; - - case GF_REPLACE_OP_ABORT: - if (rsp.op_ret) - rb_operation_str = gf_strdup ("replace-brick abort " - "failed"); - else - rb_operation_str = gf_strdup ("replace-brick aborted " - "successfully"); - 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, - "dict_get on src-brick failed"); - goto out; - } - - ret = dict_get_str (dict, "dst-brick", &dst_brick); - if (ret) { - gf_log ("", GF_LOG_DEBUG, - "dict_get on dst-brick failed"); - goto out; - } - + if (!strcmp(replace_op, "GF_REPLACE_OP_COMMIT_FORCE")) { if (rsp.op_ret || ret) rb_operation_str = gf_strdup ("replace-brick commit " - "failed"); + "force operation failed"); else rb_operation_str = gf_strdup ("replace-brick commit " + "force operation " "successful"); - - break; - - default: - gf_log ("", GF_LOG_DEBUG, - "Unknown operation"); - break; + } else { + gf_log (frame->this->name, GF_LOG_DEBUG, "Unknown operation"); } if (rsp.op_ret && (strcmp (rsp.op_errstr, ""))) { @@ -6928,35 +6848,7 @@ cli_print_volume_status_tasks (dict_t *dict) snprintf (task, sizeof (task), "task%d", i); - /* - Replace brick only has two states - In progress and Complete - Ref: xlators/mgmt/glusterd/src/glusterd-replace-brick.c - */ - - if (!strcmp (op, "Replace brick")) { - if (status) - status = GF_DEFRAG_STATUS_COMPLETE; - else - status = GF_DEFRAG_STATUS_STARTED; - - memset (key, 0, sizeof (key)); - snprintf (key, sizeof (key), "%s.src-brick", task); - ret = dict_get_str (dict, key, &src_brick); - if (ret) - goto out; - - cli_out ("%-20s : %-20s", "Source Brick", src_brick); - - memset (key, 0, sizeof (key)); - snprintf (key, sizeof (key), "%s.dst-brick", task); - ret = dict_get_str (dict, key, &dest_brick); - if (ret) - goto out; - - cli_out ("%-20s : %-20s", "Destination Brick", - dest_brick); - - } else if (!strcmp (op, "Remove brick")) { + if (!strcmp (op, "Remove brick")) { memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "%s.count", task); ret = dict_get_int32 (dict, key, &count); |