From 2ec55e40aee7ba0905b4e1eafbbff07bfbba15a5 Mon Sep 17 00:00:00 2001 From: Raghavendra Bhat Date: Fri, 1 Jun 2012 11:09:07 +0530 Subject: 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 Reviewed-on: http://review.gluster.com/3502 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Anand Avati --- xlators/protocol/client/src/client3_1-fops.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'xlators/protocol/client/src') 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, -- cgit