aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-03-11 14:10:25 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-03-11 14:10:25 -0400
commit1ca277d88dafdbc3c5a69d32590e7184b9af6371 (patch)
tree8cd36f442796e7e83c1dfcd72a036846f1b3950f /include
parent9e6e70f8d8b6698e0017c56b86525aabe9c7cd4c (diff)
NFS: Shrink the struct nfs_fattr
We don't need the bitmap[] field anymore, since the 'valid' field tells us all we need to know about which attributes were filled in... Also move the pre-op attributes in order to improve the structure packing. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_xdr.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index b99295e07cdf..6013acb0131f 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -28,9 +28,6 @@ static inline int nfs_fsid_equal(const struct nfs_fsid *a, const struct nfs_fsid
28 28
29struct nfs_fattr { 29struct nfs_fattr {
30 unsigned int valid; /* which fields are valid */ 30 unsigned int valid; /* which fields are valid */
31 __u64 pre_size; /* pre_op_attr.size */
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 */ 31 enum nfs_ftype type; /* always use NFSv2 types */
35 __u32 mode; 32 __u32 mode;
36 __u32 nlink; 33 __u32 nlink;
@@ -52,9 +49,11 @@ struct nfs_fattr {
52 struct timespec atime; 49 struct timespec atime;
53 struct timespec mtime; 50 struct timespec mtime;
54 struct timespec ctime; 51 struct timespec ctime;
55 __u32 bitmap[2]; /* NFSv4 returned attribute bitmap */
56 __u64 change_attr; /* NFSv4 change attribute */ 52 __u64 change_attr; /* NFSv4 change attribute */
57 __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ 53 __u64 pre_change_attr;/* pre-op NFSv4 change attribute */
54 __u64 pre_size; /* pre_op_attr.size */
55 struct timespec pre_mtime; /* pre_op_attr.mtime */
56 struct timespec pre_ctime; /* pre_op_attr.ctime */
58 unsigned long time_start; 57 unsigned long time_start;
59 unsigned long gencount; 58 unsigned long gencount;
60}; 59};