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

Commit 4ebe83af authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFS: Ignore NFS_INO_REVAL_FORCED in nfs_check_inode_attributes()



If we hold a delegation, we should not need to call
nfs_check_inode_attributes() since we already know which attributes
are valid, and which ones may still need revalidation. The state
of the NFS_INO_REVAL_FORCED flag is therefore irrelevant.

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent c80d17c5
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1390,8 +1390,9 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
	unsigned long invalid = 0;


	if (nfs_have_delegated_attributes(inode))
	if (NFS_PROTO(inode)->have_delegation(inode, FMODE_READ))
		return 0;

	/* Has the inode gone and changed behind our back? */
	if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid)
		return -ESTALE;
@@ -1441,7 +1442,7 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
		invalid |= NFS_INO_INVALID_ATIME;

	if (invalid != 0)
		nfs_set_cache_invalid(inode, invalid | NFS_INO_REVAL_FORCED);
		nfs_set_cache_invalid(inode, invalid);

	nfsi->read_cache_jiffies = fattr->time_start;
	return 0;