diff options
author | Amar Tumballi <amarts@redhat.com> | 2017-10-10 17:13:25 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2017-11-07 07:53:55 +0000 |
commit | e4240431b033d1f0c351d3d874c248126ca6cadc (patch) | |
tree | d83c1dcb42fb8c6f7bd903422e8c351394124d52 /rpc | |
parent | 56aef68530b3bab27730aa62e4fbc513d3dba65f (diff) |
rpc: bring a new protocol version
* xdr: add gfid to on wire format for fsetattr/rchecksum
* as it is change in on wire XDR format, needed backward
compatible RPC programs.
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 827334
Change-Id: Id0a2da3632516dc1a5560dde2b151b2e5f0be8e5
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/rpc-lib/src/protocol-common.h | 2 | ||||
-rw-r--r-- | rpc/xdr/gen/Makefile.am | 2 | ||||
-rw-r--r-- | rpc/xdr/src/Makefile.am | 2 | ||||
-rw-r--r-- | rpc/xdr/src/glusterfs3.h | 1 | ||||
-rw-r--r-- | rpc/xdr/src/glusterfs4-xdr.x | 33 |
5 files changed, 38 insertions, 2 deletions
diff --git a/rpc/rpc-lib/src/protocol-common.h b/rpc/rpc-lib/src/protocol-common.h index 80e1f6bc254..d4b64e16796 100644 --- a/rpc/rpc-lib/src/protocol-common.h +++ b/rpc/rpc-lib/src/protocol-common.h @@ -332,6 +332,8 @@ typedef enum gf_get_snapshot_info_type gf_get_snapshot_info_type; #define GLUSTER_FOP_VERSION 330 /* 3.3.0 */ #define GLUSTER_FOP_PROCCNT GFS3_OP_MAXVALUE +#define GLUSTER_FOP_VERSION_v2 400 /* 4.0.0 */ + /* Aggregator */ #define GLUSTER_AGGREGATOR_PROGRAM 29852134 /* Completely random */ #define GLUSTER_AGGREGATOR_VERSION 1 diff --git a/rpc/xdr/gen/Makefile.am b/rpc/xdr/gen/Makefile.am index b1c8e9333d6..c253e38275d 100644 --- a/rpc/xdr/gen/Makefile.am +++ b/rpc/xdr/gen/Makefile.am @@ -1,4 +1,4 @@ -XDRGENFILES = glusterfs3-xdr.x cli1-xdr.x nlm4-xdr.x nsm-xdr.x \ +XDRGENFILES = glusterfs3-xdr.x glusterfs4-xdr.x cli1-xdr.x nlm4-xdr.x nsm-xdr.x \ rpc-common-xdr.x glusterd1-xdr.x acl3-xdr.x portmap-xdr.x \ mount3udp.x changelog-xdr.x glusterfs-fops.x XDRHEADERS = $(XDRGENFILES:.x=.h) diff --git a/rpc/xdr/src/Makefile.am b/rpc/xdr/src/Makefile.am index 77f545646d6..abf8ada9777 100644 --- a/rpc/xdr/src/Makefile.am +++ b/rpc/xdr/src/Makefile.am @@ -1,4 +1,4 @@ -XDRGENFILES = glusterfs3-xdr.x cli1-xdr.x nlm4-xdr.x nsm-xdr.x \ +XDRGENFILES = glusterfs3-xdr.x glusterfs4-xdr.x cli1-xdr.x nlm4-xdr.x nsm-xdr.x \ rpc-common-xdr.x glusterd1-xdr.x acl3-xdr.x portmap-xdr.x \ mount3udp.x changelog-xdr.x glusterfs-fops.x XDRHEADERS = $(XDRGENFILES:.x=.h) diff --git a/rpc/xdr/src/glusterfs3.h b/rpc/xdr/src/glusterfs3.h index 3ca608467b9..0aa1ae80bf3 100644 --- a/rpc/xdr/src/glusterfs3.h +++ b/rpc/xdr/src/glusterfs3.h @@ -15,6 +15,7 @@ #include "xdr-generic.h" #include "glusterfs3-xdr.h" +#include "glusterfs4-xdr.h" #include "iatt.h" #include "protocol-common.h" #include "upcall-utils.h" diff --git a/rpc/xdr/src/glusterfs4-xdr.x b/rpc/xdr/src/glusterfs4-xdr.x new file mode 100644 index 00000000000..6d0c500096b --- /dev/null +++ b/rpc/xdr/src/glusterfs4-xdr.x @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. <http://www.redhat.com> + * This file is part of GlusterFS. + * + * This file is licensed to you under your choice of the GNU Lesser + * General Public License, version 3 or any later version (LGPLv3 or + * later), or the GNU General Public License, version 2 (GPLv2), in all + * cases as published by the Free Software Foundation. + */ + +#ifdef RPC_XDR +%#include "rpc-pragmas.h" +#endif +%#include "compat.h" +%#include "rpc-common-xdr.h" +%#include "glusterfs-fops.h" +%#include "glusterfs3-xdr.h" + + struct gfs3_fsetattr_req_v2 { + opaque gfid[16]; + hyper fd; + struct gf_iatt stbuf; + int valid; + opaque xdata<>; /* Extra data */ +} ; + + struct gfs3_rchecksum_req_v2 { + opaque gfid[16]; + hyper fd; + unsigned hyper offset; + unsigned int len; + opaque xdata<>; /* Extra data */ +} ; |