diff options
Diffstat (limited to 'rpc/xdr/src/glusterfs3-xdr.x')
| -rw-r--r-- | rpc/xdr/src/glusterfs3-xdr.x | 238 |
1 files changed, 178 insertions, 60 deletions
diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x index a68fcae7e1c..1c99099a721 100644 --- a/rpc/xdr/src/glusterfs3-xdr.x +++ b/rpc/xdr/src/glusterfs3-xdr.x @@ -1,3 +1,19 @@ +/* + * 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 { u_quad_t bsize; @@ -13,6 +29,7 @@ struct gf_statfs { u_quad_t namemax; }; + struct gf_proto_flock { unsigned int type; unsigned int whence; @@ -22,6 +39,12 @@ struct gf_proto_flock { 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]; @@ -43,6 +66,22 @@ 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]; opaque xdata<>; /* Extra data */ @@ -50,7 +89,7 @@ struct gfs3_stat_req { struct gfs3_stat_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; opaque xdata<>; /* Extra data */ } ; @@ -63,7 +102,7 @@ struct gfs3_readlink_req { 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 */ } ; @@ -80,9 +119,9 @@ struct gfs3_readlink_req { 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 */ }; @@ -97,9 +136,9 @@ struct gfs3_readlink_req { 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 */ } ; @@ -113,8 +152,8 @@ struct gfs3_readlink_req { 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 */ }; @@ -128,8 +167,8 @@ struct gfs3_readlink_req { 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 */ }; @@ -144,9 +183,9 @@ struct gfs3_readlink_req { 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 */ }; @@ -161,11 +200,11 @@ struct gfs3_readlink_req { 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 */ }; @@ -179,9 +218,9 @@ struct gfs3_readlink_req { 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 */ }; @@ -193,8 +232,8 @@ struct gfs3_readlink_req { 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 */ }; @@ -223,7 +262,7 @@ struct gfs3_readlink_req { struct gfs3_read_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; unsigned int size; opaque xdata<>; /* Extra data */ } ; @@ -238,8 +277,8 @@ struct gfs3_lookup_req { struct gfs3_lookup_rsp { int op_ret; int op_errno; - struct gf_iatt stat; - struct gf_iatt postparent; + gf_iatt stat; + gf_iatt postparent; opaque xdata<>; /* Extra data */ } ; @@ -256,8 +295,8 @@ struct gfs3_lookup_req { 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 */ } ; @@ -269,7 +308,7 @@ struct gfs3_lookup_req { struct gfs3_statfs_rsp { int op_ret; int op_errno; - struct gf_statfs statfs; + gf_statfs statfs; opaque xdata<>; /* Extra data */ } ; @@ -278,21 +317,41 @@ struct gfs3_lookup_req { 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; + gf_proto_flock flock; string volume<>; opaque xdata<>; /* Extra data */ } ; @@ -302,7 +361,7 @@ struct gfs3_finodelk_req { quad_t fd; unsigned int cmd; unsigned int type; - struct gf_proto_flock flock; + gf_proto_flock flock; string volume<>; opaque xdata<>; /* Extra data */ } ; @@ -324,8 +383,8 @@ struct gfs3_finodelk_req { 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 */ } ; @@ -478,10 +537,10 @@ struct gfs3_create_req { struct gfs3_create_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; u_quad_t fd; - struct gf_iatt preparent; - struct gf_iatt postparent; + gf_iatt preparent; + gf_iatt postparent; opaque xdata<>; /* Extra data */ } ; @@ -496,8 +555,8 @@ struct gfs3_ftruncate_req { 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 */ } ; @@ -510,7 +569,7 @@ struct gfs3_fstat_req { struct gfs3_fstat_rsp { int op_ret; int op_errno; - struct gf_iatt stat; + gf_iatt stat; opaque xdata<>; /* Extra data */ } ; @@ -540,29 +599,29 @@ struct gfs3_fstat_req { struct gfs3_setattr_req { opaque gfid[16]; - struct gf_iatt stbuf; + gf_iatt stbuf; int valid; 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 { quad_t fd; - struct gf_iatt stbuf; + 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 */ } ; @@ -578,8 +637,8 @@ struct gfs3_fstat_req { struct gfs3_fallocate_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 */ } ; @@ -594,8 +653,8 @@ struct gfs3_fstat_req { struct gfs3_discard_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 */ } ; @@ -610,8 +669,8 @@ struct gfs3_fstat_req { struct gfs3_zerofill_rsp { int op_ret; int op_errno; - struct gf_iatt statpre; - struct gf_iatt statpost; + gf_iatt statpre; + gf_iatt statpost; opaque xdata<>; } ; @@ -631,6 +690,34 @@ 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<>; } ; @@ -708,14 +795,14 @@ struct gfs3_dirlist { 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 */ }; @@ -725,15 +812,15 @@ struct gfs3_dirplist { 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 */ }; @@ -770,3 +857,34 @@ struct gf_getsnap_name_uuid_rsp { 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<>; +}; |
