diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-03-26 21:23:39 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-04-05 15:04:21 +0200 |
commit | beab450d8ea93cdf4c6cb7714bdc31a9e0f34738 (patch) | |
tree | 40bf98c431cb7fb777a81505471b5c03e53150bf /fs/nfs/inode.c | |
parent | NFS: fix nfs_fetch_iversion() (diff) | |
download | linux-beab450d8ea93cdf4c6cb7714bdc31a9e0f34738.tar.xz linux-beab450d8ea93cdf4c6cb7714bdc31a9e0f34738.zip |
NFS: Fix fscache invalidation in nfs_set_cache_invalid()
Ensure that we invalidate the fscache before we strip the
NFS_INO_INVALID_DATA flag.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r-- | fs/nfs/inode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index a7fb076a5f44..ff737be559dc 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -223,11 +223,11 @@ void nfs_set_cache_invalid(struct inode *inode, unsigned long flags) if (!nfs_has_xattr_cache(nfsi)) flags &= ~NFS_INO_INVALID_XATTR; + if (flags & NFS_INO_INVALID_DATA) + nfs_fscache_invalidate(inode); if (inode->i_mapping->nrpages == 0) flags &= ~(NFS_INO_INVALID_DATA|NFS_INO_DATA_INVAL_DEFER); nfsi->cache_validity |= flags; - if (flags & NFS_INO_INVALID_DATA) - nfs_fscache_invalidate(inode); } EXPORT_SYMBOL_GPL(nfs_set_cache_invalid); |