Blame view
include/linux/nfs_xdr.h
29.7 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 |
#ifndef _LINUX_NFS_XDR_H #define _LINUX_NFS_XDR_H |
b7fa0554c [PATCH] NFS: Add ... |
3 |
#include <linux/nfsacl.h> |
d70315822 nfsd: Fix indepen... |
4 |
#include <linux/nfs3.h> |
5a5ea0d48 NFS: Add secinfo ... |
5 |
#include <linux/sunrpc/gss_api.h> |
1da177e4c Linux-2.6.12-rc2 |
6 |
|
40859d7ee NFS: support larg... |
7 8 9 10 11 12 13 14 15 |
/* * To change the maximum rsize and wsize supported by the NFS client, adjust * NFS_MAX_FILE_IO_SIZE. 64KB is a typical maximum, but some servers can * support a megabyte or more. The default is left at 4096 bytes, which is * reasonable for NFS over UDP. */ #define NFS_MAX_FILE_IO_SIZE (1048576U) #define NFS_DEF_FILE_IO_SIZE (4096U) #define NFS_MIN_FILE_IO_SIZE (1024U) |
5a5ea0d48 NFS: Add secinfo ... |
16 17 |
/* Forward declaration for NFS v3 */ struct nfs4_secinfo_flavors; |
6926afd19 NFSv4: Save the o... |
18 19 20 21 |
struct nfs4_string { unsigned int len; char *data; }; |
8b4bdcf89 NFS: Store the fi... |
22 23 24 |
struct nfs_fsid { uint64_t major; uint64_t minor; |
1da177e4c Linux-2.6.12-rc2 |
25 |
}; |
8b4bdcf89 NFS: Store the fi... |
26 27 28 29 30 31 32 |
/* * Helper for checking equality between 2 fsids. */ static inline int nfs_fsid_equal(const struct nfs_fsid *a, const struct nfs_fsid *b) { return a->major == b->major && a->minor == b->minor; } |
1da177e4c Linux-2.6.12-rc2 |
33 |
struct nfs_fattr { |
9e6e70f8d NFSv4: Support NF... |
34 |
unsigned int valid; /* which fields are valid */ |
bca794785 NFS: Fix the type... |
35 |
umode_t mode; |
1da177e4c Linux-2.6.12-rc2 |
36 37 38 |
__u32 nlink; __u32 uid; __u32 gid; |
9fa8d66f1 NFS: remove 8 byt... |
39 |
dev_t rdev; |
1da177e4c Linux-2.6.12-rc2 |
40 41 42 43 44 45 46 47 48 49 |
__u64 size; union { struct { __u32 blocksize; __u32 blocks; } nfs2; struct { __u64 used; } nfs3; } du; |
8b4bdcf89 NFS: Store the fi... |
50 |
struct nfs_fsid fsid; |
1da177e4c Linux-2.6.12-rc2 |
51 |
__u64 fileid; |
28331a46d NFSv4: Ensure we ... |
52 |
__u64 mounted_on_fileid; |
1da177e4c Linux-2.6.12-rc2 |
53 54 55 |
struct timespec atime; struct timespec mtime; struct timespec ctime; |
1da177e4c Linux-2.6.12-rc2 |
56 57 |
__u64 change_attr; /* NFSv4 change attribute */ __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ |
1ca277d88 NFS: Shrink the s... |
58 59 60 |
__u64 pre_size; /* pre_op_attr.size */ struct timespec pre_mtime; /* pre_op_attr.mtime */ struct timespec pre_ctime; /* pre_op_attr.ctime */ |
33801147a NFS: Optimise ino... |
61 |
unsigned long time_start; |
4704f0e27 NFS: Fix the reso... |
62 |
unsigned long gencount; |
6926afd19 NFSv4: Save the o... |
63 64 |
struct nfs4_string *owner_name; struct nfs4_string *group_name; |
1da177e4c Linux-2.6.12-rc2 |
65 |
}; |
9e6e70f8d NFSv4: Support NF... |
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#define NFS_ATTR_FATTR_TYPE (1U << 0) #define NFS_ATTR_FATTR_MODE (1U << 1) #define NFS_ATTR_FATTR_NLINK (1U << 2) #define NFS_ATTR_FATTR_OWNER (1U << 3) #define NFS_ATTR_FATTR_GROUP (1U << 4) #define NFS_ATTR_FATTR_RDEV (1U << 5) #define NFS_ATTR_FATTR_SIZE (1U << 6) #define NFS_ATTR_FATTR_PRESIZE (1U << 7) #define NFS_ATTR_FATTR_BLOCKS_USED (1U << 8) #define NFS_ATTR_FATTR_SPACE_USED (1U << 9) #define NFS_ATTR_FATTR_FSID (1U << 10) #define NFS_ATTR_FATTR_FILEID (1U << 11) #define NFS_ATTR_FATTR_ATIME (1U << 12) #define NFS_ATTR_FATTR_MTIME (1U << 13) #define NFS_ATTR_FATTR_CTIME (1U << 14) #define NFS_ATTR_FATTR_PREMTIME (1U << 15) #define NFS_ATTR_FATTR_PRECTIME (1U << 16) #define NFS_ATTR_FATTR_CHANGE (1U << 17) #define NFS_ATTR_FATTR_PRECHANGE (1U << 18) #define NFS_ATTR_FATTR_V4_REFERRAL (1U << 19) /* NFSv4 referral */ |
7ebb93159 NFS: use secinfo ... |
86 |
#define NFS_ATTR_FATTR_MOUNTPOINT (1U << 20) /* Treat as mountpoint */ |
28331a46d NFSv4: Ensure we ... |
87 |
#define NFS_ATTR_FATTR_MOUNTED_ON_FILEID (1U << 21) |
6926afd19 NFSv4: Save the o... |
88 89 |
#define NFS_ATTR_FATTR_OWNER_NAME (1U << 22) #define NFS_ATTR_FATTR_GROUP_NAME (1U << 23) |
9e6e70f8d NFSv4: Support NF... |
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
#define NFS_ATTR_FATTR (NFS_ATTR_FATTR_TYPE \ | NFS_ATTR_FATTR_MODE \ | NFS_ATTR_FATTR_NLINK \ | NFS_ATTR_FATTR_OWNER \ | NFS_ATTR_FATTR_GROUP \ | NFS_ATTR_FATTR_RDEV \ | NFS_ATTR_FATTR_SIZE \ | NFS_ATTR_FATTR_FSID \ | NFS_ATTR_FATTR_FILEID \ | NFS_ATTR_FATTR_ATIME \ | NFS_ATTR_FATTR_MTIME \ | NFS_ATTR_FATTR_CTIME) #define NFS_ATTR_FATTR_V2 (NFS_ATTR_FATTR \ | NFS_ATTR_FATTR_BLOCKS_USED) #define NFS_ATTR_FATTR_V3 (NFS_ATTR_FATTR \ | NFS_ATTR_FATTR_SPACE_USED) #define NFS_ATTR_FATTR_V4 (NFS_ATTR_FATTR \ | NFS_ATTR_FATTR_SPACE_USED \ | NFS_ATTR_FATTR_CHANGE) |
1da177e4c Linux-2.6.12-rc2 |
110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
/* * Info on the file system */ struct nfs_fsinfo { struct nfs_fattr *fattr; /* Post-op attributes */ __u32 rtmax; /* max. read transfer size */ __u32 rtpref; /* pref. read transfer size */ __u32 rtmult; /* reads should be multiple of this */ __u32 wtmax; /* max. write transfer size */ __u32 wtpref; /* pref. write transfer size */ __u32 wtmult; /* writes should be multiple of this */ __u32 dtpref; /* pref. readdir transfer size */ __u64 maxfilesize; |
6b96724e5 Revalidate caches... |
124 |
struct timespec time_delta; /* server time granularity */ |
1da177e4c Linux-2.6.12-rc2 |
125 |
__u32 lease_time; /* in seconds */ |
504913fbc NFS: ask for layo... |
126 |
__u32 layouttype; /* supported pnfs layout driver */ |
dae100c2b pnfs: ask for lay... |
127 |
__u32 blksize; /* preferred pnfs io block size */ |
1da177e4c Linux-2.6.12-rc2 |
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 |
}; struct nfs_fsstat { struct nfs_fattr *fattr; /* Post-op attributes */ __u64 tbytes; /* total size in bytes */ __u64 fbytes; /* # of free bytes */ __u64 abytes; /* # of bytes available to user */ __u64 tfiles; /* # of files */ __u64 ffiles; /* # of free files */ __u64 afiles; /* # of files available to user */ }; struct nfs2_fsstat { __u32 tsize; /* Server transfer size */ __u32 bsize; /* Filesystem block size */ __u32 blocks; /* No. of "bsize" blocks on filesystem */ __u32 bfree; /* No. of free "bsize" blocks */ __u32 bavail; /* No. of available "bsize" blocks */ }; struct nfs_pathconf { struct nfs_fattr *fattr; /* Post-op attributes */ __u32 max_link; /* max # of hard links */ __u32 max_namelen; /* max name length */ }; struct nfs4_change_info { u32 atomic; u64 before; u64 after; }; |
cee54fc94 NFSv4: Add functi... |
159 |
struct nfs_seqid; |
9ff71c3a9 nfs41: client xdr... |
160 |
|
557134a39 nfs41: sessions c... |
161 162 |
/* nfs41 sessions channel attributes */ struct nfs4_channel_attrs { |
557134a39 nfs41: sessions c... |
163 164 165 166 167 168 169 170 171 172 173 |
u32 max_rqst_sz; u32 max_resp_sz; u32 max_resp_sz_cached; u32 max_ops; u32 max_reqs; }; /* nfs41 sessions slot seqid */ struct nfs4_slot { u32 seq_nr; }; |
9ff71c3a9 nfs41: client xdr... |
174 |
struct nfs4_sequence_args { |
f3752975c nfs41: nfs41: pas... |
175 |
struct nfs4_session *sa_session; |
fbcd4abcb nfs41: setup_sequ... |
176 177 |
u8 sa_slotid; u8 sa_cache_this; |
9ff71c3a9 nfs41: client xdr... |
178 179 180 |
}; struct nfs4_sequence_res { |
f3752975c nfs41: nfs41: pas... |
181 |
struct nfs4_session *sr_session; |
dfb4f3098 NFSv4.1: keep seq... |
182 |
struct nfs4_slot *sr_slot; /* slot used to send request */ |
fbcd4abcb nfs41: setup_sequ... |
183 |
int sr_status; /* sequence operation status */ |
a01878aac NFS: reorder nfs4... |
184 |
unsigned long sr_renewal_time; |
0629e370d nfs41: check SEQU... |
185 |
u32 sr_status_flags; |
9ff71c3a9 nfs41: client xdr... |
186 |
}; |
2050f0cc0 nfs41: get_lease_... |
187 188 189 190 191 192 193 194 |
struct nfs4_get_lease_time_args { struct nfs4_sequence_args la_seq_args; }; struct nfs4_get_lease_time_res { struct nfs_fsinfo *lr_fsinfo; struct nfs4_sequence_res lr_seq_res; }; |
b1f69b754 NFSv4.1: pnfs: ad... |
195 196 197 |
#define PNFS_LAYOUT_MAXSIZE 4096 struct nfs4_layoutdriver_data { |
35124a099 Cleanup XDR parsi... |
198 199 |
struct page **pages; __u32 pglen; |
b1f69b754 NFSv4.1: pnfs: ad... |
200 |
__u32 len; |
b1f69b754 NFSv4.1: pnfs: ad... |
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
}; struct pnfs_layout_range { u32 iomode; u64 offset; u64 length; }; struct nfs4_layoutget_args { __u32 type; struct pnfs_layout_range range; __u64 minlength; __u32 maxcount; struct inode *inode; struct nfs_open_context *ctx; struct nfs4_sequence_args seq_args; |
cf7d63f1f pnfs: serialize L... |
217 |
nfs4_stateid stateid; |
35124a099 Cleanup XDR parsi... |
218 |
struct nfs4_layoutdriver_data layout; |
b1f69b754 NFSv4.1: pnfs: ad... |
219 220 221 222 223 224 225 |
}; struct nfs4_layoutget_res { __u32 return_on_close; struct pnfs_layout_range range; __u32 type; nfs4_stateid stateid; |
b1f69b754 NFSv4.1: pnfs: ad... |
226 |
struct nfs4_sequence_res seq_res; |
35124a099 Cleanup XDR parsi... |
227 |
struct nfs4_layoutdriver_data *layoutp; |
b1f69b754 NFSv4.1: pnfs: ad... |
228 229 230 231 232 233 |
}; struct nfs4_layoutget { struct nfs4_layoutget_args args; struct nfs4_layoutget_res res; struct pnfs_layout_segment **lsegpp; |
a75b9df9d NFSv4.1: Ensure t... |
234 |
gfp_t gfp_flags; |
b1f69b754 NFSv4.1: pnfs: ad... |
235 |
}; |
7f11d8d38 pnfs: GETDEVICELIST |
236 237 238 239 240 241 242 243 244 245 |
struct nfs4_getdevicelist_args { const struct nfs_fh *fh; u32 layoutclass; struct nfs4_sequence_args seq_args; }; struct nfs4_getdevicelist_res { struct pnfs_devicelist *devlist; struct nfs4_sequence_res seq_res; }; |
b1f69b754 NFSv4.1: pnfs: ad... |
246 247 248 249 250 251 252 253 254 |
struct nfs4_getdeviceinfo_args { struct pnfs_device *pdev; struct nfs4_sequence_args seq_args; }; struct nfs4_getdeviceinfo_res { struct pnfs_device *pdev; struct nfs4_sequence_res seq_res; }; |
863a3c6c6 NFSv4.1: layoutco... |
255 256 257 258 259 260 261 262 263 264 265 266 |
struct nfs4_layoutcommit_args { nfs4_stateid stateid; __u64 lastbytewritten; struct inode *inode; const u32 *bitmask; struct nfs4_sequence_args seq_args; }; struct nfs4_layoutcommit_res { struct nfs_fattr *fattr; const struct nfs_server *server; struct nfs4_sequence_res seq_res; |
db29c0890 pnfs: cleanup_lay... |
267 |
int status; |
863a3c6c6 NFSv4.1: layoutco... |
268 269 270 271 272 |
}; struct nfs4_layoutcommit_data { struct rpc_task task; struct nfs_fattr fattr; |
a9bae5666 pnfs: let layoutc... |
273 |
struct list_head lseg_list; |
863a3c6c6 NFSv4.1: layoutco... |
274 275 276 277 |
struct rpc_cred *cred; struct nfs4_layoutcommit_args args; struct nfs4_layoutcommit_res res; }; |
cbe826036 pnfs: layoutreturn |
278 |
struct nfs4_layoutreturn_args { |
a56aaa02b NFSv4.1: Clean up... |
279 |
struct pnfs_layout_hdr *layout; |
cbe826036 pnfs: layoutreturn |
280 281 |
struct inode *inode; nfs4_stateid stateid; |
a56aaa02b NFSv4.1: Clean up... |
282 |
__u32 layout_type; |
cbe826036 pnfs: layoutreturn |
283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 |
struct nfs4_sequence_args seq_args; }; struct nfs4_layoutreturn_res { struct nfs4_sequence_res seq_res; u32 lrs_present; nfs4_stateid stateid; }; struct nfs4_layoutreturn { struct nfs4_layoutreturn_args args; struct nfs4_layoutreturn_res res; struct rpc_cred *cred; struct nfs_client *clp; int rpc_status; }; |
1da177e4c Linux-2.6.12-rc2 |
299 300 301 302 303 |
/* * Arguments to the open call. */ struct nfs_openargs { const struct nfs_fh * fh; |
cee54fc94 NFSv4: Add functi... |
304 |
struct nfs_seqid * seqid; |
1da177e4c Linux-2.6.12-rc2 |
305 |
int open_flags; |
dc0b027df NFSv4: Convert th... |
306 |
fmode_t fmode; |
1da177e4c Linux-2.6.12-rc2 |
307 |
__u64 clientid; |
9f958ab88 NFSv4: Reduce the... |
308 |
__u64 id; |
1da177e4c Linux-2.6.12-rc2 |
309 |
union { |
d77d76ffb NFSv41: Clean up ... |
310 311 312 313 |
struct { struct iattr * attrs; /* UNCHECKED, GUARDED */ nfs4_verifier verifier; /* EXCLUSIVE */ }; |
1da177e4c Linux-2.6.12-rc2 |
314 |
nfs4_stateid delegation; /* CLAIM_DELEGATE_CUR */ |
bd7bf9d54 NFSv4: Convert de... |
315 |
fmode_t delegation_type; /* CLAIM_PREVIOUS */ |
1da177e4c Linux-2.6.12-rc2 |
316 317 318 319 |
} u; const struct qstr * name; const struct nfs_server *server; /* Needed for ID mapping */ const u32 * bitmask; |
6926afd19 NFSv4: Save the o... |
320 |
const u32 * dir_bitmask; |
1da177e4c Linux-2.6.12-rc2 |
321 |
__u32 claim; |
9ff71c3a9 nfs41: client xdr... |
322 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
323 324 325 326 327 328 329 330 |
}; struct nfs_openres { nfs4_stateid stateid; struct nfs_fh fh; struct nfs4_change_info cinfo; __u32 rflags; struct nfs_fattr * f_attr; |
56ae19f38 NFSv4: Add direct... |
331 |
struct nfs_fattr * dir_attr; |
c1d519312 NFSv4: Only incre... |
332 |
struct nfs_seqid * seqid; |
1da177e4c Linux-2.6.12-rc2 |
333 |
const struct nfs_server *server; |
bd7bf9d54 NFSv4: Convert de... |
334 |
fmode_t delegation_type; |
1da177e4c Linux-2.6.12-rc2 |
335 336 337 |
nfs4_stateid delegation; __u32 do_recall; __u64 maxsize; |
aa53ed541 NFS4: on a O_EXCL... |
338 |
__u32 attrset[NFS4_BITMAP_SIZE]; |
6926afd19 NFSv4: Save the o... |
339 340 |
struct nfs4_string *owner; struct nfs4_string *group_owner; |
9ff71c3a9 nfs41: client xdr... |
341 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
342 343 344 345 346 347 348 |
}; /* * Arguments to the open_confirm call. */ struct nfs_open_confirmargs { const struct nfs_fh * fh; |
cdd4e68b5 NFSv4: Make open_... |
349 |
nfs4_stateid * stateid; |
cee54fc94 NFSv4: Add functi... |
350 |
struct nfs_seqid * seqid; |
1da177e4c Linux-2.6.12-rc2 |
351 352 353 354 |
}; struct nfs_open_confirmres { nfs4_stateid stateid; |
c1d519312 NFSv4: Only incre... |
355 |
struct nfs_seqid * seqid; |
1da177e4c Linux-2.6.12-rc2 |
356 357 358 359 360 361 362 |
}; /* * Arguments to the close call. */ struct nfs_closeargs { struct nfs_fh * fh; |
9512135df NFSv4: Fix a pote... |
363 |
nfs4_stateid * stateid; |
cee54fc94 NFSv4: Add functi... |
364 |
struct nfs_seqid * seqid; |
dc0b027df NFSv4: Convert th... |
365 |
fmode_t fmode; |
516a6af64 NFS: Add optional... |
366 |
const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
367 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
368 369 370 371 |
}; struct nfs_closeres { nfs4_stateid stateid; |
516a6af64 NFS: Add optional... |
372 |
struct nfs_fattr * fattr; |
c1d519312 NFSv4: Only incre... |
373 |
struct nfs_seqid * seqid; |
516a6af64 NFS: Add optional... |
374 |
const struct nfs_server *server; |
9ff71c3a9 nfs41: client xdr... |
375 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
376 377 378 379 380 |
}; /* * * Arguments to the lock,lockt, and locku call. * */ struct nfs_lowner { |
911d1aaf2 NFSv4: locking XD... |
381 |
__u64 clientid; |
9f958ab88 NFSv4: Reduce the... |
382 |
__u64 id; |
d035c36c5 NFSv4: Ensure con... |
383 |
dev_t s_dev; |
1da177e4c Linux-2.6.12-rc2 |
384 |
}; |
911d1aaf2 NFSv4: locking XD... |
385 386 387 |
struct nfs_lock_args { struct nfs_fh * fh; struct file_lock * fl; |
cee54fc94 NFSv4: Add functi... |
388 |
struct nfs_seqid * lock_seqid; |
06735b345 NFSv4: Fix up han... |
389 390 391 |
nfs4_stateid * lock_stateid; struct nfs_seqid * open_seqid; nfs4_stateid * open_stateid; |
911d1aaf2 NFSv4: locking XD... |
392 393 394 395 |
struct nfs_lowner lock_owner; unsigned char block : 1; unsigned char reclaim : 1; unsigned char new_lock_owner : 1; |
9ff71c3a9 nfs41: client xdr... |
396 |
struct nfs4_sequence_args seq_args; |
911d1aaf2 NFSv4: locking XD... |
397 398 399 |
}; struct nfs_lock_res { |
c1d519312 NFSv4: Only incre... |
400 401 402 |
nfs4_stateid stateid; struct nfs_seqid * lock_seqid; struct nfs_seqid * open_seqid; |
9ff71c3a9 nfs41: client xdr... |
403 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
404 |
}; |
911d1aaf2 NFSv4: locking XD... |
405 406 407 |
struct nfs_locku_args { struct nfs_fh * fh; struct file_lock * fl; |
cee54fc94 NFSv4: Add functi... |
408 |
struct nfs_seqid * seqid; |
faf5f49c2 NFSv4: Make NFS c... |
409 |
nfs4_stateid * stateid; |
9ff71c3a9 nfs41: client xdr... |
410 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
411 |
}; |
911d1aaf2 NFSv4: locking XD... |
412 |
struct nfs_locku_res { |
c1d519312 NFSv4: Only incre... |
413 414 |
nfs4_stateid stateid; struct nfs_seqid * seqid; |
9ff71c3a9 nfs41: client xdr... |
415 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
416 |
}; |
911d1aaf2 NFSv4: locking XD... |
417 418 419 420 |
struct nfs_lockt_args { struct nfs_fh * fh; struct file_lock * fl; struct nfs_lowner lock_owner; |
9ff71c3a9 nfs41: client xdr... |
421 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
422 |
}; |
911d1aaf2 NFSv4: locking XD... |
423 424 |
struct nfs_lockt_res { struct file_lock * denied; /* LOCK, LOCKT failed */ |
9ff71c3a9 nfs41: client xdr... |
425 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
426 |
}; |
d3c7b7ccc NFSv4: Add suppor... |
427 428 429 |
struct nfs_release_lockowner_args { struct nfs_lowner lock_owner; }; |
1da177e4c Linux-2.6.12-rc2 |
430 431 432 |
struct nfs4_delegreturnargs { const struct nfs_fh *fhandle; const nfs4_stateid *stateid; |
fa178f29c NFSv4: Ensure DEL... |
433 |
const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
434 |
struct nfs4_sequence_args seq_args; |
fa178f29c NFSv4: Ensure DEL... |
435 436 437 438 439 |
}; struct nfs4_delegreturnres { struct nfs_fattr * fattr; const struct nfs_server *server; |
9ff71c3a9 nfs41: client xdr... |
440 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
441 442 443 444 445 |
}; /* * Arguments to the read call. */ |
1da177e4c Linux-2.6.12-rc2 |
446 447 448 |
struct nfs_readargs { struct nfs_fh * fh; struct nfs_open_context *context; |
f11ac8db5 NFSv4: Ensure tha... |
449 |
struct nfs_lock_context *lock_context; |
1da177e4c Linux-2.6.12-rc2 |
450 451 452 453 |
__u64 offset; __u32 count; unsigned int pgbase; struct page ** pages; |
9ff71c3a9 nfs41: client xdr... |
454 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
455 456 457 458 459 460 |
}; struct nfs_readres { struct nfs_fattr * fattr; __u32 count; int eof; |
9ff71c3a9 nfs41: client xdr... |
461 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
462 463 464 465 466 |
}; /* * Arguments to the write call. */ |
1da177e4c Linux-2.6.12-rc2 |
467 468 469 |
struct nfs_writeargs { struct nfs_fh * fh; struct nfs_open_context *context; |
f11ac8db5 NFSv4: Ensure tha... |
470 |
struct nfs_lock_context *lock_context; |
1da177e4c Linux-2.6.12-rc2 |
471 472 473 474 475 |
__u64 offset; __u32 count; enum nfs3_stable_how stable; unsigned int pgbase; struct page ** pages; |
4f9838c7e NFSv4: Add post-o... |
476 |
const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
477 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
478 479 480 481 |
}; struct nfs_writeverf { enum nfs3_stable_how committed; |
bc4785cd4 [PATCH] nfs: veri... |
482 |
__be32 verifier[2]; |
1da177e4c Linux-2.6.12-rc2 |
483 484 485 486 487 488 |
}; struct nfs_writeres { struct nfs_fattr * fattr; struct nfs_writeverf * verf; __u32 count; |
4f9838c7e NFSv4: Add post-o... |
489 |
const struct nfs_server *server; |
9ff71c3a9 nfs41: client xdr... |
490 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
491 492 493 |
}; /* |
4fdc17b2a NFS: Introduce st... |
494 495 496 497 498 499 |
* Common arguments to the unlink call */ struct nfs_removeargs { const struct nfs_fh *fh; struct qstr name; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
500 |
struct nfs4_sequence_args seq_args; |
4fdc17b2a NFS: Introduce st... |
501 502 503 504 |
}; struct nfs_removeres { const struct nfs_server *server; |
d346890be NFS: Reduce stack... |
505 |
struct nfs_fattr *dir_attr; |
4fdc17b2a NFS: Introduce st... |
506 |
struct nfs4_change_info cinfo; |
9ff71c3a9 nfs41: client xdr... |
507 |
struct nfs4_sequence_res seq_res; |
4fdc17b2a NFS: Introduce st... |
508 509 510 |
}; /* |
920769f03 nfs: standardize ... |
511 512 513 514 515 516 517 518 519 520 |
* Common arguments to the rename call */ struct nfs_renameargs { const struct nfs_fh *old_dir; const struct nfs_fh *new_dir; const struct qstr *old_name; const struct qstr *new_name; const u32 *bitmask; struct nfs4_sequence_args seq_args; }; |
e8582a8b9 nfs: standardize ... |
521 522 523 524 525 526 527 528 |
struct nfs_renameres { const struct nfs_server *server; struct nfs4_change_info old_cinfo; struct nfs_fattr *old_fattr; struct nfs4_change_info new_cinfo; struct nfs_fattr *new_fattr; struct nfs4_sequence_res seq_res; }; |
920769f03 nfs: standardize ... |
529 |
/* |
1da177e4c Linux-2.6.12-rc2 |
530 531 532 533 534 535 536 537 538 539 540 |
* Argument struct for decode_entry function */ struct nfs_entry { __u64 ino; __u64 cookie, prev_cookie; const char * name; unsigned int len; int eof; struct nfs_fh * fh; struct nfs_fattr * fattr; |
0b26a0bf6 NFS: Ensure we re... |
541 |
unsigned char d_type; |
573c4e1ef NFS: Simplify ->d... |
542 |
struct nfs_server * server; |
1da177e4c Linux-2.6.12-rc2 |
543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 |
}; /* * The following types are for NFSv2 only. */ struct nfs_sattrargs { struct nfs_fh * fh; struct iattr * sattr; }; struct nfs_diropargs { struct nfs_fh * fh; const char * name; unsigned int len; }; struct nfs_createargs { struct nfs_fh * fh; const char * name; unsigned int len; struct iattr * sattr; }; |
1da177e4c Linux-2.6.12-rc2 |
565 566 567 568 569 570 |
struct nfs_setattrargs { struct nfs_fh * fh; nfs4_stateid stateid; struct iattr * iap; const struct nfs_server * server; /* Needed for name mapping */ const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
571 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
572 |
}; |
23ec6965c [PATCH] NFSv4: Cl... |
573 574 575 576 577 |
struct nfs_setaclargs { struct nfs_fh * fh; size_t acl_len; unsigned int acl_pgbase; struct page ** acl_pages; |
9ff71c3a9 nfs41: client xdr... |
578 |
struct nfs4_sequence_args seq_args; |
23ec6965c [PATCH] NFSv4: Cl... |
579 |
}; |
73c403a9a nfs41: use nfs4_s... |
580 581 582 |
struct nfs_setaclres { struct nfs4_sequence_res seq_res; }; |
029d105e6 [PATCH] NFSv4: Cl... |
583 584 585 586 587 |
struct nfs_getaclargs { struct nfs_fh * fh; size_t acl_len; unsigned int acl_pgbase; struct page ** acl_pages; |
bf118a342 NFSv4: include bi... |
588 |
struct page * acl_scratch; |
9ff71c3a9 nfs41: client xdr... |
589 |
struct nfs4_sequence_args seq_args; |
029d105e6 [PATCH] NFSv4: Cl... |
590 |
}; |
bf118a342 NFSv4: include bi... |
591 592 |
/* getxattr ACL interface flags */ #define NFS4_ACL_LEN_REQUEST 0x0001 /* zero length getxattr buffer */ |
663c79b3c nfs41: use nfs4_g... |
593 594 |
struct nfs_getaclres { size_t acl_len; |
bf118a342 NFSv4: include bi... |
595 596 |
size_t acl_data_offset; int acl_flags; |
663c79b3c nfs41: use nfs4_g... |
597 598 |
struct nfs4_sequence_res seq_res; }; |
1da177e4c Linux-2.6.12-rc2 |
599 600 601 |
struct nfs_setattrres { struct nfs_fattr * fattr; const struct nfs_server * server; |
9ff71c3a9 nfs41: client xdr... |
602 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
603 604 605 606 607 608 609 610 611 612 613 614 615 |
}; struct nfs_linkargs { struct nfs_fh * fromfh; struct nfs_fh * tofh; const char * toname; unsigned int tolen; }; struct nfs_symlinkargs { struct nfs_fh * fromfh; const char * fromname; unsigned int fromlen; |
94a6d7532 NFS: Use cached p... |
616 617 |
struct page ** pages; unsigned int pathlen; |
1da177e4c Linux-2.6.12-rc2 |
618 619 620 621 622 623 624 625 626 |
struct iattr * sattr; }; struct nfs_readdirargs { struct nfs_fh * fh; __u32 cookie; unsigned int count; struct page ** pages; }; |
b7fa0554c [PATCH] NFS: Add ... |
627 628 629 630 631 632 633 634 635 636 637 |
struct nfs3_getaclargs { struct nfs_fh * fh; int mask; struct page ** pages; }; struct nfs3_setaclargs { struct inode * inode; int mask; struct posix_acl * acl_access; struct posix_acl * acl_default; |
ae46141ff NFSv3: Fix posix ... |
638 639 |
size_t len; unsigned int npages; |
b7fa0554c [PATCH] NFS: Add ... |
640 641 |
struct page ** pages; }; |
1da177e4c Linux-2.6.12-rc2 |
642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 |
struct nfs_diropok { struct nfs_fh * fh; struct nfs_fattr * fattr; }; struct nfs_readlinkargs { struct nfs_fh * fh; unsigned int pgbase; unsigned int pglen; struct page ** pages; }; struct nfs3_sattrargs { struct nfs_fh * fh; struct iattr * sattr; unsigned int guard; struct timespec guardtime; }; struct nfs3_diropargs { struct nfs_fh * fh; const char * name; unsigned int len; }; struct nfs3_accessargs { struct nfs_fh * fh; __u32 access; }; struct nfs3_createargs { struct nfs_fh * fh; const char * name; unsigned int len; struct iattr * sattr; enum nfs3_createmode createmode; |
bc4785cd4 [PATCH] nfs: veri... |
678 |
__be32 verifier[2]; |
1da177e4c Linux-2.6.12-rc2 |
679 680 681 682 683 684 685 686 687 688 689 690 691 |
}; struct nfs3_mkdirargs { struct nfs_fh * fh; const char * name; unsigned int len; struct iattr * sattr; }; struct nfs3_symlinkargs { struct nfs_fh * fromfh; const char * fromname; unsigned int fromlen; |
94a6d7532 NFS: Use cached p... |
692 693 |
struct page ** pages; unsigned int pathlen; |
1da177e4c Linux-2.6.12-rc2 |
694 695 696 697 698 699 700 701 702 703 704 |
struct iattr * sattr; }; struct nfs3_mknodargs { struct nfs_fh * fh; const char * name; unsigned int len; enum nfs3_ftype type; struct iattr * sattr; dev_t rdev; }; |
1da177e4c Linux-2.6.12-rc2 |
705 706 707 708 709 710 711 712 713 714 |
struct nfs3_linkargs { struct nfs_fh * fromfh; struct nfs_fh * tofh; const char * toname; unsigned int tolen; }; struct nfs3_readdirargs { struct nfs_fh * fh; __u64 cookie; |
bc4785cd4 [PATCH] nfs: veri... |
715 |
__be32 verf[2]; |
1da177e4c Linux-2.6.12-rc2 |
716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 |
int plus; unsigned int count; struct page ** pages; }; struct nfs3_diropres { struct nfs_fattr * dir_attr; struct nfs_fh * fh; struct nfs_fattr * fattr; }; struct nfs3_accessres { struct nfs_fattr * fattr; __u32 access; }; struct nfs3_readlinkargs { struct nfs_fh * fh; unsigned int pgbase; unsigned int pglen; struct page ** pages; }; |
1da177e4c Linux-2.6.12-rc2 |
738 739 740 741 742 743 744 |
struct nfs3_linkres { struct nfs_fattr * dir_attr; struct nfs_fattr * fattr; }; struct nfs3_readdirres { struct nfs_fattr * dir_attr; |
bc4785cd4 [PATCH] nfs: veri... |
745 |
__be32 * verf; |
1da177e4c Linux-2.6.12-rc2 |
746 747 |
int plus; }; |
b7fa0554c [PATCH] NFS: Add ... |
748 749 750 751 752 753 754 755 |
struct nfs3_getaclres { struct nfs_fattr * fattr; int mask; unsigned int acl_access_count; unsigned int acl_default_count; struct posix_acl * acl_access; struct posix_acl * acl_default; }; |
1da177e4c Linux-2.6.12-rc2 |
756 757 758 759 760 761 |
#ifdef CONFIG_NFS_V4 typedef u64 clientid4; struct nfs4_accessargs { const struct nfs_fh * fh; |
76b32999d NFSv4: Make NFSv4... |
762 |
const u32 * bitmask; |
1da177e4c Linux-2.6.12-rc2 |
763 |
u32 access; |
9ff71c3a9 nfs41: client xdr... |
764 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
765 766 767 |
}; struct nfs4_accessres { |
76b32999d NFSv4: Make NFSv4... |
768 769 |
const struct nfs_server * server; struct nfs_fattr * fattr; |
1da177e4c Linux-2.6.12-rc2 |
770 771 |
u32 supported; u32 access; |
9ff71c3a9 nfs41: client xdr... |
772 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
773 774 775 776 777 |
}; struct nfs4_create_arg { u32 ftype; union { |
94a6d7532 NFS: Use cached p... |
778 779 780 781 |
struct { struct page ** pages; unsigned int len; } symlink; /* NF4LNK */ |
1da177e4c Linux-2.6.12-rc2 |
782 783 784 785 786 787 788 789 790 791 |
struct { u32 specdata1; u32 specdata2; } device; /* NF4BLK, NF4CHR */ } u; const struct qstr * name; const struct nfs_server * server; const struct iattr * attrs; const struct nfs_fh * dir_fh; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
792 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
793 794 795 796 797 798 799 |
}; struct nfs4_create_res { const struct nfs_server * server; struct nfs_fh * fh; struct nfs_fattr * fattr; struct nfs4_change_info dir_cinfo; |
56ae19f38 NFSv4: Add direct... |
800 |
struct nfs_fattr * dir_fattr; |
9ff71c3a9 nfs41: client xdr... |
801 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
802 803 804 805 806 |
}; struct nfs4_fsinfo_arg { const struct nfs_fh * fh; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
807 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
808 |
}; |
3dda5e434 nfs41: use nfs4_f... |
809 810 811 812 |
struct nfs4_fsinfo_res { struct nfs_fsinfo *fsinfo; struct nfs4_sequence_res seq_res; }; |
1da177e4c Linux-2.6.12-rc2 |
813 814 815 |
struct nfs4_getattr_arg { const struct nfs_fh * fh; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
816 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
817 818 819 820 821 |
}; struct nfs4_getattr_res { const struct nfs_server * server; struct nfs_fattr * fattr; |
9ff71c3a9 nfs41: client xdr... |
822 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
823 824 825 826 827 828 |
}; struct nfs4_link_arg { const struct nfs_fh * fh; const struct nfs_fh * dir_fh; const struct qstr * name; |
91ba2eeec NFSv4: Add post-o... |
829 |
const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
830 |
struct nfs4_sequence_args seq_args; |
91ba2eeec NFSv4: Add post-o... |
831 832 833 834 835 836 837 |
}; struct nfs4_link_res { const struct nfs_server * server; struct nfs_fattr * fattr; struct nfs4_change_info cinfo; struct nfs_fattr * dir_attr; |
9ff71c3a9 nfs41: client xdr... |
838 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
839 |
}; |
91ba2eeec NFSv4: Add post-o... |
840 |
|
1da177e4c Linux-2.6.12-rc2 |
841 842 843 844 |
struct nfs4_lookup_arg { const struct nfs_fh * dir_fh; const struct qstr * name; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
845 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
846 847 848 849 850 851 |
}; struct nfs4_lookup_res { const struct nfs_server * server; struct nfs_fattr * fattr; struct nfs_fh * fh; |
9ff71c3a9 nfs41: client xdr... |
852 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
853 854 855 856 |
}; struct nfs4_lookup_root_arg { const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
857 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
858 859 860 861 862 |
}; struct nfs4_pathconf_arg { const struct nfs_fh * fh; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
863 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
864 |
}; |
d45b2989a nfs41: use nfs4_p... |
865 866 867 868 |
struct nfs4_pathconf_res { struct nfs_pathconf *pathconf; struct nfs4_sequence_res seq_res; }; |
1da177e4c Linux-2.6.12-rc2 |
869 870 871 872 873 874 875 876 |
struct nfs4_readdir_arg { const struct nfs_fh * fh; u64 cookie; nfs4_verifier verifier; u32 count; struct page ** pages; /* zero-copy data */ unsigned int pgbase; /* zero-copy data */ const u32 * bitmask; |
82f2e5472 NFS: Readdir plus... |
877 |
int plus; |
9ff71c3a9 nfs41: client xdr... |
878 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
879 880 881 882 883 |
}; struct nfs4_readdir_res { nfs4_verifier verifier; unsigned int pgbase; |
9ff71c3a9 nfs41: client xdr... |
884 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
885 886 887 888 889 890 891 |
}; struct nfs4_readlink { const struct nfs_fh * fh; unsigned int pgbase; unsigned int pglen; /* zero-copy data */ struct page ** pages; /* zero-copy data */ |
9ff71c3a9 nfs41: client xdr... |
892 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
893 |
}; |
f50c70008 nfs41: use nfs4_r... |
894 895 896 |
struct nfs4_readlink_res { struct nfs4_sequence_res seq_res; }; |
19d771f3c NFS: Save padding... |
897 |
#define NFS4_SETCLIENTID_NAMELEN (127) |
1da177e4c Linux-2.6.12-rc2 |
898 |
struct nfs4_setclientid { |
cc38bac3a NFS: Ensure NFSv4... |
899 |
const nfs4_verifier * sc_verifier; |
1da177e4c Linux-2.6.12-rc2 |
900 |
unsigned int sc_name_len; |
d1ce02e16 NFS: SETCLIENTID ... |
901 |
char sc_name[NFS4_SETCLIENTID_NAMELEN + 1]; |
cc38bac3a NFS: Ensure NFSv4... |
902 |
u32 sc_prog; |
1da177e4c Linux-2.6.12-rc2 |
903 |
unsigned int sc_netid_len; |
d1ce02e16 NFS: SETCLIENTID ... |
904 |
char sc_netid[RPCBIND_MAXNETIDLEN + 1]; |
1da177e4c Linux-2.6.12-rc2 |
905 |
unsigned int sc_uaddr_len; |
d1ce02e16 NFS: SETCLIENTID ... |
906 |
char sc_uaddr[RPCBIND_MAXUADDRLEN + 1]; |
cc38bac3a NFS: Ensure NFSv4... |
907 |
u32 sc_cb_ident; |
1da177e4c Linux-2.6.12-rc2 |
908 |
}; |
bb8b27e50 NFSv4: Clean up t... |
909 910 911 912 |
struct nfs4_setclientid_res { u64 clientid; nfs4_verifier confirm; }; |
1da177e4c Linux-2.6.12-rc2 |
913 914 915 |
struct nfs4_statfs_arg { const struct nfs_fh * fh; const u32 * bitmask; |
9ff71c3a9 nfs41: client xdr... |
916 |
struct nfs4_sequence_args seq_args; |
1da177e4c Linux-2.6.12-rc2 |
917 |
}; |
24ad148a0 nfs41: use nfs4_s... |
918 919 920 921 |
struct nfs4_statfs_res { struct nfs_fsstat *fsstat; struct nfs4_sequence_res seq_res; }; |
43652ad55 nfs41: use nfs4_s... |
922 923 924 925 |
struct nfs4_server_caps_arg { struct nfs_fh *fhandle; struct nfs4_sequence_args seq_args; }; |
1da177e4c Linux-2.6.12-rc2 |
926 |
struct nfs4_server_caps_res { |
dae100c2b pnfs: ask for lay... |
927 |
u32 attr_bitmask[3]; |
1da177e4c Linux-2.6.12-rc2 |
928 929 930 |
u32 acl_bitmask; u32 has_links; u32 has_symlinks; |
9ff71c3a9 nfs41: client xdr... |
931 |
struct nfs4_sequence_res seq_res; |
1da177e4c Linux-2.6.12-rc2 |
932 |
}; |
7aaa0b3bd NFSv4: convert fs... |
933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 |
#define NFS4_PATHNAME_MAXCOMPONENTS 512 struct nfs4_pathname { unsigned int ncomponents; struct nfs4_string components[NFS4_PATHNAME_MAXCOMPONENTS]; }; #define NFS4_FS_LOCATION_MAXSERVERS 10 struct nfs4_fs_location { unsigned int nservers; struct nfs4_string servers[NFS4_FS_LOCATION_MAXSERVERS]; struct nfs4_pathname rootpath; }; #define NFS4_FS_LOCATIONS_MAXENTRIES 10 struct nfs4_fs_locations { |
683b57b43 NFSv4: Implement ... |
948 949 |
struct nfs_fattr fattr; const struct nfs_server *server; |
7aaa0b3bd NFSv4: convert fs... |
950 |
struct nfs4_pathname fs_path; |
683b57b43 NFSv4: Implement ... |
951 |
int nlocations; |
7aaa0b3bd NFSv4: convert fs... |
952 |
struct nfs4_fs_location locations[NFS4_FS_LOCATIONS_MAXENTRIES]; |
683b57b43 NFSv4: Implement ... |
953 954 955 956 957 958 959 |
}; struct nfs4_fs_locations_arg { const struct nfs_fh *dir_fh; const struct qstr *name; struct page *page; const u32 *bitmask; |
9ff71c3a9 nfs41: client xdr... |
960 |
struct nfs4_sequence_args seq_args; |
683b57b43 NFSv4: Implement ... |
961 |
}; |
22958463d nfs41: use nfs4_f... |
962 963 964 965 |
struct nfs4_fs_locations_res { struct nfs4_fs_locations *fs_locations; struct nfs4_sequence_res seq_res; }; |
5a5ea0d48 NFS: Add secinfo ... |
966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 |
struct nfs4_secinfo_oid { unsigned int len; char data[GSS_OID_MAX_LEN]; }; struct nfs4_secinfo_gss { struct nfs4_secinfo_oid sec_oid4; unsigned int qop4; unsigned int service; }; struct nfs4_secinfo_flavor { unsigned int flavor; struct nfs4_secinfo_gss gss; }; struct nfs4_secinfo_flavors { unsigned int num_flavors; struct nfs4_secinfo_flavor flavors[0]; }; struct nfs4_secinfo_arg { const struct nfs_fh *dir_fh; const struct qstr *name; struct nfs4_sequence_args seq_args; }; struct nfs4_secinfo_res { struct nfs4_secinfo_flavors *flavors; struct nfs4_sequence_res seq_res; }; |
1da177e4c Linux-2.6.12-rc2 |
997 |
#endif /* CONFIG_NFS_V4 */ |
99fe60d06 nfs41: exchange_i... |
998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 |
struct nfstime4 { u64 seconds; u32 nseconds; }; #ifdef CONFIG_NFS_V4_1 struct nfs_impl_id4 { u32 domain_len; char *domain; u32 name_len; char *name; struct nfstime4 date; }; #define NFS4_EXCHANGE_ID_LEN (48) struct nfs41_exchange_id_args { struct nfs_client *client; nfs4_verifier *verifier; unsigned int id_len; char id[NFS4_EXCHANGE_ID_LEN]; u32 flags; }; struct server_owner { uint64_t minor_id; uint32_t major_id_sz; char major_id[NFS4_OPAQUE_LIMIT]; }; struct server_scope { uint32_t server_scope_sz; char server_scope[NFS4_OPAQUE_LIMIT]; }; struct nfs41_exchange_id_res { struct nfs_client *client; u32 flags; |
78fe0f41d NFS: use scope fr... |
1035 |
struct server_scope *server_scope; |
99fe60d06 nfs41: exchange_i... |
1036 |
}; |
fc931582c nfs41: create_ses... |
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 |
struct nfs41_create_session_args { struct nfs_client *client; uint32_t flags; uint32_t cb_program; struct nfs4_channel_attrs fc_attrs; /* Fore Channel */ struct nfs4_channel_attrs bc_attrs; /* Back Channel */ }; struct nfs41_create_session_res { struct nfs_client *client; }; |
180197536 nfs41: RECLAIM_CO... |
1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 |
struct nfs41_reclaim_complete_args { /* In the future extend to include curr_fh for use with migration */ unsigned char one_fs:1; struct nfs4_sequence_args seq_args; }; struct nfs41_reclaim_complete_res { struct nfs4_sequence_res seq_res; }; |
fca78d6d2 NFS: Add SECINFO_... |
1059 1060 1061 1062 1063 1064 1065 |
#define SECINFO_STYLE_CURRENT_FH 0 #define SECINFO_STYLE_PARENT 1 struct nfs41_secinfo_no_name_args { int style; struct nfs4_sequence_args seq_args; }; |
7d9747947 NFS: Added TEST_S... |
1066 1067 1068 1069 1070 1071 1072 1073 1074 |
struct nfs41_test_stateid_args { nfs4_stateid *stateid; struct nfs4_sequence_args seq_args; }; struct nfs41_test_stateid_res { unsigned int status; struct nfs4_sequence_res seq_res; }; |
9aeda35fd NFS: added FREE_S... |
1075 1076 1077 1078 1079 1080 1081 1082 1083 |
struct nfs41_free_stateid_args { nfs4_stateid *stateid; struct nfs4_sequence_args seq_args; }; struct nfs41_free_stateid_res { unsigned int status; struct nfs4_sequence_res seq_res; }; |
99fe60d06 nfs41: exchange_i... |
1084 |
#endif /* CONFIG_NFS_V4_1 */ |
1da177e4c Linux-2.6.12-rc2 |
1085 |
struct nfs_page; |
40859d7ee NFS: support larg... |
1086 |
#define NFS_PAGEVEC_SIZE (8U) |
1da177e4c Linux-2.6.12-rc2 |
1087 |
struct nfs_read_data { |
1da177e4c Linux-2.6.12-rc2 |
1088 1089 1090 1091 1092 |
struct rpc_task task; struct inode *inode; struct rpc_cred *cred; struct nfs_fattr fattr; /* fattr storage */ struct list_head pages; /* Coalesced read requests */ |
6e4efd568 NFS: Clean up nfs... |
1093 |
struct list_head list; /* lists of struct nfs_read_data */ |
1da177e4c Linux-2.6.12-rc2 |
1094 |
struct nfs_page *req; /* multi ops per nfs_page */ |
40859d7ee NFS: support larg... |
1095 |
struct page **pagevec; |
e9f7bee1d [PATCH] NFS: larg... |
1096 |
unsigned int npages; /* Max length of pagevec */ |
1da177e4c Linux-2.6.12-rc2 |
1097 1098 |
struct nfs_readargs args; struct nfs_readres res; |
1da177e4c Linux-2.6.12-rc2 |
1099 |
unsigned long timestamp; /* For lease renewal */ |
bae724ef9 NFSv4.1: shift pn... |
1100 |
struct pnfs_layout_segment *lseg; |
d83217c13 NFSv4.1: data ser... |
1101 |
struct nfs_client *ds_clp; /* pNFS data server */ |
64419a9b2 NFSv4.1: generic ... |
1102 |
const struct rpc_call_ops *mds_ops; |
cbdabc7f8 NFSv4.1: filelayo... |
1103 |
int (*read_done_cb) (struct rpc_task *task, struct nfs_read_data *data); |
dc70d7b31 NFSv4.1: filelayo... |
1104 |
__u64 mds_offset; |
d20581aa4 pnfs: support for... |
1105 |
int pnfs_error; |
0d0b5cb36 NFS: Optimize all... |
1106 |
struct page *page_array[NFS_PAGEVEC_SIZE]; |
1da177e4c Linux-2.6.12-rc2 |
1107 1108 1109 |
}; struct nfs_write_data { |
1da177e4c Linux-2.6.12-rc2 |
1110 1111 1112 1113 1114 1115 |
struct rpc_task task; struct inode *inode; struct rpc_cred *cred; struct nfs_fattr fattr; struct nfs_writeverf verf; struct list_head pages; /* Coalesced requests we wish to flush */ |
6e4efd568 NFS: Clean up nfs... |
1116 |
struct list_head list; /* lists of struct nfs_write_data */ |
1da177e4c Linux-2.6.12-rc2 |
1117 |
struct nfs_page *req; /* multi ops per nfs_page */ |
40859d7ee NFS: support larg... |
1118 |
struct page **pagevec; |
e9f7bee1d [PATCH] NFS: larg... |
1119 |
unsigned int npages; /* Max length of pagevec */ |
1da177e4c Linux-2.6.12-rc2 |
1120 1121 |
struct nfs_writeargs args; /* argument struct */ struct nfs_writeres res; /* result struct */ |
5053aa568 NFSv4.1: Send lse... |
1122 |
struct pnfs_layout_segment *lseg; |
a69aef149 NFSv4.1: pnfs fil... |
1123 |
struct nfs_client *ds_clp; /* pNFS data server */ |
e0c2b3801 NFSv4.1: filelayo... |
1124 |
int ds_commit_index; |
0382b7440 NFSv4.1: implemen... |
1125 |
const struct rpc_call_ops *mds_ops; |
b029bc9b0 NFSv4.1: add call... |
1126 |
int (*write_done_cb) (struct rpc_task *task, struct nfs_write_data *data); |
1da177e4c Linux-2.6.12-rc2 |
1127 1128 1129 |
#ifdef CONFIG_NFS_V4 unsigned long timestamp; /* For lease renewal */ #endif |
a69aef149 NFSv4.1: pnfs fil... |
1130 |
__u64 mds_offset; /* Filelayout dense stripe */ |
d20581aa4 pnfs: support for... |
1131 |
int pnfs_error; |
0d0b5cb36 NFS: Optimize all... |
1132 |
struct page *page_array[NFS_PAGEVEC_SIZE]; |
1da177e4c Linux-2.6.12-rc2 |
1133 1134 1135 |
}; struct nfs_access_entry; |
45a52a020 NFS move nfs_clie... |
1136 |
struct nfs_client; |
e0dca7a05 NFS: Fix a warnin... |
1137 |
struct rpc_timeout; |
1da177e4c Linux-2.6.12-rc2 |
1138 1139 1140 1141 1142 |
/* * RPC procedure vector for NFSv2/NFSv3 demuxing */ struct nfs_rpc_ops { |
c0e07cb68 NFS: NFS version ... |
1143 |
u32 version; /* Protocol version */ |
f786aa90e constify dentry_o... |
1144 |
const struct dentry_operations *dentry_ops; |
c5ef1c42c [PATCH] mark stru... |
1145 1146 |
const struct inode_operations *dir_inode_ops; const struct inode_operations *file_inode_ops; |
1788ea6e3 nfs: when attempt... |
1147 |
const struct file_operations *file_ops; |
1da177e4c Linux-2.6.12-rc2 |
1148 1149 1150 1151 1152 1153 1154 |
int (*getroot) (struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); int (*getattr) (struct nfs_server *, struct nfs_fh *, struct nfs_fattr *); int (*setattr) (struct dentry *, struct nfs_fattr *, struct iattr *); |
7c5130588 NFS: lookup suppo... |
1155 |
int (*lookup) (struct rpc_clnt *clnt, struct inode *, struct qstr *, |
1da177e4c Linux-2.6.12-rc2 |
1156 1157 1158 1159 |
struct nfs_fh *, struct nfs_fattr *); int (*access) (struct inode *, struct nfs_access_entry *); int (*readlink)(struct inode *, struct page *, unsigned int, unsigned int); |
1da177e4c Linux-2.6.12-rc2 |
1160 |
int (*create) (struct inode *, struct dentry *, |
c0204fd2b NFS: Clean up nfs... |
1161 |
struct iattr *, int, struct nfs_open_context *); |
1da177e4c Linux-2.6.12-rc2 |
1162 |
int (*remove) (struct inode *, struct qstr *); |
e4eff1a62 SUNRPC: Clean up ... |
1163 1164 |
void (*unlink_setup) (struct rpc_message *, struct inode *dir); int (*unlink_done) (struct rpc_task *, struct inode *); |
1da177e4c Linux-2.6.12-rc2 |
1165 1166 |
int (*rename) (struct inode *, struct qstr *, struct inode *, struct qstr *); |
d3d4152a5 nfs: make sillyre... |
1167 1168 |
void (*rename_setup) (struct rpc_message *msg, struct inode *dir); int (*rename_done) (struct rpc_task *task, struct inode *old_dir, struct inode *new_dir); |
1da177e4c Linux-2.6.12-rc2 |
1169 |
int (*link) (struct inode *, struct inode *, struct qstr *); |
94a6d7532 NFS: Use cached p... |
1170 1171 |
int (*symlink) (struct inode *, struct dentry *, struct page *, unsigned int, struct iattr *); |
1da177e4c Linux-2.6.12-rc2 |
1172 1173 1174 |
int (*mkdir) (struct inode *, struct dentry *, struct iattr *); int (*rmdir) (struct inode *, struct qstr *); int (*readdir) (struct dentry *, struct rpc_cred *, |
56e4ebf87 NFS: readdir with... |
1175 |
u64, struct page **, unsigned int, int); |
1da177e4c Linux-2.6.12-rc2 |
1176 1177 1178 1179 1180 1181 1182 1183 |
int (*mknod) (struct inode *, struct dentry *, struct iattr *, dev_t); int (*statfs) (struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *); int (*fsinfo) (struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); int (*pathconf) (struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *); |
e9326dcab NFS: Add a server... |
1184 |
int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); |
573c4e1ef NFS: Simplify ->d... |
1185 |
int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, int); |
bdc7f021f NFS: Clean up the... |
1186 |
void (*read_setup) (struct nfs_read_data *, struct rpc_message *); |
ec06c096e NFS: Cleanup of N... |
1187 |
int (*read_done) (struct rpc_task *, struct nfs_read_data *); |
bdc7f021f NFS: Clean up the... |
1188 |
void (*write_setup) (struct nfs_write_data *, struct rpc_message *); |
788e7a89a NFS: Cleanup of N... |
1189 |
int (*write_done) (struct rpc_task *, struct nfs_write_data *); |
bdc7f021f NFS: Clean up the... |
1190 |
void (*commit_setup) (struct nfs_write_data *, struct rpc_message *); |
788e7a89a NFS: Cleanup of N... |
1191 |
int (*commit_done) (struct rpc_task *, struct nfs_write_data *); |
1da177e4c Linux-2.6.12-rc2 |
1192 |
int (*lock)(struct file *, int, struct file_lock *); |
2116271a3 NFS: Add correct ... |
1193 |
int (*lock_check_bounds)(const struct file_lock *); |
ada70d942 [PATCH] NFS: Add ... |
1194 |
void (*clear_acl_cache)(struct inode *); |
7fe5c398f NFS: Optimise NFS... |
1195 |
void (*close_context)(struct nfs_open_context *ctx, int); |
2b484297e NFS: Add an 'open... |
1196 1197 1198 1199 |
struct inode * (*open_context) (struct inode *dir, struct nfs_open_context *ctx, int open_flags, struct iattr *iattr); |
45a52a020 NFS move nfs_clie... |
1200 1201 |
int (*init_client) (struct nfs_client *, const struct rpc_timeout *, const char *, rpc_authflavor_t, int); |
5a5ea0d48 NFS: Add secinfo ... |
1202 |
int (*secinfo)(struct inode *, const struct qstr *, struct nfs4_secinfo_flavors *); |
1da177e4c Linux-2.6.12-rc2 |
1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 |
}; /* * NFS_CALL(getattr, inode, (fattr)); * into * NFS_PROTO(inode)->getattr(fattr); */ #define NFS_CALL(op, inode, args) NFS_PROTO(inode)->op args /* * Function vectors etc. for the NFS client */ |
509de8111 NFS: Add extra co... |
1215 1216 1217 |
extern const struct nfs_rpc_ops nfs_v2_clientops; extern const struct nfs_rpc_ops nfs_v3_clientops; extern const struct nfs_rpc_ops nfs_v4_clientops; |
1da177e4c Linux-2.6.12-rc2 |
1218 1219 1220 |
extern struct rpc_version nfs_version2; extern struct rpc_version nfs_version3; extern struct rpc_version nfs_version4; |
b7fa0554c [PATCH] NFS: Add ... |
1221 1222 |
extern struct rpc_version nfsacl_version3; extern struct rpc_program nfsacl_program; |
1da177e4c Linux-2.6.12-rc2 |
1223 |
#endif |