diff options
author | Kaushal M <kaushal@redhat.com> | 2012-05-10 16:11:17 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-05-18 19:45:47 -0700 |
commit | 3213a4e013e6f4a67772daa329761f42fea881f0 (patch) | |
tree | f965dcd1061ec695d298d63ebafa8564474b180e /cli/src/cli-rpc-ops.c | |
parent | feb99ca3081f838faf9fd9cebfabab8d4c9d015c (diff) |
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 <kaushal@redhat.com>
Reviewed-on: http://review.gluster.com/3307
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
-rw-r--r-- | cli/src/cli-rpc-ops.c | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 48c1b9718..e54d4d219 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -224,35 +224,43 @@ gf_cli3_1_deprobe_cbk (struct rpc_req *req, struct iovec *iov, gf_log ("cli", GF_LOG_INFO, "Received resp to deprobe"); if (rsp.op_ret) { - switch (rsp.op_errno) { - case GF_DEPROBE_LOCALHOST: - snprintf (msg, sizeof (msg), - "%s is localhost", rsp.hostname); - break; - case GF_DEPROBE_NOT_FRIEND: - snprintf (msg, sizeof (msg), - "%s is not part of cluster", - rsp.hostname); - break; - case GF_DEPROBE_BRICK_EXIST: - snprintf (msg, sizeof (msg), - "Brick(s) with the peer %s exist in " - "cluster", rsp.hostname); - break; - case GF_DEPROBE_FRIEND_DOWN: - snprintf (msg, sizeof (msg), - "One of the peers is probably down." - " Check with 'peer status'."); - break; - default: - snprintf (msg, sizeof (msg), - "Detach unsuccessful\nDetach returned" - " with unknown errno %d", - rsp.op_errno); - break; + if (strlen (rsp.op_errstr) > 0) { + snprintf (msg, sizeof (msg), "%s", rsp.op_errstr); + gf_log ("cli", GF_LOG_ERROR, "%s", rsp.op_errstr); + } else { + switch (rsp.op_errno) { + case GF_DEPROBE_LOCALHOST: + snprintf (msg, sizeof (msg), + "%s is localhost", + rsp.hostname); + break; + case GF_DEPROBE_NOT_FRIEND: + snprintf (msg, sizeof (msg), + "%s is not part of cluster", + rsp.hostname); + break; + case GF_DEPROBE_BRICK_EXIST: + snprintf (msg, sizeof (msg), + "Brick(s) with the peer %s " + "exist in cluster", + rsp.hostname); + break; + case GF_DEPROBE_FRIEND_DOWN: + snprintf (msg, sizeof (msg), + "One of the peers is probably" + " down. Check with 'peer " + "status'."); + break; + default: + snprintf (msg, sizeof (msg), + "Detach unsuccessful\nDetach" + " returned with unknown " + "errno %d", rsp.op_errno); + break; + } + gf_log ("cli", GF_LOG_ERROR,"Detach failed with op_ret " + "%d and op_errno %d", rsp.op_ret, rsp.op_errno); } - gf_log ("glusterd",GF_LOG_ERROR,"Detach failed with op_ret %d" - " and op_errno %d", rsp.op_ret, rsp.op_errno); } else { snprintf (msg, sizeof (msg), "Detach successful"); } |