aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_xdr.h48
1 files changed, 41 insertions, 7 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 2e5f00066afd..b99295e07cdf 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -27,7 +27,7 @@ static inline int nfs_fsid_equal(const struct nfs_fsid *a, const struct nfs_fsid
27} 27}
28 28
29struct nfs_fattr { 29struct 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 __u64 pre_size; /* pre_op_attr.size */
32 struct timespec pre_mtime; /* pre_op_attr.mtime */ 32 struct timespec pre_mtime; /* pre_op_attr.mtime */
33 struct timespec pre_ctime; /* pre_op_attr.ctime */ 33 struct timespec pre_ctime; /* pre_op_attr.ctime */
@@ -59,12 +59,46 @@ struct nfs_fattr {
59 unsigned long gencount; 59 unsigned long gencount;
60}; 60};
61 61
62#define NFS_ATTR_WCC 0x0001 /* pre-op WCC data */ 62#define NFS_ATTR_FATTR_TYPE (1U << 0)
63#define NFS_ATTR_FATTR 0x0002 /* post-op attributes */ 63#define NFS_ATTR_FATTR_MODE (1U << 1)
64#define NFS_ATTR_FATTR_V3 0x0004 /* NFSv3 attributes */ 64#define NFS_ATTR_FATTR_NLINK (1U << 2)
65#define NFS_ATTR_FATTR_V4 0x0008 /* NFSv4 change attribute */ 65#define NFS_ATTR_FATTR_OWNER (1U << 3)
66#define NFS_ATTR_WCC_V4 0x0010 /* pre-op change attribute */ 66#define NFS_ATTR_FATTR_GROUP (1U << 4)
67#define NFS_ATTR_FATTR_V4_REFERRAL 0x0020 /* NFSv4 referral */ 67#define NFS_ATTR_FATTR_RDEV (1U << 5)
68#define NFS_ATTR_FATTR_SIZE (1U << 6)
69#define NFS_ATTR_FATTR_PRESIZE (1U << 7)
70#define NFS_ATTR_FATTR_BLOCKS_USED (1U << 8)
71#define NFS_ATTR_FATTR_SPACE_USED (1U << 9)
72#define NFS_ATTR_FATTR_FSID (1U << 10)
73#define NFS_ATTR_FATTR_FILEID (1U << 11)
74#define NFS_ATTR_FATTR_ATIME (1U << 12)
75#define NFS_ATTR_FATTR_MTIME (1U << 13)
76#define NFS_ATTR_FATTR_CTIME (1U << 14)
77#define NFS_ATTR_FATTR_PREMTIME (1U << 15)
78#define NFS_ATTR_FATTR_PRECTIME (1U << 16)
79#define NFS_ATTR_FATTR_CHANGE (1U << 17)
80#define NFS_ATTR_FATTR_PRECHANGE (1U << 18)
81#define NFS_ATTR_FATTR_V4_REFERRAL (1U << 19) /* NFSv4 referral */
82
83#define NFS_ATTR_FATTR (NFS_ATTR_FATTR_TYPE \
84 | NFS_ATTR_FATTR_MODE \
85 | NFS_ATTR_FATTR_NLINK \
86 | NFS_ATTR_FATTR_OWNER \
87 | NFS_ATTR_FATTR_GROUP \
88 | NFS_ATTR_FATTR_RDEV \
89 | NFS_ATTR_FATTR_SIZE \
90 | NFS_ATTR_FATTR_FSID \
91 | NFS_ATTR_FATTR_FILEID \
92 | NFS_ATTR_FATTR_ATIME \
93 | NFS_ATTR_FATTR_MTIME \
94 | NFS_ATTR_FATTR_CTIME)
95#define NFS_ATTR_FATTR_V2 (NFS_ATTR_FATTR \
96 | NFS_ATTR_FATTR_BLOCKS_USED)
97#define NFS_ATTR_FATTR_V3 (NFS_ATTR_FATTR \
98 | NFS_ATTR_FATTR_SPACE_USED)
99#define NFS_ATTR_FATTR_V4 (NFS_ATTR_FATTR \
100 | NFS_ATTR_FATTR_SPACE_USED \
101 | NFS_ATTR_FATTR_CHANGE)
68 102
69/* 103/*
70 * Info on the file system 104 * Info on the file system