diff options
| author | Amar Tumballi <amar@gluster.com> | 2012-01-17 05:57:24 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2012-01-25 02:24:20 -0800 | 
| commit | d7ecaaa1ed0f88869812ea17cb64a102a74c8c1c (patch) | |
| tree | 4293106362bf9dec2e6260a4062239a9b7340cc0 /rpc/xdr | |
| parent | 6c54022f1b1c7f5f458f6a7e783203d11e7f89b5 (diff) | |
core: add 'fremovexattr()' fop
so operations can be done on fd for extended attribute removal
Change-Id: Ie026f1b53793aeb4ae33e96ea5408c7a97f34bf6
Signed-off-by: Amar Tumballi <amar@gluster.com>
BUG: 766571
Reviewed-on: http://review.gluster.com/778
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
Diffstat (limited to 'rpc/xdr')
| -rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.c | 15 | ||||
| -rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.h | 9 | ||||
| -rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.x | 6 | 
3 files changed, 30 insertions, 0 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.c b/rpc/xdr/src/glusterfs3-xdr.c index fc3237872b5..a0c6f0b0edd 100644 --- a/rpc/xdr/src/glusterfs3-xdr.c +++ b/rpc/xdr/src/glusterfs3-xdr.c @@ -1064,6 +1064,21 @@ xdr_gfs3_removexattr_req (XDR *xdrs, gfs3_removexattr_req *objp)  }  bool_t +xdr_gfs3_fremovexattr_req (XDR *xdrs, gfs3_fremovexattr_req *objp) +{ +	register int32_t *buf; +        buf = NULL; + +	 if (!xdr_opaque (xdrs, objp->gfid, 16)) +		 return FALSE; +	 if (!xdr_quad_t (xdrs, &objp->fd)) +		 return FALSE; +	 if (!xdr_string (xdrs, &objp->name, ~0)) +		 return FALSE; +	return TRUE; +} + +bool_t  xdr_gfs3_opendir_req (XDR *xdrs, gfs3_opendir_req *objp)  {  	register int32_t *buf; diff --git a/rpc/xdr/src/glusterfs3-xdr.h b/rpc/xdr/src/glusterfs3-xdr.h index 4955b423e13..156608ff314 100644 --- a/rpc/xdr/src/glusterfs3-xdr.h +++ b/rpc/xdr/src/glusterfs3-xdr.h @@ -517,6 +517,13 @@ struct gfs3_removexattr_req {  };  typedef struct gfs3_removexattr_req gfs3_removexattr_req; +struct gfs3_fremovexattr_req { +	char gfid[16]; +	quad_t fd; +	char *name; +}; +typedef struct gfs3_fremovexattr_req gfs3_fremovexattr_req; +  struct gfs3_opendir_req {  	char gfid[16];  	char *path; @@ -850,6 +857,7 @@ extern  bool_t xdr_gfs3_getxattr_rsp (XDR *, gfs3_getxattr_rsp*);  extern  bool_t xdr_gfs3_fgetxattr_req (XDR *, gfs3_fgetxattr_req*);  extern  bool_t xdr_gfs3_fgetxattr_rsp (XDR *, gfs3_fgetxattr_rsp*);  extern  bool_t xdr_gfs3_removexattr_req (XDR *, gfs3_removexattr_req*); +extern  bool_t xdr_gfs3_fremovexattr_req (XDR *, gfs3_fremovexattr_req*);  extern  bool_t xdr_gfs3_opendir_req (XDR *, gfs3_opendir_req*);  extern  bool_t xdr_gfs3_opendir_rsp (XDR *, gfs3_opendir_rsp*);  extern  bool_t xdr_gfs3_fsyncdir_req (XDR *, gfs3_fsyncdir_req*); @@ -937,6 +945,7 @@ extern bool_t xdr_gfs3_getxattr_rsp ();  extern bool_t xdr_gfs3_fgetxattr_req ();  extern bool_t xdr_gfs3_fgetxattr_rsp ();  extern bool_t xdr_gfs3_removexattr_req (); +extern bool_t xdr_gfs3_fremovexattr_req ();  extern bool_t xdr_gfs3_opendir_req ();  extern bool_t xdr_gfs3_opendir_rsp ();  extern bool_t xdr_gfs3_fsyncdir_req (); diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x index 69dc7068240..88a621034d5 100644 --- a/rpc/xdr/src/glusterfs3-xdr.x +++ b/rpc/xdr/src/glusterfs3-xdr.x @@ -388,6 +388,12 @@ struct   gfs3_finodelk_req {  	string     name<>;  }  ; + struct gfs3_fremovexattr_req { +        opaque gfid[16]; +        hyper  fd; +	string     name<>; +}  ; +   struct gfs3_opendir_req {  | 
