aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-10-05 13:31:21 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-10-07 17:41:33 -0400
commit076f1fc94c44be2664172c63b4a2b51ae2d265ea (patch)
treea2b0c6b28deb0d283ff754df90801cc1483ec41d /fs/nfs
parent4dc05efb86239321d43a9d74fd2ecd5c21bfc2ad (diff)
NFS: Don't clear nfsi->cache_validity in nfs_check_inode_attributes()
If we're merely checking the inode attributes because we suspect that the 'updated' attributes returned by the RPC call are stale, then we shouldn't be doing weak cache consistency updates or clearing the cache_validity flags. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/inode.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 697157c1fdd1..a2f54154d825 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -905,9 +905,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
905 return -EIO; 905 return -EIO;
906 } 906 }
907 907
908 /* Do atomic weak cache consistency updates */
909 nfs_wcc_update_inode(inode, fattr);
910
911 if ((fattr->valid & NFS_ATTR_FATTR_V4) != 0 && 908 if ((fattr->valid & NFS_ATTR_FATTR_V4) != 0 &&
912 nfsi->change_attr != fattr->change_attr) 909 nfsi->change_attr != fattr->change_attr)
913 invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; 910 invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE;
@@ -936,10 +933,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
936 933
937 if (invalid != 0) 934 if (invalid != 0)
938 nfsi->cache_validity |= invalid; 935 nfsi->cache_validity |= invalid;
939 else
940 nfsi->cache_validity &= ~(NFS_INO_INVALID_ATTR
941 | NFS_INO_INVALID_ATIME
942 | NFS_INO_REVAL_PAGECACHE);
943 936
944 nfsi->read_cache_jiffies = fattr->time_start; 937 nfsi->read_cache_jiffies = fattr->time_start;
945 return 0; 938 return 0;