diff options
author | Poornima G <pgurusid@redhat.com> | 2019-03-24 09:40:50 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2019-03-29 02:21:05 +0000 |
commit | 6ae36418834ddcd9f68fe7ef9b09b077cdf68ca3 (patch) | |
tree | bce05387829f7fb768c564f1a688821b1eace1ad /xlators/protocol/client/src/client-helpers.c | |
parent | 108e4f3481225f98c12f7c283e1ef0388863cf8b (diff) |
client-rpc: Fix the payload being sent on the wire
The fops allocate 3 kind of payload(buffer) in the client xlator:
- fop payload, this is the buffer allocated by the write and put fop
- rsphdr paylod, this is the buffer required by the reply cbk of
some fops like lookup, readdir.
- rsp_paylod, this is the buffer required by the reply cbk of fops like
readv etc.
Currently, in the lookup and readdir fop the rsphdr is sent as payload,
hence the allocated rsphdr buffer is also sent on the wire, increasing
the bandwidth consumption on the wire.
With this patch, the issue is fixed.
Fixes: bz#1692093
Change-Id: Ie8158921f4db319e60ad5f52d851fa5c9d4a269b
Signed-off-by: Poornima G <pgurusid@redhat.com>
Diffstat (limited to 'xlators/protocol/client/src/client-helpers.c')
-rw-r--r-- | xlators/protocol/client/src/client-helpers.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/xlators/protocol/client/src/client-helpers.c b/xlators/protocol/client/src/client-helpers.c index 55e87b3c370..24f0cfa6137 100644 --- a/xlators/protocol/client/src/client-helpers.c +++ b/xlators/protocol/client/src/client-helpers.c @@ -3076,8 +3076,7 @@ send_release4_0_over_wire(xlator_t *this, clnt_fd_ctx_t *fdctx, gf_msg_trace(this->name, 0, "sending releasedir on fd"); (void)client_submit_request( this, &req, fr, conf->fops, GFS3_OP_RELEASEDIR, - client4_0_releasedir_cbk, NULL, NULL, 0, NULL, 0, NULL, - (xdrproc_t)xdr_gfx_releasedir_req); + client4_0_releasedir_cbk, NULL, (xdrproc_t)xdr_gfx_releasedir_req); } else { gfx_release_req req = { { @@ -3088,8 +3087,8 @@ send_release4_0_over_wire(xlator_t *this, clnt_fd_ctx_t *fdctx, req.fd = fdctx->remote_fd; gf_msg_trace(this->name, 0, "sending release on fd"); (void)client_submit_request(this, &req, fr, conf->fops, GFS3_OP_RELEASE, - client4_0_release_cbk, NULL, NULL, 0, NULL, - 0, NULL, (xdrproc_t)xdr_gfx_release_req); + client4_0_release_cbk, NULL, + (xdrproc_t)xdr_gfx_release_req); } return 0; @@ -3112,8 +3111,7 @@ send_release3_3_over_wire(xlator_t *this, clnt_fd_ctx_t *fdctx, gf_msg_trace(this->name, 0, "sending releasedir on fd"); (void)client_submit_request( this, &req, fr, conf->fops, GFS3_OP_RELEASEDIR, - client3_3_releasedir_cbk, NULL, NULL, 0, NULL, 0, NULL, - (xdrproc_t)xdr_gfs3_releasedir_req); + client3_3_releasedir_cbk, NULL, (xdrproc_t)xdr_gfs3_releasedir_req); } else { gfs3_release_req req = { { @@ -3124,8 +3122,8 @@ send_release3_3_over_wire(xlator_t *this, clnt_fd_ctx_t *fdctx, req.fd = fdctx->remote_fd; gf_msg_trace(this->name, 0, "sending release on fd"); (void)client_submit_request(this, &req, fr, conf->fops, GFS3_OP_RELEASE, - client3_3_release_cbk, NULL, NULL, 0, NULL, - 0, NULL, (xdrproc_t)xdr_gfs3_release_req); + client3_3_release_cbk, NULL, + (xdrproc_t)xdr_gfs3_release_req); } return 0; |