diff options
Diffstat (limited to 'xlators/protocol/server/src/server-helpers.c')
-rw-r--r-- | xlators/protocol/server/src/server-helpers.c | 7 |
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 12951a798..a4055f1b8 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; |