diff options
Diffstat (limited to 'rpc/xdr/src/glusterfs3-xdr.x')
| -rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.x | 512 |
1 files changed, 351 insertions, 161 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x index 8f8e354a120..1c99099a721 100644 --- a/rpc/xdr/src/glusterfs3-xdr.x +++ b/rpc/xdr/src/glusterfs3-xdr.x @@ -1,40 +1,63 @@ +/* + * 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 <glusterfs/glusterfs-fops.h> +%#include "rpc-common-xdr.h" + #define GF_REQUEST_MAXGROUPS 16 struct gf_statfs { - unsigned hyper bsize; - unsigned hyper frsize; - unsigned hyper blocks; - unsigned hyper bfree; - unsigned hyper bavail; - unsigned hyper files; - unsigned hyper ffree; - unsigned hyper favail; - unsigned hyper fsid; - unsigned hyper flag; - unsigned hyper namemax; + u_quad_t bsize; + u_quad_t frsize; + u_quad_t blocks; + u_quad_t bfree; + u_quad_t bavail; + u_quad_t files; + u_quad_t ffree; + u_quad_t favail; + u_quad_t fsid; + u_quad_t flag; + u_quad_t namemax; }; + struct gf_proto_flock { unsigned int type; unsigned int whence; - unsigned hyper start; - unsigned hyper len; + u_quad_t start; + u_quad_t len; unsigned int pid; opaque lk_owner<>; } ; +struct gf_proto_lease { + unsigned int cmd; + unsigned int lease_type; + opaque lease_id[16]; + unsigned int lease_flags; +} ; struct gf_iatt { opaque ia_gfid[16]; - unsigned hyper ia_ino; /* inode number */ - unsigned hyper ia_dev; /* backing device ID */ + u_quad_t ia_ino; /* inode number */ + u_quad_t ia_dev; /* backing device ID */ unsigned int mode; /* mode (type + protection )*/ unsigned int ia_nlink; /* Link count */ unsigned int ia_uid; /* user ID of owner */ unsigned int ia_gid; /* group ID of owner */ - unsigned hyper ia_rdev; /* device ID (if special file) */ - unsigned hyper ia_size; /* file size in bytes */ + u_quad_t ia_rdev; /* device ID (if special file) */ + u_quad_t ia_size; /* file size in bytes */ unsigned int ia_blksize; /* blocksize for filesystem I/O */ - unsigned hyper ia_blocks; /* number of 512B blocks allocated */ + u_quad_t ia_blocks; /* number of 512B blocks allocated */ unsigned int ia_atime; /* last access time */ unsigned int ia_atime_nsec; unsigned int ia_mtime; /* last modification time */ @@ -43,15 +66,30 @@ struct gf_iatt { unsigned int ia_ctime_nsec; }; + +struct gfs3_cbk_cache_invalidation_req { + string gfid<>; + unsigned int event_type; /* Upcall event type */ + unsigned int flags; /* or mask of events incase of inotify */ + unsigned int expire_time_attr; /* the amount of time which client + * can cache this entry */ + gf_iatt stat; /* Updated/current stat of the file/dir */ + gf_iatt parent_stat; /* Updated stat of the parent dir + * needed in case of create, mkdir, + * unlink, rmdir, rename fops */ + gf_iatt oldparent_stat; /* Updated stat of the oldparent dir + needed in case of rename fop */ + opaque xdata<>; /* Extra data */ +}; + struct gfs3_stat_req { opaque gfid[16]; - string path<>; /* NULL terminated */ opaque xdata<>; /* Extra data */ }; struct gfs3_stat_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; opaque xdata<>; /* Extra data */ } ; @@ -59,13 +97,12 @@ struct gfs3_stat_rsp { struct gfs3_readlink_req { opaque gfid[16]; unsigned int size; - string path<>; /* NULL terminated */ opaque xdata<>; /* Extra data */ } ; struct gfs3_readlink_rsp { int op_ret; int op_errno; - struct gf_iatt buf; + gf_iatt buf; string path<>; /* NULL terminated */ opaque xdata<>; /* Extra data */ } ; @@ -73,19 +110,18 @@ struct gfs3_readlink_req { struct gfs3_mknod_req { opaque pargfid[16]; - unsigned hyper dev; + u_quad_t dev; unsigned int mode; - string path<>; /* NULL terminated */ + unsigned int umask; string bname<>; /* NULL terminated */ - opaque dict<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_mknod_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt stat; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ }; @@ -93,66 +129,63 @@ struct gfs3_readlink_req { struct gfs3_mkdir_req { opaque pargfid[16]; unsigned int mode; - string path<>; /* NULL terminated */ + unsigned int umask; string bname<>; /* NULL terminated */ - opaque dict<>; - opaque xdata<>; /* Extra data */ + opaque xdata<>; /* Extra data */ } ; struct gfs3_mkdir_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt stat; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ } ; struct gfs3_unlink_req { opaque pargfid[16]; - string path<>; /* NULL terminated */ string bname<>; /* NULL terminated */ + unsigned int xflags; opaque xdata<>; /* Extra data */ }; struct gfs3_unlink_rsp { int op_ret; int op_errno; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ }; struct gfs3_rmdir_req { opaque pargfid[16]; - int flags; - string path<>; + int xflags; string bname<>; /* NULL terminated */ - opaque xdata<>; /* Extra data */ + opaque xdata<>; /* Extra data */ }; struct gfs3_rmdir_rsp { int op_ret; int op_errno; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ }; struct gfs3_symlink_req { opaque pargfid[16]; - string path<>; string bname<>; + unsigned int umask; string linkname<>; - opaque dict<>; opaque xdata<>; /* Extra data */ }; struct gfs3_symlink_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt stat; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ }; @@ -160,20 +193,18 @@ struct gfs3_readlink_req { struct gfs3_rename_req { opaque oldgfid[16]; opaque newgfid[16]; - string oldpath<>; string oldbname<>; /* NULL terminated */ - string newpath<>; string newbname<>; /* NULL terminated */ opaque xdata<>; /* Extra data */ }; struct gfs3_rename_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt preoldparent; - struct gf_iatt postoldparent; - struct gf_iatt prenewparent; - struct gf_iatt postnewparent; + gf_iatt stat; + gf_iatt preoldparent; + gf_iatt postoldparent; + gf_iatt prenewparent; + gf_iatt postnewparent; opaque xdata<>; /* Extra data */ }; @@ -181,31 +212,28 @@ struct gfs3_readlink_req { struct gfs3_link_req { opaque oldgfid[16]; opaque newgfid[16]; - string oldpath<>; - string newpath<>; string newbname<>; opaque xdata<>; /* Extra data */ }; struct gfs3_link_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt stat; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ }; struct gfs3_truncate_req { opaque gfid[16]; - unsigned hyper offset; - string path<>; + u_quad_t offset; opaque xdata<>; /* Extra data */ }; struct gfs3_truncate_rsp { int op_ret; int op_errno; - struct gf_iatt prestat; - struct gf_iatt poststat; + gf_iatt prestat; + gf_iatt poststat; opaque xdata<>; /* Extra data */ }; @@ -213,29 +241,28 @@ struct gfs3_readlink_req { struct gfs3_open_req { opaque gfid[16]; unsigned int flags; - unsigned int wbflags; - string path<>; opaque xdata<>; /* Extra data */ }; struct gfs3_open_rsp { int op_ret; int op_errno; - hyper fd; + quad_t fd; opaque xdata<>; /* Extra data */ }; struct gfs3_read_req { opaque gfid[16]; - hyper fd; - unsigned hyper offset; + quad_t fd; + u_quad_t offset; unsigned int size; + unsigned int flag; opaque xdata<>; /* Extra data */ }; struct gfs3_read_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; unsigned int size; opaque xdata<>; /* Extra data */ } ; @@ -244,17 +271,14 @@ struct gfs3_lookup_req { opaque gfid[16]; opaque pargfid[16]; unsigned int flags; - string path<>; string bname<>; - opaque dict<>; opaque xdata<>; /* Extra data */ }; struct gfs3_lookup_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt postparent; - opaque dict<>; + gf_iatt stat; + gf_iatt postparent; opaque xdata<>; /* Extra data */ } ; @@ -262,63 +286,82 @@ struct gfs3_lookup_req { struct gfs3_write_req { opaque gfid[16]; - hyper fd; - unsigned hyper offset; + quad_t fd; + u_quad_t offset; unsigned int size; + unsigned int flag; opaque xdata<>; /* Extra data */ }; struct gfs3_write_rsp { int op_ret; int op_errno; - struct gf_iatt prestat; - struct gf_iatt poststat; + gf_iatt prestat; + gf_iatt poststat; opaque xdata<>; /* Extra data */ } ; struct gfs3_statfs_req { opaque gfid[16]; - string path<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_statfs_rsp { int op_ret; int op_errno; - struct gf_statfs statfs; + gf_statfs statfs; opaque xdata<>; /* Extra data */ } ; struct gfs3_lk_req { opaque gfid[16]; - hyper fd; + int64_t fd; unsigned int cmd; unsigned int type; - struct gf_proto_flock flock; + gf_proto_flock flock; opaque xdata<>; /* Extra data */ } ; struct gfs3_lk_rsp { int op_ret; int op_errno; - struct gf_proto_flock flock; + gf_proto_flock flock; opaque xdata<>; /* Extra data */ } ; +struct gfs3_lease_req { + opaque gfid[16]; + gf_proto_lease lease; + opaque xdata<>; /* Extra data */ +} ; + +struct gfs3_lease_rsp { + int op_ret; + int op_errno; + gf_proto_lease lease; + opaque xdata<>; /* Extra data */ +} ; + +struct gfs3_recall_lease_req { + opaque gfid[16]; + unsigned int lease_type; + opaque tid[16]; + opaque xdata<>; /* Extra data */ +} ; + struct gfs3_inodelk_req { opaque gfid[16]; unsigned int cmd; unsigned int type; - struct gf_proto_flock flock; - string path<>; + gf_proto_flock flock; string volume<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_finodelk_req { opaque gfid[16]; - hyper fd; + quad_t fd; unsigned int cmd; unsigned int type; - struct gf_proto_flock flock; + gf_proto_flock flock; string volume<>; opaque xdata<>; /* Extra data */ } ; @@ -326,22 +369,22 @@ struct gfs3_finodelk_req { struct gfs3_flush_req { opaque gfid[16]; - hyper fd; + quad_t fd; opaque xdata<>; /* Extra data */ } ; struct gfs3_fsync_req { opaque gfid[16]; - hyper fd; + quad_t fd; unsigned int data; opaque xdata<>; /* Extra data */ } ; struct gfs3_fsync_rsp { int op_ret; int op_errno; - struct gf_iatt prestat; - struct gf_iatt poststat; + gf_iatt prestat; + gf_iatt poststat; opaque xdata<>; /* Extra data */ } ; @@ -350,7 +393,6 @@ struct gfs3_finodelk_req { opaque gfid[16]; unsigned int flags; opaque dict<>; - string path<>; opaque xdata<>; /* Extra data */ } ; @@ -358,7 +400,7 @@ struct gfs3_finodelk_req { struct gfs3_fsetxattr_req { opaque gfid[16]; - hyper fd; + int64_t fd; unsigned int flags; opaque dict<>; opaque xdata<>; /* Extra data */ @@ -370,7 +412,6 @@ struct gfs3_finodelk_req { opaque gfid[16]; unsigned int flags; opaque dict<>; - string path<>; opaque xdata<>; /* Extra data */ } ; @@ -384,7 +425,7 @@ struct gfs3_finodelk_req { struct gfs3_fxattrop_req { opaque gfid[16]; - hyper fd; + quad_t fd; unsigned int flags; opaque dict<>; opaque xdata<>; /* Extra data */ @@ -401,7 +442,6 @@ struct gfs3_finodelk_req { struct gfs3_getxattr_req { opaque gfid[16]; unsigned int namelen; - string path<>; string name<>; opaque xdata<>; /* Extra data */ } ; @@ -415,7 +455,7 @@ struct gfs3_finodelk_req { struct gfs3_fgetxattr_req { opaque gfid[16]; - hyper fd; + quad_t fd; unsigned int namelen; string name<>; opaque xdata<>; /* Extra data */ @@ -430,14 +470,13 @@ struct gfs3_finodelk_req { struct gfs3_removexattr_req { opaque gfid[16]; - string path<>; string name<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_fremovexattr_req { opaque gfid[16]; - hyper fd; + quad_t fd; string name<>; opaque xdata<>; /* Extra data */ } ; @@ -446,54 +485,43 @@ struct gfs3_finodelk_req { struct gfs3_opendir_req { opaque gfid[16]; - string path<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_opendir_rsp { int op_ret; int op_errno; - hyper fd; + quad_t fd; opaque xdata<>; /* Extra data */ } ; struct gfs3_fsyncdir_req { opaque gfid[16]; - hyper fd; + quad_t fd; int data; opaque xdata<>; /* Extra data */ } ; struct gfs3_readdir_req { opaque gfid[16]; - hyper fd; - unsigned hyper offset; + quad_t fd; + u_quad_t offset; unsigned int size; opaque xdata<>; /* Extra data */ }; struct gfs3_readdirp_req { opaque gfid[16]; - hyper fd; - unsigned hyper offset; + quad_t fd; + u_quad_t offset; unsigned int size; opaque dict<>; } ; - struct gf_setvolume_req { - opaque dict<>; -} ; - struct gf_setvolume_rsp { - int op_ret; - int op_errno; - opaque dict<>; -} ; - struct gfs3_access_req { opaque gfid[16]; unsigned int mask; - string path<>; opaque xdata<>; /* Extra data */ } ; @@ -502,18 +530,17 @@ struct gfs3_create_req { opaque pargfid[16]; unsigned int flags; unsigned int mode; - string path<>; + unsigned int umask; string bname<>; - opaque dict<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_create_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - unsigned hyper fd; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt stat; + u_quad_t fd; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ } ; @@ -521,28 +548,28 @@ struct gfs3_create_rsp { struct gfs3_ftruncate_req { opaque gfid[16]; - hyper fd; - unsigned hyper offset; + quad_t fd; + u_quad_t offset; opaque xdata<>; /* Extra data */ } ; struct gfs3_ftruncate_rsp { int op_ret; int op_errno; - struct gf_iatt prestat; - struct gf_iatt poststat; + gf_iatt prestat; + gf_iatt poststat; opaque xdata<>; /* Extra data */ } ; struct gfs3_fstat_req { opaque gfid[16]; - hyper fd; + quad_t fd; opaque xdata<>; /* Extra data */ } ; struct gfs3_fstat_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; opaque xdata<>; /* Extra data */ } ; @@ -552,8 +579,7 @@ struct gfs3_fstat_req { opaque gfid[16]; unsigned int cmd; unsigned int type; - unsigned hyper namelen; - string path<>; + u_quad_t namelen; string name<>; string volume<>; opaque xdata<>; /* Extra data */ @@ -561,10 +587,10 @@ struct gfs3_fstat_req { struct gfs3_fentrylk_req { opaque gfid[16]; - hyper fd; + quad_t fd; unsigned int cmd; unsigned int type; - unsigned hyper namelen; + u_quad_t namelen; string name<>; string volume<>; opaque xdata<>; /* Extra data */ @@ -573,36 +599,85 @@ struct gfs3_fstat_req { struct gfs3_setattr_req { opaque gfid[16]; - struct gf_iatt stbuf; + gf_iatt stbuf; int valid; - string path<>; opaque xdata<>; /* Extra data */ } ; struct gfs3_setattr_rsp { int op_ret; int op_errno; - struct gf_iatt statpre; - struct gf_iatt statpost; + gf_iatt statpre; + gf_iatt statpost; opaque xdata<>; /* Extra data */ } ; struct gfs3_fsetattr_req { - hyper fd; - struct gf_iatt stbuf; + quad_t fd; + gf_iatt stbuf; int valid; opaque xdata<>; /* Extra data */ } ; struct gfs3_fsetattr_rsp { int op_ret; int op_errno; - struct gf_iatt statpre; - struct gf_iatt statpost; + gf_iatt statpre; + gf_iatt statpost; + opaque xdata<>; /* Extra data */ +} ; + + struct gfs3_fallocate_req { + opaque gfid[16]; + quad_t fd; + unsigned int flags; + u_quad_t offset; + u_quad_t size; + opaque xdata<>; /* Extra data */ +} ; + + struct gfs3_fallocate_rsp { + int op_ret; + int op_errno; + gf_iatt statpre; + gf_iatt statpost; + opaque xdata<>; /* Extra data */ +} ; + + struct gfs3_discard_req { + opaque gfid[16]; + quad_t fd; + u_quad_t offset; + u_quad_t size; + opaque xdata<>; /* Extra data */ +} ; + + struct gfs3_discard_rsp { + int op_ret; + int op_errno; + gf_iatt statpre; + gf_iatt statpost; opaque xdata<>; /* Extra data */ } ; + struct gfs3_zerofill_req { + opaque gfid[16]; + quad_t fd; + u_quad_t offset; + u_quad_t size; + opaque xdata<>; +} ; + + struct gfs3_zerofill_rsp { + int op_ret; + int op_errno; + gf_iatt statpre; + gf_iatt statpost; + opaque xdata<>; +} ; + + struct gfs3_rchecksum_req { - hyper fd; - unsigned hyper offset; + quad_t fd; + u_quad_t offset; unsigned int len; opaque xdata<>; /* Extra data */ } ; @@ -615,6 +690,44 @@ struct gfs3_fstat_req { } ; +struct gfs3_ipc_req { + int op; + opaque xdata<>; +}; + +struct gfs3_ipc_rsp { + int op_ret; + int op_errno; + opaque xdata<>; +}; + + +struct gfs3_seek_req { + opaque gfid[16]; + quad_t fd; + u_quad_t offset; + int what; + opaque xdata<>; +}; + +struct gfs3_seek_rsp { + int op_ret; + int op_errno; + u_quad_t offset; + opaque xdata<>; +}; + + + struct gf_setvolume_req { + opaque dict<>; +} ; + struct gf_setvolume_rsp { + int op_ret; + int op_errno; + opaque dict<>; +} ; + + struct gf_getspec_req { unsigned int flags; string key<>; @@ -627,10 +740,29 @@ struct gfs3_fstat_req { opaque xdata<>; /* Extra data */ } ; + struct gf_get_volume_info_req { + opaque dict<>; /* Extra data */ +} ; + struct gf_get_volume_info_rsp { + int op_ret; + int op_errno; + string op_errstr<>; + opaque dict<>; /* Extra data */ +} ; + + struct gf_mgmt_hndsk_req { + opaque hndsk<>; +} ; + + struct gf_mgmt_hndsk_rsp { + int op_ret; + int op_errno; + opaque hndsk<>; +} ; struct gf_log_req { - opaque msg<>; -}; + opaque msg<>; +} ; struct gf_notify_req { unsigned int flags; @@ -647,54 +779,112 @@ struct gfs3_fstat_req { struct gfs3_releasedir_req { opaque gfid[16]; - hyper fd; + quad_t fd; opaque xdata<>; /* Extra data */ } ; struct gfs3_release_req { opaque gfid[16]; - hyper fd; + quad_t fd; opaque xdata<>; /* Extra data */ } ; -struct gf_common_rsp { - int op_ret; - int op_errno; - opaque xdata<>; /* Extra data */ -} ; - struct gfs3_dirlist { - unsigned hyper d_ino; - unsigned hyper d_off; + u_quad_t d_ino; + u_quad_t d_off; unsigned int d_len; unsigned int d_type; string name<>; - struct gfs3_dirlist *nextentry; + gfs3_dirlist *nextentry; }; struct gfs3_readdir_rsp { int op_ret; int op_errno; - struct gfs3_dirlist *reply; + gfs3_dirlist *reply; opaque xdata<>; /* Extra data */ }; struct gfs3_dirplist { - unsigned hyper d_ino; - unsigned hyper d_off; + u_quad_t d_ino; + u_quad_t d_off; unsigned int d_len; unsigned int d_type; string name<>; - struct gf_iatt stat; + gf_iatt stat; opaque dict<>; - struct gfs3_dirplist *nextentry; + gfs3_dirplist *nextentry; }; struct gfs3_readdirp_rsp { int op_ret; int op_errno; - struct gfs3_dirplist *reply; + gfs3_dirplist *reply; opaque xdata<>; /* Extra data */ }; +struct gf_set_lk_ver_rsp { + int op_ret; + int op_errno; + int lk_ver; +}; + +struct gf_set_lk_ver_req { + string uid<>; + int lk_ver; +}; + +struct gf_event_notify_req { + int op; + opaque dict<>; +}; + +struct gf_event_notify_rsp { + int op_ret; + int op_errno; + opaque dict<>; +}; + + +struct gf_getsnap_name_uuid_req { + opaque dict<>; +}; + +struct gf_getsnap_name_uuid_rsp { + int op_ret; + int op_errno; + string op_errstr<>; + opaque dict<>; +}; + +struct gfs3_locklist { + gf_proto_flock flock; + string client_uid<>; + unsigned int lk_flags; + gfs3_locklist *nextentry; +}; + +struct gfs3_getactivelk_rsp { + int op_ret; + int op_errno; + gfs3_locklist *reply; + opaque xdata<>; +}; + +struct gfs3_getactivelk_req { + opaque gfid[16]; + opaque xdata<>; +}; + +struct gfs3_setactivelk_rsp { + int op_ret; + int op_errno; + opaque xdata<>; +}; + +struct gfs3_setactivelk_req { + opaque gfid[16]; + gfs3_locklist *request; + opaque xdata<>; +}; |
