From 0e6df0100e13123fe38f28c5a090777e894d8f52 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Mon, 6 Feb 2012 17:49:14 +0530 Subject: 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 BUG: 782265 Reviewed-on: http://review.gluster.com/2723 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- rpc/xdr/src/glusterfs3-xdr.c | 4 ++++ rpc/xdr/src/glusterfs3-xdr.h | 2 ++ rpc/xdr/src/glusterfs3-xdr.x | 2 ++ 3 files changed, 8 insertions(+) (limited to 'rpc') 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 { -- cgit