summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/server/src/server-helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/protocol/server/src/server-helpers.c')
-rw-r--r--xlators/protocol/server/src/server-helpers.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/xlators/protocol/server/src/server-helpers.c b/xlators/protocol/server/src/server-helpers.c
index 12951a7..a4055f1 100644
--- a/xlators/protocol/server/src/server-helpers.c
+++ b/xlators/protocol/server/src/server-helpers.c
@@ -964,7 +964,7 @@ gf_barrier_transmit (server_conf_t *conf, gf_barrier_payload_t *payload)
if (client)
lk_heal = ((server_conf_t *) client->this->private)->lk_heal;
- ret = rpcsvc_submit_generic (payload->req, payload->rsp, 1,
+ ret = rpcsvc_submit_generic (payload->req, &payload->rsp, 1,
payload->payload, payload->payload_count,
payload->iobref);
iobuf_unref (payload->iob);
@@ -1240,6 +1240,9 @@ gf_barrier_payload (rpcsvc_request_t *req, struct iovec *rsp,
{
gf_barrier_payload_t *payload = NULL;
+ if (!rsp)
+ return NULL;
+
payload = GF_CALLOC (1, sizeof (*payload),1);
if (!payload)
return NULL;
@@ -1247,7 +1250,7 @@ gf_barrier_payload (rpcsvc_request_t *req, struct iovec *rsp,
INIT_LIST_HEAD (&payload->list);
payload->req = req;
- payload->rsp = rsp;
+ memcpy (&payload->rsp, rsp, sizeof (struct iovec));
payload->frame = frame;
payload->payload = payload_orig;
payload->payload_count = payloadcount;