diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-10-27 22:12:39 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-10-27 22:12:39 -0400 |
commit | 33801147a8fda6b04d7e9afe1d42f1c01d3d6837 (patch) | |
tree | 5311fb4714f0a24b7d7666b04250205025e18d15 /include/linux | |
parent | 913a70fc170530f7e1ff0693595155457cc6d0ca (diff) |
NFS: Optimise inode attribute cache updates
Allow nfs_refresh_inode() also to update attributes on the inode if the
RPC call was sent after the last call to nfs_update_inode().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/nfs_fs.h | 2 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index abf890f5fbfb..faeaad666ca8 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -141,6 +141,7 @@ struct nfs_inode { | |||
141 | unsigned long attrtimeo_timestamp; | 141 | unsigned long attrtimeo_timestamp; |
142 | __u64 change_attr; /* v4 only */ | 142 | __u64 change_attr; /* v4 only */ |
143 | 143 | ||
144 | unsigned long last_updated; | ||
144 | /* "Generation counter" for the attribute cache. This is | 145 | /* "Generation counter" for the attribute cache. This is |
145 | * bumped whenever we update the metadata on the | 146 | * bumped whenever we update the metadata on the |
146 | * server. | 147 | * server. |
@@ -319,6 +320,7 @@ extern u32 root_nfs_parse_addr(char *name); /*__init*/ | |||
319 | static inline void nfs_fattr_init(struct nfs_fattr *fattr) | 320 | static inline void nfs_fattr_init(struct nfs_fattr *fattr) |
320 | { | 321 | { |
321 | fattr->valid = 0; | 322 | fattr->valid = 0; |
323 | fattr->time_start = jiffies; | ||
322 | } | 324 | } |
323 | 325 | ||
324 | /* | 326 | /* |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 60086dac11d5..aeaee7e7c51d 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -41,7 +41,7 @@ struct nfs_fattr { | |||
41 | __u32 bitmap[2]; /* NFSv4 returned attribute bitmap */ | 41 | __u32 bitmap[2]; /* NFSv4 returned attribute bitmap */ |
42 | __u64 change_attr; /* NFSv4 change attribute */ | 42 | __u64 change_attr; /* NFSv4 change attribute */ |
43 | __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ | 43 | __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ |
44 | unsigned long timestamp; | 44 | unsigned long time_start; |
45 | }; | 45 | }; |
46 | 46 | ||
47 | #define NFS_ATTR_WCC 0x0001 /* pre-op WCC data */ | 47 | #define NFS_ATTR_WCC 0x0001 /* pre-op WCC data */ |