aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-09-27 10:07:31 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-10-09 17:18:55 -0400
commit17cadc95372e28024be0874e67329c1862912c5d (patch)
tree0785ba140643d87c23e7bca67d1f2522214a0d12 /include
parente323ea46d95d7f8c789effd1194dfc120284dbbd (diff)
downloadkernel_samsung_tuna-17cadc95372e28024be0874e67329c1862912c5d.zip
kernel_samsung_tuna-17cadc95372e28024be0874e67329c1862912c5d.tar.gz
kernel_samsung_tuna-17cadc95372e28024be0874e67329c1862912c5d.tar.bz2
NFS: Don't force a dcache revalidation if nfs_wcc_update_inode succeeds
The reason is that if the weak cache consistency update was successful, then we know that our client must be the only one that changed the directory, and we've already updated the dcache to reflect the change. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_fs.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index f451613..fd2c5c8 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -235,8 +235,10 @@ static inline void nfs_mark_for_revalidate(struct inode *inode)
spin_lock(&inode->i_lock);
nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_ACCESS;
- if (S_ISDIR(inode->i_mode))
+ if (S_ISDIR(inode->i_mode)) {
nfsi->cache_validity |= NFS_INO_REVAL_PAGECACHE|NFS_INO_INVALID_DATA;
+ nfsi->cache_change_attribute = jiffies;
+ }
spin_unlock(&inode->i_lock);
}