Blame view

fs/orangefs/upcall.h 6.62 KB
f7ab093f7   Mike Marshall   Orangefs: kernel ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  /*
   * (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
   */
8bb8aefd5   Yi Liu   OrangeFS: Change ...
15
  struct orangefs_io_request_s {
9c2bcf288   Martin Brandenburg   orangefs: remove ...
16
  	__s32 __pad1;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
17
18
  	__s32 buf_index;
  	__s32 count;
9c2bcf288   Martin Brandenburg   orangefs: remove ...
19
  	__s32 __pad2;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
20
  	__s64 offset;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
21
22
  	struct orangefs_object_kref refn;
  	enum ORANGEFS_io_type io_type;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
23
24
  	__s32 readahead_size;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
25
  struct orangefs_lookup_request_s {
f7ab093f7   Mike Marshall   Orangefs: kernel ...
26
27
  	__s32 sym_follow;
  	__s32 __pad1;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
28
  	struct orangefs_object_kref parent_refn;
47b4948fd   Martin Brandenburg   orangefs: use ORA...
29
  	char d_name[ORANGEFS_NAME_MAX];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
30
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
31
32
33
  struct orangefs_create_request_s {
  	struct orangefs_object_kref parent_refn;
  	struct ORANGEFS_sys_attr_s attributes;
47b4948fd   Martin Brandenburg   orangefs: use ORA...
34
  	char d_name[ORANGEFS_NAME_MAX];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
35
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
36
37
38
  struct orangefs_symlink_request_s {
  	struct orangefs_object_kref parent_refn;
  	struct ORANGEFS_sys_attr_s attributes;
47b4948fd   Martin Brandenburg   orangefs: use ORA...
39
40
  	char entry_name[ORANGEFS_NAME_MAX];
  	char target[ORANGEFS_NAME_MAX];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
41
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
42
43
  struct orangefs_getattr_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
44
45
46
  	__u32 mask;
  	__u32 __pad1;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
47
48
49
  struct orangefs_setattr_request_s {
  	struct orangefs_object_kref refn;
  	struct ORANGEFS_sys_attr_s attributes;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
50
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
51
52
  struct orangefs_remove_request_s {
  	struct orangefs_object_kref parent_refn;
47b4948fd   Martin Brandenburg   orangefs: use ORA...
53
  	char d_name[ORANGEFS_NAME_MAX];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
54
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
55
56
57
  struct orangefs_mkdir_request_s {
  	struct orangefs_object_kref parent_refn;
  	struct ORANGEFS_sys_attr_s attributes;
47b4948fd   Martin Brandenburg   orangefs: use ORA...
58
  	char d_name[ORANGEFS_NAME_MAX];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
59
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
60
61
  struct orangefs_readdir_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
62
63
64
65
  	__u64 token;
  	__s32 max_dirent_count;
  	__s32 buf_index;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
66
67
  struct orangefs_readdirplus_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
68
69
70
71
72
73
  	__u64 token;
  	__s32 max_dirent_count;
  	__u32 mask;
  	__s32 buf_index;
  	__s32 __pad1;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
74
75
76
  struct orangefs_rename_request_s {
  	struct orangefs_object_kref old_parent_refn;
  	struct orangefs_object_kref new_parent_refn;
47b4948fd   Martin Brandenburg   orangefs: use ORA...
77
78
  	char d_old_name[ORANGEFS_NAME_MAX];
  	char d_new_name[ORANGEFS_NAME_MAX];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
79
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
80
  struct orangefs_statfs_request_s {
f7ab093f7   Mike Marshall   Orangefs: kernel ...
81
82
83
  	__s32 fs_id;
  	__s32 __pad1;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
84
85
  struct orangefs_truncate_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
86
87
  	__s64 size;
  };
6eaff8c77   Martin Brandenburg   orangefs: rename ...
88
  struct orangefs_ra_cache_flush_request_s {
8bb8aefd5   Yi Liu   OrangeFS: Change ...
89
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
90
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
91
92
  struct orangefs_fs_mount_request_s {
  	char orangefs_config_server[ORANGEFS_MAX_SERVER_ADDR_LEN];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
93
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
94
  struct orangefs_fs_umount_request_s {
f7ab093f7   Mike Marshall   Orangefs: kernel ...
95
96
  	__s32 id;
  	__s32 fs_id;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
97
  	char orangefs_config_server[ORANGEFS_MAX_SERVER_ADDR_LEN];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
98
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
99
100
  struct orangefs_getxattr_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
101
102
  	__s32 key_sz;
  	__s32 __pad1;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
103
  	char key[ORANGEFS_MAX_XATTR_NAMELEN];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
104
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
105
106
107
  struct orangefs_setxattr_request_s {
  	struct orangefs_object_kref refn;
  	struct ORANGEFS_keyval_pair keyval;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
108
109
110
  	__s32 flags;
  	__s32 __pad1;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
111
112
  struct orangefs_listxattr_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
113
114
115
116
  	__s32 requested_count;
  	__s32 __pad1;
  	__u64 token;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
117
118
  struct orangefs_removexattr_request_s {
  	struct orangefs_object_kref refn;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
119
120
  	__s32 key_sz;
  	__s32 __pad1;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
121
  	char key[ORANGEFS_MAX_XATTR_NAMELEN];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
122
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
123
  struct orangefs_op_cancel_s {
f7ab093f7   Mike Marshall   Orangefs: kernel ...
124
125
  	__u64 op_tag;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
  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,
a6dff80a9   Martin Brandenburg   orangefs: add mis...
161
162
163
  	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_SIZE = 26,
  	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_COUNT = 27,
  	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_COUNT_SIZE = 28,
8bb8aefd5   Yi Liu   OrangeFS: Change ...
164
165
166
167
168
  };
  
  struct orangefs_param_request_s {
  	enum orangefs_param_request_type type;
  	enum orangefs_param_request_op op;
680908e50   Martin Brandenburg   orangefs: turn pa...
169
170
171
172
  	union {
  		__s64 value64;
  		__s32 value32[2];
  	} u;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
173
  	char s_value[ORANGEFS_MAX_DEBUG_STRING_LEN];
f7ab093f7   Mike Marshall   Orangefs: kernel ...
174
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
175
176
177
178
  enum orangefs_perf_count_request_type {
  	ORANGEFS_PERF_COUNT_REQUEST_ACACHE = 1,
  	ORANGEFS_PERF_COUNT_REQUEST_NCACHE = 2,
  	ORANGEFS_PERF_COUNT_REQUEST_CAPCACHE = 3,
f7ab093f7   Mike Marshall   Orangefs: kernel ...
179
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
180
181
  struct orangefs_perf_count_request_s {
  	enum orangefs_perf_count_request_type type;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
182
183
  	__s32 __pad1;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
184
  struct orangefs_fs_key_request_s {
f7ab093f7   Mike Marshall   Orangefs: kernel ...
185
186
187
  	__s32 fsid;
  	__s32 __pad1;
  };
482664ddb   Martin Brandenburg   orangefs: add fea...
188
189
190
191
  /* 2.9.6 */
  struct orangefs_features_request_s {
  	__u64 features;
  };
8bb8aefd5   Yi Liu   OrangeFS: Change ...
192
  struct orangefs_upcall_s {
f7ab093f7   Mike Marshall   Orangefs: kernel ...
193
194
195
196
197
  	__s32 type;
  	__u32 uid;
  	__u32 gid;
  	int pid;
  	int tgid;
f0ed4418d   Martin Brandenburg   Orangefs: Remove ...
198
  	/* Trailers unused but must be retained for protocol compatibility. */
f7ab093f7   Mike Marshall   Orangefs: kernel ...
199
200
201
202
  	__s64 trailer_size;
  	char *trailer_buf;
  
  	union {
8bb8aefd5   Yi Liu   OrangeFS: Change ...
203
204
205
206
207
208
209
210
211
212
213
214
215
  		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;
6eaff8c77   Martin Brandenburg   orangefs: rename ...
216
  		struct orangefs_ra_cache_flush_request_s ra_cache_flush;
8bb8aefd5   Yi Liu   OrangeFS: Change ...
217
218
219
220
221
222
223
224
225
226
227
  		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;
482664ddb   Martin Brandenburg   orangefs: add fea...
228
  		struct orangefs_features_request_s features;
f7ab093f7   Mike Marshall   Orangefs: kernel ...
229
230
231
232
  	} req;
  };
  
  #endif /* __UPCALL_H */