diff options
author | Raghavendra Bhat <raghavendra@redhat.com> | 2012-06-01 11:09:07 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-06-03 22:07:30 -0700 |
commit | 2ec55e40aee7ba0905b4e1eafbbff07bfbba15a5 (patch) | |
tree | aad82bedde34edd02748d3f8fa0a7e95a6ccfd25 | |
parent | 3dc56cbd16b1074d7ca1a4fe4c5bf44400eb63ff (diff) |
protocol/client: do not ignore the xdata received for some fops
opendir, fsetattr, fsync, lk were sending NULL xdata to the server
even though it (xdata) had values within it.
Change-Id: Ic274ab903c5c1e443409dd250ede80cd85d10b36
BUG: 826923
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.com/3502
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rw-r--r-- | xlators/protocol/client/src/client3_1-fops.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/xlators/protocol/client/src/client3_1-fops.c b/xlators/protocol/client/src/client3_1-fops.c index 7a0c41dd8..266f84a1d 100644 --- a/xlators/protocol/client/src/client3_1-fops.c +++ b/xlators/protocol/client/src/client3_1-fops.c @@ -4180,6 +4180,8 @@ client3_1_fsync (call_frame_t *frame, xlator_t *this, req.data = args->flags; memcpy (req.gfid, args->fd->inode->gfid, 16); + GF_PROTOCOL_DICT_SERIALIZE (this, args->xdata, (&req.xdata.xdata_val), + req.xdata.xdata_len, op_errno, unwind); ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSYNC, client3_1_fsync_cbk, NULL, @@ -4292,6 +4294,9 @@ client3_1_opendir (call_frame_t *frame, xlator_t *this, conf = this->private; + GF_PROTOCOL_DICT_SERIALIZE (this, args->xdata, (&req.xdata.xdata_val), + req.xdata.xdata_len, op_errno, unwind); + ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_OPENDIR, client3_1_opendir_cbk, NULL, NULL, 0, NULL, 0, NULL, @@ -5197,6 +5202,9 @@ client3_1_lk (call_frame_t *frame, xlator_t *this, memcpy (req.gfid, args->fd->inode->gfid, 16); + GF_PROTOCOL_DICT_SERIALIZE (this, args->xdata, (&req.xdata.xdata_val), + req.xdata.xdata_len, op_errno, unwind); + ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_LK, client3_1_lk_cbk, NULL, NULL, 0, NULL, 0, NULL, @@ -5846,6 +5854,9 @@ client3_1_fsetattr (call_frame_t *frame, xlator_t *this, void *data) req.valid = args->valid; gf_stat_from_iatt (&req.stbuf, args->stbuf); + GF_PROTOCOL_DICT_SERIALIZE (this, args->xdata, (&req.xdata.xdata_val), + req.xdata.xdata_len, op_errno, unwind); + ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSETATTR, client3_1_fsetattr_cbk, NULL, |