diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-04-01 13:28:15 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-04-01 13:28:15 -0400 |
commit | cc85906110e26fe8537c3bdbc08a74ae8110030b (patch) | |
tree | 891813098ede3dba4d5ff3b83b1f7b491367ad2f /include/linux/nfs_xdr.h | |
parent | c09bca786ff941ed17c5f381c4eca5b106808c51 (diff) | |
parent | c69da774b28e01e062e0a3aba7509f2dcfd2a11a (diff) |
Merge branch 'devel' into for-linus
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r-- | include/linux/nfs_xdr.h | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 43a713fce11c..b89c34e40bc2 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -27,12 +27,8 @@ static inline int nfs_fsid_equal(const struct nfs_fsid *a, const struct nfs_fsid | |||
27 | } | 27 | } |
28 | 28 | ||
29 | struct nfs_fattr { | 29 | struct nfs_fattr { |
30 | unsigned short valid; /* which fields are valid */ | 30 | unsigned int valid; /* which fields are valid */ |
31 | __u64 pre_size; /* pre_op_attr.size */ | 31 | umode_t mode; |
32 | struct timespec pre_mtime; /* pre_op_attr.mtime */ | ||
33 | struct timespec pre_ctime; /* pre_op_attr.ctime */ | ||
34 | enum nfs_ftype type; /* always use NFSv2 types */ | ||
35 | __u32 mode; | ||
36 | __u32 nlink; | 32 | __u32 nlink; |
37 | __u32 uid; | 33 | __u32 uid; |
38 | __u32 gid; | 34 | __u32 gid; |
@@ -52,19 +48,55 @@ struct nfs_fattr { | |||
52 | struct timespec atime; | 48 | struct timespec atime; |
53 | struct timespec mtime; | 49 | struct timespec mtime; |
54 | struct timespec ctime; | 50 | struct timespec ctime; |
55 | __u32 bitmap[2]; /* NFSv4 returned attribute bitmap */ | ||
56 | __u64 change_attr; /* NFSv4 change attribute */ | 51 | __u64 change_attr; /* NFSv4 change attribute */ |
57 | __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ | 52 | __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ |
53 | __u64 pre_size; /* pre_op_attr.size */ | ||
54 | struct timespec pre_mtime; /* pre_op_attr.mtime */ | ||
55 | struct timespec pre_ctime; /* pre_op_attr.ctime */ | ||
58 | unsigned long time_start; | 56 | unsigned long time_start; |
59 | unsigned long gencount; | 57 | unsigned long gencount; |
60 | }; | 58 | }; |
61 | 59 | ||
62 | #define NFS_ATTR_WCC 0x0001 /* pre-op WCC data */ | 60 | #define NFS_ATTR_FATTR_TYPE (1U << 0) |
63 | #define NFS_ATTR_FATTR 0x0002 /* post-op attributes */ | 61 | #define NFS_ATTR_FATTR_MODE (1U << 1) |
64 | #define NFS_ATTR_FATTR_V3 0x0004 /* NFSv3 attributes */ | 62 | #define NFS_ATTR_FATTR_NLINK (1U << 2) |
65 | #define NFS_ATTR_FATTR_V4 0x0008 /* NFSv4 change attribute */ | 63 | #define NFS_ATTR_FATTR_OWNER (1U << 3) |
66 | #define NFS_ATTR_WCC_V4 0x0010 /* pre-op change attribute */ | 64 | #define NFS_ATTR_FATTR_GROUP (1U << 4) |
67 | #define NFS_ATTR_FATTR_V4_REFERRAL 0x0020 /* NFSv4 referral */ | 65 | #define NFS_ATTR_FATTR_RDEV (1U << 5) |
66 | #define NFS_ATTR_FATTR_SIZE (1U << 6) | ||
67 | #define NFS_ATTR_FATTR_PRESIZE (1U << 7) | ||
68 | #define NFS_ATTR_FATTR_BLOCKS_USED (1U << 8) | ||
69 | #define NFS_ATTR_FATTR_SPACE_USED (1U << 9) | ||
70 | #define NFS_ATTR_FATTR_FSID (1U << 10) | ||
71 | #define NFS_ATTR_FATTR_FILEID (1U << 11) | ||
72 | #define NFS_ATTR_FATTR_ATIME (1U << 12) | ||
73 | #define NFS_ATTR_FATTR_MTIME (1U << 13) | ||
74 | #define NFS_ATTR_FATTR_CTIME (1U << 14) | ||
75 | #define NFS_ATTR_FATTR_PREMTIME (1U << 15) | ||
76 | #define NFS_ATTR_FATTR_PRECTIME (1U << 16) | ||
77 | #define NFS_ATTR_FATTR_CHANGE (1U << 17) | ||
78 | #define NFS_ATTR_FATTR_PRECHANGE (1U << 18) | ||
79 | #define NFS_ATTR_FATTR_V4_REFERRAL (1U << 19) /* NFSv4 referral */ | ||
80 | |||
81 | #define NFS_ATTR_FATTR (NFS_ATTR_FATTR_TYPE \ | ||
82 | | NFS_ATTR_FATTR_MODE \ | ||
83 | | NFS_ATTR_FATTR_NLINK \ | ||
84 | | NFS_ATTR_FATTR_OWNER \ | ||
85 | | NFS_ATTR_FATTR_GROUP \ | ||
86 | | NFS_ATTR_FATTR_RDEV \ | ||
87 | | NFS_ATTR_FATTR_SIZE \ | ||
88 | | NFS_ATTR_FATTR_FSID \ | ||
89 | | NFS_ATTR_FATTR_FILEID \ | ||
90 | | NFS_ATTR_FATTR_ATIME \ | ||
91 | | NFS_ATTR_FATTR_MTIME \ | ||
92 | | NFS_ATTR_FATTR_CTIME) | ||
93 | #define NFS_ATTR_FATTR_V2 (NFS_ATTR_FATTR \ | ||
94 | | NFS_ATTR_FATTR_BLOCKS_USED) | ||
95 | #define NFS_ATTR_FATTR_V3 (NFS_ATTR_FATTR \ | ||
96 | | NFS_ATTR_FATTR_SPACE_USED) | ||
97 | #define NFS_ATTR_FATTR_V4 (NFS_ATTR_FATTR \ | ||
98 | | NFS_ATTR_FATTR_SPACE_USED \ | ||
99 | | NFS_ATTR_FATTR_CHANGE) | ||
68 | 100 | ||
69 | /* | 101 | /* |
70 | * Info on the file system | 102 | * Info on the file system |
@@ -836,6 +868,7 @@ struct nfs_rpc_ops { | |||
836 | int (*lock)(struct file *, int, struct file_lock *); | 868 | int (*lock)(struct file *, int, struct file_lock *); |
837 | int (*lock_check_bounds)(const struct file_lock *); | 869 | int (*lock_check_bounds)(const struct file_lock *); |
838 | void (*clear_acl_cache)(struct inode *); | 870 | void (*clear_acl_cache)(struct inode *); |
871 | void (*close_context)(struct nfs_open_context *ctx, int); | ||
839 | }; | 872 | }; |
840 | 873 | ||
841 | /* | 874 | /* |