123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- /*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
- #ifndef __UPCALL_H
- #define __UPCALL_H
- /*
- * Sanitized this header file to fix
- * 32-64 bit interaction issues between
- * client-core and device
- */
- struct orangefs_io_request_s {
- __s32 __pad1;
- __s32 buf_index;
- __s32 count;
- __s32 __pad2;
- __s64 offset;
- struct orangefs_object_kref refn;
- enum ORANGEFS_io_type io_type;
- __s32 readahead_size;
- };
- struct orangefs_lookup_request_s {
- __s32 sym_follow;
- __s32 __pad1;
- struct orangefs_object_kref parent_refn;
- char d_name[ORANGEFS_NAME_MAX];
- };
- struct orangefs_create_request_s {
- struct orangefs_object_kref parent_refn;
- struct ORANGEFS_sys_attr_s attributes;
- char d_name[ORANGEFS_NAME_MAX];
- };
- struct orangefs_symlink_request_s {
- struct orangefs_object_kref parent_refn;
- struct ORANGEFS_sys_attr_s attributes;
- char entry_name[ORANGEFS_NAME_MAX];
- char target[ORANGEFS_NAME_MAX];
- };
- struct orangefs_getattr_request_s {
- struct orangefs_object_kref refn;
- __u32 mask;
- __u32 __pad1;
- };
- struct orangefs_setattr_request_s {
- struct orangefs_object_kref refn;
- struct ORANGEFS_sys_attr_s attributes;
- };
- struct orangefs_remove_request_s {
- struct orangefs_object_kref parent_refn;
- char d_name[ORANGEFS_NAME_MAX];
- };
- struct orangefs_mkdir_request_s {
- struct orangefs_object_kref parent_refn;
- struct ORANGEFS_sys_attr_s attributes;
- char d_name[ORANGEFS_NAME_MAX];
- };
- struct orangefs_readdir_request_s {
- struct orangefs_object_kref refn;
- __u64 token;
- __s32 max_dirent_count;
- __s32 buf_index;
- };
- struct orangefs_readdirplus_request_s {
- struct orangefs_object_kref refn;
- __u64 token;
- __s32 max_dirent_count;
- __u32 mask;
- __s32 buf_index;
- __s32 __pad1;
- };
- struct orangefs_rename_request_s {
- struct orangefs_object_kref old_parent_refn;
- struct orangefs_object_kref new_parent_refn;
- char d_old_name[ORANGEFS_NAME_MAX];
- char d_new_name[ORANGEFS_NAME_MAX];
- };
- struct orangefs_statfs_request_s {
- __s32 fs_id;
- __s32 __pad1;
- };
- struct orangefs_truncate_request_s {
- struct orangefs_object_kref refn;
- __s64 size;
- };
- struct orangefs_ra_cache_flush_request_s {
- struct orangefs_object_kref refn;
- };
- struct orangefs_fs_mount_request_s {
- char orangefs_config_server[ORANGEFS_MAX_SERVER_ADDR_LEN];
- };
- struct orangefs_fs_umount_request_s {
- __s32 id;
- __s32 fs_id;
- char orangefs_config_server[ORANGEFS_MAX_SERVER_ADDR_LEN];
- };
- struct orangefs_getxattr_request_s {
- struct orangefs_object_kref refn;
- __s32 key_sz;
- __s32 __pad1;
- char key[ORANGEFS_MAX_XATTR_NAMELEN];
- };
- struct orangefs_setxattr_request_s {
- struct orangefs_object_kref refn;
- struct ORANGEFS_keyval_pair keyval;
- __s32 flags;
- __s32 __pad1;
- };
- struct orangefs_listxattr_request_s {
- struct orangefs_object_kref refn;
- __s32 requested_count;
- __s32 __pad1;
- __u64 token;
- };
- struct orangefs_removexattr_request_s {
- struct orangefs_object_kref refn;
- __s32 key_sz;
- __s32 __pad1;
- char key[ORANGEFS_MAX_XATTR_NAMELEN];
- };
- struct orangefs_op_cancel_s {
- __u64 op_tag;
- };
- struct orangefs_fsync_request_s {
- struct orangefs_object_kref refn;
- };
- enum orangefs_param_request_type {
- ORANGEFS_PARAM_REQUEST_SET = 1,
- ORANGEFS_PARAM_REQUEST_GET = 2
- };
- enum orangefs_param_request_op {
- ORANGEFS_PARAM_REQUEST_OP_ACACHE_TIMEOUT_MSECS = 1,
- ORANGEFS_PARAM_REQUEST_OP_ACACHE_HARD_LIMIT = 2,
- ORANGEFS_PARAM_REQUEST_OP_ACACHE_SOFT_LIMIT = 3,
- ORANGEFS_PARAM_REQUEST_OP_ACACHE_RECLAIM_PERCENTAGE = 4,
- ORANGEFS_PARAM_REQUEST_OP_PERF_TIME_INTERVAL_SECS = 5,
- ORANGEFS_PARAM_REQUEST_OP_PERF_HISTORY_SIZE = 6,
- ORANGEFS_PARAM_REQUEST_OP_PERF_RESET = 7,
- ORANGEFS_PARAM_REQUEST_OP_NCACHE_TIMEOUT_MSECS = 8,
- ORANGEFS_PARAM_REQUEST_OP_NCACHE_HARD_LIMIT = 9,
- ORANGEFS_PARAM_REQUEST_OP_NCACHE_SOFT_LIMIT = 10,
- ORANGEFS_PARAM_REQUEST_OP_NCACHE_RECLAIM_PERCENTAGE = 11,
- ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_TIMEOUT_MSECS = 12,
- ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_HARD_LIMIT = 13,
- ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_SOFT_LIMIT = 14,
- ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_RECLAIM_PERCENTAGE = 15,
- ORANGEFS_PARAM_REQUEST_OP_CLIENT_DEBUG = 16,
- ORANGEFS_PARAM_REQUEST_OP_CCACHE_TIMEOUT_SECS = 17,
- ORANGEFS_PARAM_REQUEST_OP_CCACHE_HARD_LIMIT = 18,
- ORANGEFS_PARAM_REQUEST_OP_CCACHE_SOFT_LIMIT = 19,
- ORANGEFS_PARAM_REQUEST_OP_CCACHE_RECLAIM_PERCENTAGE = 20,
- ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_TIMEOUT_SECS = 21,
- ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_HARD_LIMIT = 22,
- ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_SOFT_LIMIT = 23,
- ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_RECLAIM_PERCENTAGE = 24,
- ORANGEFS_PARAM_REQUEST_OP_TWO_MASK_VALUES = 25,
- ORANGEFS_PARAM_REQUEST_OP_READAHEAD_SIZE = 26,
- ORANGEFS_PARAM_REQUEST_OP_READAHEAD_COUNT = 27,
- ORANGEFS_PARAM_REQUEST_OP_READAHEAD_COUNT_SIZE = 28,
- };
- struct orangefs_param_request_s {
- enum orangefs_param_request_type type;
- enum orangefs_param_request_op op;
- union {
- __s64 value64;
- __s32 value32[2];
- } u;
- char s_value[ORANGEFS_MAX_DEBUG_STRING_LEN];
- };
- enum orangefs_perf_count_request_type {
- ORANGEFS_PERF_COUNT_REQUEST_ACACHE = 1,
- ORANGEFS_PERF_COUNT_REQUEST_NCACHE = 2,
- ORANGEFS_PERF_COUNT_REQUEST_CAPCACHE = 3,
- };
- struct orangefs_perf_count_request_s {
- enum orangefs_perf_count_request_type type;
- __s32 __pad1;
- };
- struct orangefs_fs_key_request_s {
- __s32 fsid;
- __s32 __pad1;
- };
- /* 2.9.6 */
- struct orangefs_features_request_s {
- __u64 features;
- };
- struct orangefs_upcall_s {
- __s32 type;
- __u32 uid;
- __u32 gid;
- int pid;
- int tgid;
- /* Trailers unused but must be retained for protocol compatibility. */
- __s64 trailer_size;
- char *trailer_buf;
- union {
- struct orangefs_io_request_s io;
- struct orangefs_lookup_request_s lookup;
- struct orangefs_create_request_s create;
- struct orangefs_symlink_request_s sym;
- struct orangefs_getattr_request_s getattr;
- struct orangefs_setattr_request_s setattr;
- struct orangefs_remove_request_s remove;
- struct orangefs_mkdir_request_s mkdir;
- struct orangefs_readdir_request_s readdir;
- struct orangefs_readdirplus_request_s readdirplus;
- struct orangefs_rename_request_s rename;
- struct orangefs_statfs_request_s statfs;
- struct orangefs_truncate_request_s truncate;
- struct orangefs_ra_cache_flush_request_s ra_cache_flush;
- struct orangefs_fs_mount_request_s fs_mount;
- struct orangefs_fs_umount_request_s fs_umount;
- struct orangefs_getxattr_request_s getxattr;
- struct orangefs_setxattr_request_s setxattr;
- struct orangefs_listxattr_request_s listxattr;
- struct orangefs_removexattr_request_s removexattr;
- struct orangefs_op_cancel_s cancel;
- struct orangefs_fsync_request_s fsync;
- struct orangefs_param_request_s param;
- struct orangefs_perf_count_request_s perf_count;
- struct orangefs_fs_key_request_s fs_key;
- struct orangefs_features_request_s features;
- } req;
- };
- #endif /* __UPCALL_H */
|