diff options
Diffstat (limited to 'rpc/xdr/src/glusterfs4-xdr.x')
| -rw-r--r-- | rpc/xdr/src/glusterfs4-xdr.x | 152 |
1 files changed, 28 insertions, 124 deletions
diff --git a/rpc/xdr/src/glusterfs4-xdr.x b/rpc/xdr/src/glusterfs4-xdr.x index 5ee86c24a0b..d3b1d0dfaf0 100644 --- a/rpc/xdr/src/glusterfs4-xdr.x +++ b/rpc/xdr/src/glusterfs4-xdr.x @@ -11,11 +11,9 @@ #ifdef RPC_XDR %#include "rpc-pragmas.h" #endif -%#include "compat.h" -%#include "glusterfs-fops.h" +%#include <glusterfs/glusterfs-fops.h> %#include "glusterfs3-xdr.h" - /* Need to consume iattx and new dict in all the fops */ struct gfx_iattx { opaque ia_gfid[16]; @@ -46,7 +44,17 @@ struct gfx_iattx { unsigned int mode; /* type of file and rwx mode */ }; -union gfx_value switch (gf_dict_data_type_t type) { +struct gfx_mdata_iatt { + hyper ia_atime; /* last access time */ + hyper ia_mtime; /* last modification time */ + hyper ia_ctime; /* last status change time */ + + unsigned int ia_atime_nsec; + unsigned int ia_mtime_nsec; + unsigned int ia_ctime_nsec; +}; + +union gfx_value switch (int type) { case GF_DATA_TYPE_INT: hyper value_int; case GF_DATA_TYPE_UINT: @@ -60,7 +68,10 @@ union gfx_value switch (gf_dict_data_type_t type) { case GF_DATA_TYPE_GFUUID: opaque uuid[16]; case GF_DATA_TYPE_PTR: + case GF_DATA_TYPE_STR_OLD: opaque other<>; + case GF_DATA_TYPE_MDATA: + gfx_mdata_iatt mdata_iatt; }; /* AUTH */ @@ -628,6 +639,19 @@ struct gfx_seek_rsp { struct gfx_setvolume_req { gfx_dict dict; } ; + + struct gfx_copy_file_range_req { + opaque gfid1[16]; + opaque gfid2[16]; + quad_t fd_in; + quad_t fd_out; + u_quad_t off_in; + u_quad_t off_out; + unsigned int size; + unsigned int flag; + gfx_dict xdata; /* Extra data */ +}; + struct gfx_setvolume_rsp { int op_ret; int op_errno; @@ -755,126 +779,6 @@ struct gfx_setactivelk_req { gfx_dict xdata; }; -union compound_req_v2 switch (glusterfs_fop_t fop_enum) { - case GF_FOP_STAT: gfx_stat_req compound_stat_req; - case GF_FOP_READLINK: gfx_readlink_req compound_readlink_req; - case GF_FOP_MKNOD: gfx_mknod_req compound_mknod_req; - case GF_FOP_MKDIR: gfx_mkdir_req compound_mkdir_req; - case GF_FOP_UNLINK: gfx_unlink_req compound_unlink_req; - case GF_FOP_RMDIR: gfx_rmdir_req compound_rmdir_req; - case GF_FOP_SYMLINK: gfx_symlink_req compound_symlink_req; - case GF_FOP_RENAME: gfx_rename_req compound_rename_req; - case GF_FOP_LINK: gfx_link_req compound_link_req; - case GF_FOP_TRUNCATE: gfx_truncate_req compound_truncate_req; - case GF_FOP_OPEN: gfx_open_req compound_open_req; - case GF_FOP_READ: gfx_read_req compound_read_req; - case GF_FOP_WRITE: gfx_write_req compound_write_req; - case GF_FOP_STATFS: gfx_statfs_req compound_statfs_req; - case GF_FOP_FLUSH: gfx_flush_req compound_flush_req; - case GF_FOP_FSYNC: gfx_fsync_req compound_fsync_req; - case GF_FOP_GETXATTR: gfx_getxattr_req compound_getxattr_req; - case GF_FOP_SETXATTR: gfx_setxattr_req compound_setxattr_req; - case GF_FOP_REMOVEXATTR: gfx_removexattr_req compound_removexattr_req; - case GF_FOP_OPENDIR: gfx_opendir_req compound_opendir_req; - case GF_FOP_FSYNCDIR: gfx_fsyncdir_req compound_fsyncdir_req; - case GF_FOP_ACCESS: gfx_access_req compound_access_req; - case GF_FOP_CREATE: gfx_create_req compound_create_req; - case GF_FOP_FTRUNCATE: gfx_ftruncate_req compound_ftruncate_req; - case GF_FOP_FSTAT: gfx_fstat_req compound_fstat_req; - case GF_FOP_LK: gfx_lk_req compound_lk_req; - case GF_FOP_LOOKUP: gfx_lookup_req compound_lookup_req; - case GF_FOP_READDIR: gfx_readdir_req compound_readdir_req; - case GF_FOP_INODELK: gfx_inodelk_req compound_inodelk_req; - case GF_FOP_FINODELK: gfx_finodelk_req compound_finodelk_req; - case GF_FOP_ENTRYLK: gfx_entrylk_req compound_entrylk_req; - case GF_FOP_FENTRYLK: gfx_fentrylk_req compound_fentrylk_req; - case GF_FOP_XATTROP: gfx_xattrop_req compound_xattrop_req; - case GF_FOP_FXATTROP: gfx_fxattrop_req compound_fxattrop_req; - case GF_FOP_FGETXATTR: gfx_fgetxattr_req compound_fgetxattr_req; - case GF_FOP_FSETXATTR: gfx_fsetxattr_req compound_fsetxattr_req; - case GF_FOP_RCHECKSUM: gfx_rchecksum_req compound_rchecksum_req; - case GF_FOP_SETATTR: gfx_setattr_req compound_setattr_req; - case GF_FOP_FSETATTR: gfx_fsetattr_req compound_fsetattr_req; - case GF_FOP_READDIRP: gfx_readdirp_req compound_readdirp_req; - case GF_FOP_RELEASE: gfx_release_req compound_release_req; - case GF_FOP_RELEASEDIR: gfx_releasedir_req compound_releasedir_req; - case GF_FOP_FREMOVEXATTR: gfx_fremovexattr_req compound_fremovexattr_req; - case GF_FOP_FALLOCATE: gfx_fallocate_req compound_fallocate_req; - case GF_FOP_DISCARD: gfx_discard_req compound_discard_req; - case GF_FOP_ZEROFILL: gfx_zerofill_req compound_zerofill_req; - case GF_FOP_IPC: gfx_ipc_req compound_ipc_req; - case GF_FOP_SEEK: gfx_seek_req compound_seek_req; - case GF_FOP_LEASE: gfx_lease_req compound_lease_req; - default: void; -}; - -struct gfx_compound_req { - int compound_version; - glusterfs_compound_fop_t compound_fop_enum; - compound_req_v2 compound_req_array<>; - gfx_dict xdata; -}; - -union compound_rsp_v2 switch (glusterfs_fop_t fop_enum) { - case GF_FOP_STAT: gfx_common_iatt_rsp compound_stat_rsp; - case GF_FOP_READLINK: gfx_readlink_rsp compound_readlink_rsp; - case GF_FOP_MKNOD: gfx_common_3iatt_rsp compound_mknod_rsp; - case GF_FOP_MKDIR: gfx_common_3iatt_rsp compound_mkdir_rsp; - case GF_FOP_UNLINK: gfx_common_2iatt_rsp compound_unlink_rsp; - case GF_FOP_RMDIR: gfx_common_2iatt_rsp compound_rmdir_rsp; - case GF_FOP_SYMLINK: gfx_common_3iatt_rsp compound_symlink_rsp; - case GF_FOP_RENAME: gfx_rename_rsp compound_rename_rsp; - case GF_FOP_LINK: gfx_common_3iatt_rsp compound_link_rsp; - case GF_FOP_TRUNCATE: gfx_common_2iatt_rsp compound_truncate_rsp; - case GF_FOP_OPEN: gfx_open_rsp compound_open_rsp; - case GF_FOP_READ: gfx_read_rsp compound_read_rsp; - case GF_FOP_WRITE: gfx_common_2iatt_rsp compound_write_rsp; - case GF_FOP_STATFS: gfx_statfs_rsp compound_statfs_rsp; - case GF_FOP_FLUSH: gfx_common_rsp compound_flush_rsp; - case GF_FOP_FSYNC: gfx_common_2iatt_rsp compound_fsync_rsp; - case GF_FOP_GETXATTR: gfx_common_dict_rsp compound_getxattr_rsp; - case GF_FOP_SETXATTR: gfx_common_rsp compound_setxattr_rsp; - case GF_FOP_REMOVEXATTR: gfx_common_rsp compound_removexattr_rsp; - case GF_FOP_OPENDIR: gfx_open_rsp compound_opendir_rsp; - case GF_FOP_FSYNCDIR: gfx_common_rsp compound_fsyncdir_rsp; - case GF_FOP_ACCESS: gfx_common_rsp compound_access_rsp; - case GF_FOP_CREATE: gfx_create_rsp compound_create_rsp; - case GF_FOP_FTRUNCATE: gfx_common_2iatt_rsp compound_ftruncate_rsp; - case GF_FOP_FSTAT: gfx_common_iatt_rsp compound_fstat_rsp; - case GF_FOP_LK: gfx_lk_rsp compound_lk_rsp; - case GF_FOP_LOOKUP: gfx_common_2iatt_rsp compound_lookup_rsp; - case GF_FOP_READDIR: gfx_readdir_rsp compound_readdir_rsp; - case GF_FOP_INODELK: gfx_common_rsp compound_inodelk_rsp; - case GF_FOP_FINODELK: gfx_common_rsp compound_finodelk_rsp; - case GF_FOP_ENTRYLK: gfx_common_rsp compound_entrylk_rsp; - case GF_FOP_FENTRYLK: gfx_common_rsp compound_fentrylk_rsp; - case GF_FOP_XATTROP: gfx_common_dict_rsp compound_xattrop_rsp; - case GF_FOP_FXATTROP: gfx_common_dict_rsp compound_fxattrop_rsp; - case GF_FOP_FGETXATTR: gfx_common_dict_rsp compound_fgetxattr_rsp; - case GF_FOP_FSETXATTR: gfx_common_rsp compound_fsetxattr_rsp; - case GF_FOP_RCHECKSUM: gfx_rchecksum_rsp compound_rchecksum_rsp; - case GF_FOP_SETATTR: gfx_common_2iatt_rsp compound_setattr_rsp; - case GF_FOP_FSETATTR: gfx_common_2iatt_rsp compound_fsetattr_rsp; - case GF_FOP_READDIRP: gfx_readdirp_rsp compound_readdirp_rsp; - case GF_FOP_RELEASE: gfx_common_rsp compound_release_rsp; - case GF_FOP_RELEASEDIR: gfx_common_rsp compound_releasedir_rsp; - case GF_FOP_FREMOVEXATTR: gfx_common_rsp compound_fremovexattr_rsp; - case GF_FOP_FALLOCATE: gfx_common_2iatt_rsp compound_fallocate_rsp; - case GF_FOP_DISCARD: gfx_common_2iatt_rsp compound_discard_rsp; - case GF_FOP_ZEROFILL: gfx_common_2iatt_rsp compound_zerofill_rsp; - case GF_FOP_IPC: gfx_common_rsp compound_ipc_rsp; - case GF_FOP_SEEK: gfx_seek_rsp compound_seek_rsp; - case GF_FOP_LEASE: gfx_lease_rsp compound_lease_rsp; - default: void; -}; - -struct gfx_compound_rsp { - int op_ret; - int op_errno; - compound_rsp_v2 compound_rsp_array<>; - gfx_dict xdata; -}; - struct gfs4_inodelk_contention_req { opaque gfid[16]; struct gf_proto_flock flock; |
