summaryrefslogtreecommitdiffstats
path: root/rpc/xdr/src
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2012-02-06 17:49:14 +0530
committerAnand Avati <avati@redhat.com>2012-02-14 01:09:02 -0800
commit0e6df0100e13123fe38f28c5a090777e894d8f52 (patch)
tree517c60cc953302172cb51f22f4b7aa52e557c1e9 /rpc/xdr/src
parente17ac220e4bff53fb89f5bea636acb61e347cf50 (diff)
core: add an extra flag to readv()/writev() API
needed to implement a proper handling of open flag alterations using fcntl() on fd. Change-Id: Ic280d5db6f1dc0418d5c439abb8db1d3ac21ced0 Signed-off-by: Amar Tumballi <amar@gluster.com> BUG: 782265 Reviewed-on: http://review.gluster.com/2723 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'rpc/xdr/src')
-rw-r--r--rpc/xdr/src/glusterfs3-xdr.c4
-rw-r--r--rpc/xdr/src/glusterfs3-xdr.h2
-rw-r--r--rpc/xdr/src/glusterfs3-xdr.x2
3 files changed, 8 insertions, 0 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.c b/rpc/xdr/src/glusterfs3-xdr.c
index 8cfb42dc8..33d1a6098 100644
--- a/rpc/xdr/src/glusterfs3-xdr.c
+++ b/rpc/xdr/src/glusterfs3-xdr.c
@@ -687,6 +687,8 @@ xdr_gfs3_read_req (XDR *xdrs, gfs3_read_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->size))
return FALSE;
+ if (!xdr_u_int (xdrs, &objp->flag))
+ return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
return FALSE;
return TRUE;
@@ -769,6 +771,8 @@ xdr_gfs3_write_req (XDR *xdrs, gfs3_write_req *objp)
return FALSE;
if (!xdr_u_int (xdrs, &objp->size))
return FALSE;
+ if (!xdr_u_int (xdrs, &objp->flag))
+ return FALSE;
if (!xdr_bytes (xdrs, (char **)&objp->xdata.xdata_val, (u_int *) &objp->xdata.xdata_len, ~0))
return FALSE;
return TRUE;
diff --git a/rpc/xdr/src/glusterfs3-xdr.h b/rpc/xdr/src/glusterfs3-xdr.h
index 76b28b749..0b631e786 100644
--- a/rpc/xdr/src/glusterfs3-xdr.h
+++ b/rpc/xdr/src/glusterfs3-xdr.h
@@ -376,6 +376,7 @@ struct gfs3_read_req {
quad_t fd;
u_quad_t offset;
u_int size;
+ u_int flag;
struct {
u_int xdata_len;
char *xdata_val;
@@ -433,6 +434,7 @@ struct gfs3_write_req {
quad_t fd;
u_quad_t offset;
u_int size;
+ u_int flag;
struct {
u_int xdata_len;
char *xdata_val;
diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x
index 8f8e354a1..89b5d34e5 100644
--- a/rpc/xdr/src/glusterfs3-xdr.x
+++ b/rpc/xdr/src/glusterfs3-xdr.x
@@ -230,6 +230,7 @@ struct gfs3_readlink_req {
hyper fd;
unsigned hyper offset;
unsigned int size;
+ unsigned int flag;
opaque xdata<>; /* Extra data */
};
struct gfs3_read_rsp {
@@ -265,6 +266,7 @@ struct gfs3_lookup_req {
hyper fd;
unsigned hyper offset;
unsigned int size;
+ unsigned int flag;
opaque xdata<>; /* Extra data */
};
struct gfs3_write_rsp {