diff options
author | Krishnan P <kp@gluster.com> | 2011-06-16 01:27:42 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-06-16 09:15:11 -0700 |
commit | 4e6f6408b0e177dcdc0b19561bbaab6b7e26c23a (patch) | |
tree | 207d865a5982040efb70c3dba137bb571f082f62 | |
parent | 87508c1edc7b8f4a88b2506ac642e878b1f2ac16 (diff) |
glusterd: do_operation_abort and then kill dst_brick.
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 3033 (Changes to replace-brick and syntask interface.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3033
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index 2eb88d723..a80214921 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -3977,13 +3977,24 @@ glusterd_op_replace_brick (dict_t *dict, dict_t *rsp_dict) case GF_REPLACE_OP_ABORT: { + ctx = glusterd_op_get_ctx (GD_OP_REPLACE_BRICK); + if (ctx) { + ret = rb_do_operation_abort (volinfo, src_brickinfo, dst_brickinfo); + if (ret) { + gf_log (THIS->name, GF_LOG_ERROR, + "Abort operation failed"); + goto out; + } + } + ret = dict_set_int32 (volinfo->dict, "enable-pump", 0); if (ret) { - gf_log ("", GF_LOG_CRITICAL, "Unable to disable pump"); + gf_log (THIS->name, GF_LOG_CRITICAL, "Unable to disable pump"); } + if (!glusterd_is_local_addr (dst_brickinfo->hostname)) { - gf_log ("", GF_LOG_INFO, + gf_log (THIS->name, GF_LOG_INFO, "I AM THE DESTINATION HOST"); ret = rb_kill_destination_brick (volinfo, dst_brickinfo); if (ret) { @@ -3992,16 +4003,6 @@ glusterd_op_replace_brick (dict_t *dict, dict_t *rsp_dict) goto out; } } - - ctx = glusterd_op_get_ctx (GD_OP_REPLACE_BRICK); - if (ctx) { - ret = rb_do_operation_abort (volinfo, src_brickinfo, dst_brickinfo); - if (ret) { - gf_log ("", GF_LOG_ERROR, - "Abort operation failed"); - goto out; - } - } glusterd_set_rb_status (volinfo, GF_RB_STATUS_NONE); glusterd_brickinfo_delete (volinfo->dst_brick); volinfo->src_brick = volinfo->dst_brick = NULL; |