aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-27 22:12:39 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-27 22:12:39 -0400
commit33801147a8fda6b04d7e9afe1d42f1c01d3d6837 (patch)
tree5311fb4714f0a24b7d7666b04250205025e18d15 /include/linux
parent913a70fc170530f7e1ff0693595155457cc6d0ca (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.h2
-rw-r--r--include/linux/nfs_xdr.h2
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*/
319static inline void nfs_fattr_init(struct nfs_fattr *fattr) 320static 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 */