diff options
| author | Anuradha Talur <atalur@redhat.com> | 2016-02-01 11:12:00 +0530 | 
|---|---|---|
| committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-04-29 18:24:03 -0700 | 
| commit | 87de08fdb404492ee090a15fe75aedc17a5ac0b8 (patch) | |
| tree | 802dfc5fa7877f26e6de4ecc966151cb34dc403e | |
| parent | 84c8cc9c5936a2a7539f343c180f06312c8f6d39 (diff) | |
rpc: added structures to support compound fops
Change-Id: Ida81e7b3145fb09afa37353244ff8721a4dc4c6a
BUG: 1303829
Signed-off-by: Anuradha Talur <atalur@redhat.com>
[ndevos: move definitions around to align with changes for bug 1328502]
Reviewed-on: http://review.gluster.org/13331
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: soumya k <skoduri@redhat.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
| -rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.x | 119 | 
1 files changed, 119 insertions, 0 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x index 2240a460399..87194e07ac9 100644 --- a/rpc/xdr/src/glusterfs3-xdr.x +++ b/rpc/xdr/src/glusterfs3-xdr.x @@ -16,6 +16,7 @@ struct gf_statfs {  	u_quad_t namemax;  }; +  struct gf_proto_flock {  	unsigned int   type;  	unsigned int   whence; @@ -817,3 +818,121 @@ struct gf_getsnap_name_uuid_rsp {          string op_errstr<>;          opaque dict<>;  }; + +union compound_req switch (glusterfs_fop_t fop_enum) { +        case GF_FOP_STAT:         gfs3_stat_req compound_stat_req; +        case GF_FOP_READLINK:     gfs3_readlink_req compound_readlink_req; +        case GF_FOP_MKNOD:        gfs3_mknod_req compound_mknod_req; +        case GF_FOP_MKDIR:        gfs3_mkdir_req compound_mkdir_req; +        case GF_FOP_UNLINK:       gfs3_unlink_req compound_unlink_req; +        case GF_FOP_RMDIR:        gfs3_rmdir_req compound_rmdir_req; +        case GF_FOP_SYMLINK:      gfs3_symlink_req compound_symlink_req; +        case GF_FOP_RENAME:       gfs3_rename_req compound_rename_req; +        case GF_FOP_LINK:         gfs3_link_req compound_link_req; +        case GF_FOP_TRUNCATE:     gfs3_truncate_req compound_truncate_req; +        case GF_FOP_OPEN:         gfs3_open_req compound_open_req; +        case GF_FOP_READ:         gfs3_read_req compound_read_req; +        case GF_FOP_WRITE:        gfs3_write_req compound_write_req; +        case GF_FOP_STATFS:       gfs3_statfs_req compound_statfs_req; +        case GF_FOP_FLUSH:        gfs3_flush_req compound_flush_req; +        case GF_FOP_FSYNC:        gfs3_fsync_req compound_fsync_req; +        case GF_FOP_GETXATTR:     gfs3_getxattr_req compound_getxattr_req; +        case GF_FOP_SETXATTR:     gfs3_setxattr_req compound_setxattr_req; +        case GF_FOP_REMOVEXATTR:  gfs3_removexattr_req compound_removexattr_req; +        case GF_FOP_OPENDIR:      gfs3_opendir_req compound_opendir_req; +        case GF_FOP_FSYNCDIR:     gfs3_fsyncdir_req compound_fsyncdir_req; +        case GF_FOP_ACCESS:       gfs3_access_req compound_access_req; +        case GF_FOP_CREATE:       gfs3_create_req compound_create_req; +        case GF_FOP_FTRUNCATE:    gfs3_ftruncate_req compound_ftruncate_req; +        case GF_FOP_FSTAT:        gfs3_fstat_req compound_fstat_req; +        case GF_FOP_LK:           gfs3_lk_req compound_lk_req; +        case GF_FOP_LOOKUP:       gfs3_lookup_req compound_lookup_req; +        case GF_FOP_READDIR:      gfs3_readdir_req compound_readdir_req; +        case GF_FOP_INODELK:      gfs3_inodelk_req compound_inodelk_req; +        case GF_FOP_FINODELK:     gfs3_finodelk_req compound_finodelk_req; +        case GF_FOP_ENTRYLK:      gfs3_entrylk_req compound_entrylk_req; +        case GF_FOP_FENTRYLK:     gfs3_fentrylk_req compound_fentrylk_req; +        case GF_FOP_XATTROP:      gfs3_xattrop_req compound_xattrop_req; +        case GF_FOP_FXATTROP:     gfs3_fxattrop_req compound_fxattrop_req; +        case GF_FOP_FGETXATTR:    gfs3_fgetxattr_req compound_fgetxattr_req; +        case GF_FOP_FSETXATTR:    gfs3_fsetxattr_req compound_fsetxattr_req; +        case GF_FOP_RCHECKSUM:    gfs3_rchecksum_req compound_rchecksum_req; +        case GF_FOP_SETATTR:      gfs3_setattr_req compound_setattr_req; +        case GF_FOP_FSETATTR:     gfs3_fsetattr_req compound_fsetattr_req; +        case GF_FOP_READDIRP:     gfs3_readdirp_req compound_readdirp_req; +        case GF_FOP_RELEASE:      gfs3_release_req compound_release_req; +        case GF_FOP_RELEASEDIR:   gfs3_releasedir_req compound_releasedir_req; +        case GF_FOP_FREMOVEXATTR: gfs3_fremovexattr_req compound_fremovexattr_req; +        case GF_FOP_FALLOCATE:    gfs3_fallocate_req compound_fallocate_req; +        case GF_FOP_DISCARD:      gfs3_discard_req compound_discard_req; +        case GF_FOP_ZEROFILL:     gfs3_zerofill_req compound_zerofill_req; +        case GF_FOP_IPC:          gfs3_ipc_req compound_ipc_req; +        case GF_FOP_SEEK:         gfs3_seek_req compound_seek_req; +        default:                  void; +}; + +struct gfs3_compound_req { +        int                       compound_version; +        glusterfs_compound_fop_t  compound_fop_enum; +        compound_req              compound_req_array<>; +        opaque                    xdata<>; +}; + +union compound_rsp switch (glusterfs_fop_t fop_enum) { +        case GF_FOP_STAT:         gfs3_stat_rsp compound_stat_rsp; +        case GF_FOP_READLINK:     gfs3_readlink_rsp compound_readlink_rsp; +        case GF_FOP_MKNOD:        gfs3_mknod_rsp compound_mknod_rsp; +        case GF_FOP_MKDIR:        gfs3_mkdir_rsp compound_mkdir_rsp; +        case GF_FOP_UNLINK:       gfs3_unlink_rsp compound_unlink_rsp; +        case GF_FOP_RMDIR:        gfs3_rmdir_rsp compound_rmdir_rsp; +        case GF_FOP_SYMLINK:      gfs3_symlink_rsp compound_symlink_rsp; +        case GF_FOP_RENAME:       gfs3_rename_rsp compound_rename_rsp; +        case GF_FOP_LINK:         gfs3_link_rsp compound_link_rsp; +        case GF_FOP_TRUNCATE:     gfs3_truncate_rsp compound_truncate_rsp; +        case GF_FOP_OPEN:         gfs3_open_rsp compound_open_rsp; +        case GF_FOP_READ:         gfs3_read_rsp compound_read_rsp; +        case GF_FOP_WRITE:        gfs3_write_rsp compound_write_rsp; +        case GF_FOP_STATFS:       gfs3_statfs_rsp compound_statfs_rsp; +        case GF_FOP_FLUSH:        gf_common_rsp compound_flush_rsp; +        case GF_FOP_FSYNC:        gfs3_fsync_rsp compound_fsync_rsp; +        case GF_FOP_GETXATTR:     gfs3_getxattr_rsp compound_getxattr_rsp; +        case GF_FOP_SETXATTR:     gf_common_rsp compound_setxattr_rsp; +        case GF_FOP_REMOVEXATTR:  gf_common_rsp compound_removexattr_rsp; +        case GF_FOP_OPENDIR:      gfs3_opendir_rsp compound_opendir_rsp; +        case GF_FOP_FSYNCDIR:     gf_common_rsp compound_fsyncdir_rsp; +        case GF_FOP_ACCESS:       gf_common_rsp compound_access_rsp; +        case GF_FOP_CREATE:       gfs3_create_rsp compound_create_rsp; +        case GF_FOP_FTRUNCATE:    gfs3_ftruncate_rsp compound_ftruncate_rsp; +        case GF_FOP_FSTAT:        gfs3_fstat_rsp compound_fstat_rsp; +        case GF_FOP_LK:           gfs3_lk_rsp compound_lk_rsp; +        case GF_FOP_LOOKUP:       gfs3_lookup_rsp compound_lookup_rsp; +        case GF_FOP_READDIR:      gfs3_readdir_rsp compound_readdir_rsp; +        case GF_FOP_INODELK:      gf_common_rsp compound_inodelk_rsp; +        case GF_FOP_FINODELK:     gf_common_rsp compound_finodelk_rsp; +        case GF_FOP_ENTRYLK:      gf_common_rsp compound_entrylk_rsp; +        case GF_FOP_FENTRYLK:     gf_common_rsp compound_fentrylk_rsp; +        case GF_FOP_XATTROP:      gfs3_xattrop_rsp compound_xattrop_rsp; +        case GF_FOP_FXATTROP:     gfs3_fxattrop_rsp compound_fxattrop_rsp; +        case GF_FOP_FGETXATTR:    gfs3_fgetxattr_rsp compound_fgetxattr_rsp; +        case GF_FOP_FSETXATTR:    gf_common_rsp compound_fsetxattr_rsp; +        case GF_FOP_RCHECKSUM:    gfs3_rchecksum_rsp compound_rchecksum_rsp; +        case GF_FOP_SETATTR:      gfs3_setattr_rsp compound_setattr_rsp; +        case GF_FOP_FSETATTR:     gfs3_fsetattr_rsp compound_fsetattr_rsp; +        case GF_FOP_READDIRP:     gfs3_readdirp_rsp compound_readdirp_rsp; +        case GF_FOP_RELEASE:      gf_common_rsp compound_release_rsp; +        case GF_FOP_RELEASEDIR:   gf_common_rsp compound_releasedir_rsp; +        case GF_FOP_FREMOVEXATTR: gf_common_rsp compound_fremovexattr_rsp; +        case GF_FOP_FALLOCATE:    gfs3_fallocate_rsp compound_fallocate_rsp; +        case GF_FOP_DISCARD:      gfs3_discard_rsp compound_discard_rsp; +        case GF_FOP_ZEROFILL:     gfs3_zerofill_rsp compound_zerofill_rsp; +        case GF_FOP_IPC:          gfs3_ipc_rsp compound_ipc_rsp; +        case GF_FOP_SEEK:         gfs3_seek_rsp compound_seek_rsp; +        default:                  void; +}; + +struct gfs3_compound_rsp { +        int           op_ret; +        int           op_errno; +        compound_rsp  compound_rsp_array<>; +        opaque        xdata<>; +};  | 
