Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 076f1fc9 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

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: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 4dc05efb
Loading
Loading
Loading
Loading
+0 −7
Original line number Original line Diff line number Diff line
@@ -905,9 +905,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
		return -EIO;
		return -EIO;
	}
	}


	/* Do atomic weak cache consistency updates */
	nfs_wcc_update_inode(inode, fattr);

	if ((fattr->valid & NFS_ATTR_FATTR_V4) != 0 &&
	if ((fattr->valid & NFS_ATTR_FATTR_V4) != 0 &&
			nfsi->change_attr != fattr->change_attr)
			nfsi->change_attr != fattr->change_attr)
		invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE;
		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)
	if (invalid != 0)
		nfsi->cache_validity |= invalid;
		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;
	nfsi->read_cache_jiffies = fattr->time_start;
	return 0;
	return 0;