NFS: Don't clear nfsi->cache_validity in nfs_check_inode_attributes()
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 5 Oct 2008 17:31:21 +0000 (13:31 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 7 Oct 2008 21:41:33 +0000 (17:41 -0400)
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>
fs/nfs/inode.c

index 697157c..a2f5415 100644 (file)
@@ -905,9 +905,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
                return -EIO;
        }
 
-       /* Do atomic weak cache consistency updates */
-       nfs_wcc_update_inode(inode, fattr);
-
        if ((fattr->valid & NFS_ATTR_FATTR_V4) != 0 &&
                        nfsi->change_attr != fattr->change_attr)
                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
 
        if (invalid != 0)
                nfsi->cache_validity |= invalid;
-       else
-               nfsi->cache_validity &= ~(NFS_INO_INVALID_ATTR
-                               | NFS_INO_INVALID_ATIME
-                               | NFS_INO_REVAL_PAGECACHE);
 
        nfsi->read_cache_jiffies = fattr->time_start;
        return 0;