summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
Diffstat (limited to 'xlators')
-rw-r--r--xlators/protocol/client/src/client-rpc-fops.c9
-rw-r--r--xlators/protocol/server/src/server-rpc-fops.c4
-rw-r--r--xlators/protocol/server/src/server.h2
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;