summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/nfs/inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 0d9451a2ad8e..c6c939a76722 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -1357,7 +1357,8 @@ __nfs_revalidate_inode(struct nfs_server *server, struct inode *inode)
status = pnfs_sync_inode(inode, false);
if (status)
goto out;
- } else if (nfs_have_directory_delegation(inode)) {
+ } else if (nfs_have_directory_delegation(inode) &&
+ !(NFS_I(inode)->cache_validity & NFS_INO_INVALID_ATTR)) {
status = 0;
goto out;
}