summaryrefslogtreecommitdiffstats
path: root/rpc/xdr/src/glusterfs4-xdr.x
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/xdr/src/glusterfs4-xdr.x')
-rw-r--r--rpc/xdr/src/glusterfs4-xdr.x152
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;