diff options
| author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-07-05 12:36:34 -0400 |
|---|---|---|
| committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-07-22 17:15:54 -0400 |
| commit | 115c48d7a5351abeadd0c8a3dc87eca3d66a6475 (patch) | |
| tree | 5bf565b7cdd4b59ea144e283dce29a7a720421d5 | |
| parent | cd812599796f500b042f5464b6665755eca21137 (diff) | |
NFS: nfs_mark_for_revalidate should always set NFS_INO_REVAL_PAGECACHE
I'm not aware of any existing bugs around this, but the expectation is
that nfs_mark_for_revalidate() should always force a revalidation of
the cached metadata.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
| -rw-r--r-- | include/linux/nfs_fs.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index f91b5ade30c9..874b77228fb9 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -292,9 +292,12 @@ static inline void nfs_mark_for_revalidate(struct inode *inode) | |||
| 292 | struct nfs_inode *nfsi = NFS_I(inode); | 292 | struct nfs_inode *nfsi = NFS_I(inode); |
| 293 | 293 | ||
| 294 | spin_lock(&inode->i_lock); | 294 | spin_lock(&inode->i_lock); |
| 295 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_ACCESS; | 295 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR | |
| 296 | NFS_INO_REVAL_PAGECACHE | | ||
| 297 | NFS_INO_INVALID_ACCESS | | ||
| 298 | NFS_INO_INVALID_ACL; | ||
| 296 | if (S_ISDIR(inode->i_mode)) | 299 | if (S_ISDIR(inode->i_mode)) |
| 297 | nfsi->cache_validity |= NFS_INO_REVAL_PAGECACHE|NFS_INO_INVALID_DATA; | 300 | nfsi->cache_validity |= NFS_INO_INVALID_DATA; |
| 298 | spin_unlock(&inode->i_lock); | 301 | spin_unlock(&inode->i_lock); |
| 299 | } | 302 | } |
| 300 | 303 | ||
