diff options
Diffstat (limited to 'xlators/protocol')
-rw-r--r-- | xlators/protocol/client/src/client-rpc-fops.c | 9 | ||||
-rw-r--r-- | xlators/protocol/server/src/server-rpc-fops.c | 4 | ||||
-rw-r--r-- | xlators/protocol/server/src/server.h | 2 |
3 files changed, 8 insertions, 7 deletions
diff --git a/xlators/protocol/client/src/client-rpc-fops.c b/xlators/protocol/client/src/client-rpc-fops.c index b47d2268391..2d1b9540df4 100644 --- a/xlators/protocol/client/src/client-rpc-fops.c +++ b/xlators/protocol/client/src/client-rpc-fops.c @@ -3153,7 +3153,8 @@ 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 i,length = 0; + int i = 0; + int length = 0; int ret = -1; this = THIS; @@ -3176,12 +3177,12 @@ client3_3_compound_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } + length = local->length; + GF_PROTOCOL_DICT_UNSERIALIZE (this, xdata, (rsp.xdata.xdata_val), (rsp.xdata.xdata_len), rsp.op_ret, rsp.op_errno, out); - length = local->length; - args_cbk = compound_args_cbk_alloc (length, xdata); if (!args_cbk) { rsp.op_ret = -1; @@ -3214,7 +3215,7 @@ out: free (rsp.xdata.xdata_val); - client_compound_rsp_cleanup (&rsp, local->length); + client_compound_rsp_cleanup (&rsp, length); if (xdata) dict_unref (xdata); diff --git a/xlators/protocol/server/src/server-rpc-fops.c b/xlators/protocol/server/src/server-rpc-fops.c index 43061b03c56..25f575d3c6a 100644 --- a/xlators/protocol/server/src/server-rpc-fops.c +++ b/xlators/protocol/server/src/server-rpc-fops.c @@ -3324,7 +3324,7 @@ server_compound_resume (call_frame_t *frame, xlator_t *bound_xl) goto err; } - req = state->req; + req = &state->req; length = req->compound_req_array.compound_req_array_len; state->args = compound_fop_alloc (length, req->compound_fop_enum, @@ -6725,7 +6725,7 @@ server3_3_compound (rpcsvc_request_t *req) goto out; } - state->req = &args; + state->req = args; state->iobref = iobref_ref (req->iobref); if (len < req->msg[0].iov_len) { diff --git a/xlators/protocol/server/src/server.h b/xlators/protocol/server/src/server.h index c87dbe67b12..0b37eb1414a 100644 --- a/xlators/protocol/server/src/server.h +++ b/xlators/protocol/server/src/server.h @@ -191,7 +191,7 @@ struct _server_state { struct gf_lease lease; lock_migration_info_t locklist; /* required for compound fops */ - gfs3_compound_req *req; + gfs3_compound_req req; /* last length till which iovec for compound * writes was processed */ int write_length; |