From f84c710e93ab48dceabd3824f5286ed3edd9b60d Mon Sep 17 00:00:00 2001 From: Krutika Dhananjay Date: Fri, 20 Sep 2013 11:37:51 +0530 Subject: glusterd: Set errstr appropriately on peer op failure Change-Id: I27f5f7cd54115d7b236b42f6beaaa05a8b379dd7 BUG: 1010153 Signed-off-by: Krutika Dhananjay Reviewed-on: http://review.gluster.org/5978 Reviewed-by: Harshavardhana Reviewed-by: Amar Tumballi Tested-by: Gluster Build System --- xlators/mgmt/glusterd/src/glusterd-handler.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'xlators/mgmt/glusterd/src') diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index afc223669..93c6959f1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -3059,9 +3059,13 @@ glusterd_xfer_friend_add_resp (rpcsvc_request_t *req, char *myhostname, } static void -get_probe_error_str (int op_ret, int op_errno, char *errstr, size_t len, - char *hostname, int port) +set_probe_error_str (int op_ret, int op_errno, char *op_errstr, char *errstr, + size_t len, char *hostname, int port) { + if ((op_errstr) && (strcmp (op_errstr, ""))) { + snprintf (errstr, len, "%s", op_errstr); + return; + } if (!op_ret) { switch (op_errno) { @@ -3141,11 +3145,8 @@ glusterd_xfer_cli_probe_resp (rpcsvc_request_t *req, int32_t op_ret, GF_ASSERT (req); GF_ASSERT (this); - if (op_errstr == NULL) - (void) get_probe_error_str (op_ret, op_errno, errstr, - sizeof (errstr), hostname, port); - else - snprintf (errstr, sizeof (errstr), "%s", op_errstr); + (void) set_probe_error_str (op_ret, op_errno, op_errstr, errstr, + sizeof (errstr), hostname, port); if (dict) { ret = dict_get_str (dict, "cmd-str", &cmd_str); @@ -3174,9 +3175,14 @@ glusterd_xfer_cli_probe_resp (rpcsvc_request_t *req, int32_t op_ret, } static void -get_deprobe_error_str (int op_ret, int op_errno, char *errstr, size_t len, - char *hostname) +set_deprobe_error_str (int op_ret, int op_errno, char *op_errstr, char *errstr, + size_t len, char *hostname) { + if ((op_errstr) && (strcmp (op_errstr, ""))) { + snprintf (errstr, len, "%s", op_errstr); + return; + } + if (op_ret) { switch (op_errno) { case GF_DEPROBE_LOCALHOST: @@ -3228,8 +3234,8 @@ glusterd_xfer_cli_deprobe_resp (rpcsvc_request_t *req, int32_t op_ret, GF_ASSERT (req); - (void) get_deprobe_error_str (op_ret, op_errno, errstr, sizeof (errstr), - hostname); + (void) set_deprobe_error_str (op_ret, op_errno, op_errstr, errstr, + sizeof (errstr), hostname); if (dict) { ret = dict_get_str (dict, "cmd-str", &cmd_str); -- cgit