From 3213a4e013e6f4a67772daa329761f42fea881f0 Mon Sep 17 00:00:00 2001 From: Kaushal M Date: Thu, 10 May 2012 16:11:17 +0530 Subject: glusterd,cli: Enable errstr for peer detach This patch adds an op_errstr member to the gf1_cli_deprobe_rsp structure to enable return of an errstr to cli. Change-Id: I0cbb6805b05d7cc0603c13d1c1550bb2bd062a7a BUG: 816840 Signed-off-by: Kaushal M Reviewed-on: http://review.gluster.com/3307 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Anand Avati --- xlators/mgmt/glusterd/src/glusterd-handler.c | 6 ++++-- xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 2 +- xlators/mgmt/glusterd/src/glusterd-sm.c | 1 + xlators/mgmt/glusterd/src/glusterd.h | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) (limited to 'xlators/mgmt') diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 0950161532a..cc8e2d0eea1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -783,7 +783,7 @@ glusterd_handle_cli_deprobe (rpcsvc_request_t *req) cli_req.port, (ret) ? "FAILED" : "SUCCESS"); out: if (ret) { - ret = glusterd_xfer_cli_deprobe_resp (req, ret, op_errno, + ret = glusterd_xfer_cli_deprobe_resp (req, ret, op_errno, NULL, cli_req.hostname); } @@ -2398,7 +2398,8 @@ glusterd_xfer_cli_probe_resp (rpcsvc_request_t *req, int32_t op_ret, int glusterd_xfer_cli_deprobe_resp (rpcsvc_request_t *req, int32_t op_ret, - int32_t op_errno, char *hostname) + int32_t op_errno, char *op_errstr, + char *hostname) { gf1_cli_deprobe_rsp rsp = {0, }; int32_t ret = -1; @@ -2407,6 +2408,7 @@ glusterd_xfer_cli_deprobe_resp (rpcsvc_request_t *req, int32_t op_ret, rsp.op_ret = op_ret; rsp.op_errno = op_errno; + rsp.op_errstr = op_errstr ? op_errstr : ""; rsp.hostname = hostname; ret = glusterd_submit_reply (req, &rsp, NULL, 0, NULL, diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c index 75778929820..2f9b99b976a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c @@ -465,7 +465,7 @@ inject: respond: - ret = glusterd_xfer_cli_deprobe_resp (ctx->req, op_ret, op_errno, + ret = glusterd_xfer_cli_deprobe_resp (ctx->req, op_ret, op_errno, NULL, ctx->hostname); if (!ret && move_sm_now) { glusterd_friend_sm (); diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c index 72af8c05b57..dec1bd2d205 100644 --- a/xlators/mgmt/glusterd/src/glusterd-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-sm.c @@ -415,6 +415,7 @@ glusterd_ac_send_friend_remove_req (glusterd_friend_sm_event_t *event, if (ctx) ret = glusterd_xfer_cli_deprobe_resp (ctx->req, ret, 0, + NULL, ctx->hostname); glusterd_friend_sm (); glusterd_op_sm (); diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index ac9b5d03ddd..11259a498ef 100644 --- a/xlators/mgmt/glusterd/src/glusterd.h +++ b/xlators/mgmt/glusterd/src/glusterd.h @@ -532,7 +532,8 @@ glusterd_handle_fsm_log (rpcsvc_request_t *req); int glusterd_xfer_cli_deprobe_resp (rpcsvc_request_t *req, int32_t op_ret, - int32_t op_errno, char *hostname); + int32_t op_errno, char *op_errstr, + char *hostname); int glusterd_fetchspec_notify (xlator_t *this); -- cgit