diff options
author | Amar Tumballi <amar@gluster.com> | 2012-02-06 17:49:14 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-02-14 01:09:02 -0800 |
commit | 0e6df0100e13123fe38f28c5a090777e894d8f52 (patch) | |
tree | 517c60cc953302172cb51f22f4b7aa52e557c1e9 /rpc/xdr | |
parent | e17ac220e4bff53fb89f5bea636acb61e347cf50 (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')
-rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.c | 4 | ||||
-rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.h | 2 | ||||
-rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.x | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.c b/rpc/xdr/src/glusterfs3-xdr.c index 8cfb42dc8d0..33d1a609847 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 76b28b7491c..0b631e786ae 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 8f8e354a120..89b5d34e517 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 { |