diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2016-09-13 05:57:32 -0400 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2016-09-15 08:43:08 -0700 |
commit | 36748550398f5e4a0bcdc603ac70a62453e86979 (patch) | |
tree | 46dd4c3739a459ecbbbca132757b7525ce48f6c5 /xlators/protocol/client | |
parent | 957e40060734f1a0b2d9e3d37c4b0f7961f56b51 (diff) |
protocol/client: fix op_errno handling, was unused variable
see comment in patch set one. Match the general logic flow of the
other fop-cbks and eliminate the unused variable and its associated
warning
also see comment in patch set seven, re: correct handling of
client_process_response(); and the associated BZ
https://bugzilla.redhat.com/show_bug.cgi?id=1376328
http://review.gluster.org/14085 fixes a "pragma leak" where the
generated rpc/xdr headers have a pair of pragmas that disable these
warnings. With the warnings disabled, many unused variables have
crept into the code base.
And 14085 won't pass its own smoke test until all these warnings are
fixed.
BUG: 1369124
Change-Id: I7421ba3550770acc5564b7d6aba3290e027591f2
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/15482
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/protocol/client')
-rw-r--r-- | xlators/protocol/client/src/client-rpc-fops.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/xlators/protocol/client/src/client-rpc-fops.c b/xlators/protocol/client/src/client-rpc-fops.c index ec900a6700d..b47d2268391 100644 --- a/xlators/protocol/client/src/client-rpc-fops.c +++ b/xlators/protocol/client/src/client-rpc-fops.c @@ -3153,7 +3153,6 @@ client3_3_compound_cbk (struct rpc_req *req, struct iovec *iov, int count, xlator_t *this = NULL; dict_t *xdata = NULL; clnt_local_t *local = NULL; - int op_errno = 0; int i,length = 0; int ret = -1; @@ -3163,7 +3162,8 @@ client3_3_compound_cbk (struct rpc_req *req, struct iovec *iov, int count, local = frame->local; if (-1 == req->rpc_status) { - op_errno = ENOTCONN; + rsp.op_ret = -1; + rsp.op_errno = ENOTCONN; goto out; } @@ -3171,7 +3171,8 @@ client3_3_compound_cbk (struct rpc_req *req, struct iovec *iov, int count, if (ret < 0) { gf_msg (this->name, GF_LOG_ERROR, EINVAL, PC_MSG_XDR_DECODING_FAILED, "XDR decoding failed"); - op_errno = EINVAL; + rsp.op_ret = -1; + rsp.op_errno = EINVAL; goto out; } @@ -3183,21 +3184,31 @@ client3_3_compound_cbk (struct rpc_req *req, struct iovec *iov, int count, args_cbk = compound_args_cbk_alloc (length, xdata); if (!args_cbk) { - op_errno = ENOMEM; + rsp.op_ret = -1; + rsp.op_errno = ENOMEM; goto out; } + /* TODO: see https://bugzilla.redhat.com/show_bug.cgi?id=1376328 */ for (i = 0; i < args_cbk->fop_length; i++) { ret = client_process_response (frame, this, req, &rsp, args_cbk, i); if (ret) { - op_errno = -ret; + rsp.op_ret = -1; + rsp.op_errno = -ret; goto out; } } rsp.op_ret = 0; out: + if (rsp.op_ret == -1) { + gf_msg (this->name, GF_LOG_WARNING, + gf_error_to_errno (rsp.op_errno), + PC_MSG_REMOTE_OP_FAILED, + "remote operation failed"); + } + CLIENT_STACK_UNWIND (compound, frame, rsp.op_ret, gf_error_to_errno (rsp.op_errno), args_cbk, xdata); |