summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaghavendra Bhat <raghavendra@redhat.com>2012-06-01 11:09:07 +0530
committerAnand Avati <avati@redhat.com>2012-06-03 22:07:30 -0700
commit2ec55e40aee7ba0905b4e1eafbbff07bfbba15a5 (patch)
treeaad82bedde34edd02748d3f8fa0a7e95a6ccfd25
parent3dc56cbd16b1074d7ca1a4fe4c5bf44400eb63ff (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.c11
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 7a0c41dd8ce..266f84a1dfb 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,