From: Trond Myklebust Date: Mon, 6 Jan 2020 20:39:36 +0000 (-0500) Subject: NFS: Trust cached access if we've already revalidated the inode once X-Git-Tag: v5.15~4515^2~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c965db86e6b0e90a3112228820598e824920278;p=platform%2Fkernel%2Flinux-starfive.git NFS: Trust cached access if we've already revalidated the inode once If we've already revalidated the inode once then don't distrust the access cache unless the NFS_INO_INVALID_ACCESS flag is actually set. Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 372c16b..9405eea 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -2312,11 +2312,11 @@ static int nfs_access_get_cached(struct inode *inode, const struct cred *cred, s /* Found an entry, is our attribute cache valid? */ if (!nfs_check_cache_invalid(inode, NFS_INO_INVALID_ACCESS)) break; + if (!retry) + break; err = -ECHILD; if (!may_block) goto out; - if (!retry) - goto out_zap; spin_unlock(&inode->i_lock); err = __nfs_revalidate_inode(NFS_SERVER(inode), inode); if (err)