NFS: NFS_INO_REVAL_PAGECACHE should mark the change attribute invalid
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 26 Mar 2021 00:46:36 +0000 (20:46 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 09:40:52 +0000 (11:40 +0200)
[ Upstream commit 50c7a7994dd20af56e4d47e90af10bab71b71001 ]

When we're looking to revalidate the page cache, we should just ensure
that we mark the change attribute invalid.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfs/inode.c

index 6e2e948..dc2cbca 100644 (file)
@@ -207,7 +207,8 @@ static void nfs_set_cache_invalid(struct inode *inode, unsigned long flags)
                                | NFS_INO_INVALID_SIZE
                                | NFS_INO_REVAL_PAGECACHE
                                | NFS_INO_INVALID_XATTR);
-       }
+       } else if (flags & NFS_INO_REVAL_PAGECACHE)
+               flags |= NFS_INO_INVALID_CHANGE | NFS_INO_INVALID_SIZE;
 
        if (inode->i_mapping->nrpages == 0)
                flags &= ~(NFS_INO_INVALID_DATA|NFS_INO_DATA_INVAL_DEFER);