diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-12-05 00:34:34 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-12-05 00:34:34 +0100 |
commit | 1cd9cb05f96e526f41bb4704caa95dc40ed08c5d (patch) | |
tree | bce7b634a76c12c695f4b69551709ec5c155f393 /fs/nfs/inode.c | |
parent | NFS: Fix incorrect size revalidation when holding a delegation (diff) | |
download | linux-1cd9cb05f96e526f41bb4704caa95dc40ed08c5d.tar.xz linux-1cd9cb05f96e526f41bb4704caa95dc40ed08c5d.zip |
NFS: Only look at the change attribute cache state in nfs_check_verifier
When looking at whether or not our dcache is valid, we really don't care
about the general state of the directory attribute cache. Instead, we
we only care about the state of the change attribute.
This fixes a performance issue when the client is responsible for
changing the directory contents; a number of NFSv4 operations will
atomically update the directory change attribute, but may not return
all the other attributes.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r-- | fs/nfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index df4d7ec348ed..7de345fd8e1e 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -1112,7 +1112,7 @@ static int nfs_invalidate_mapping(struct inode *inode, struct address_space *map return 0; } -static bool nfs_mapping_need_revalidate_inode(struct inode *inode) +bool nfs_mapping_need_revalidate_inode(struct inode *inode) { unsigned long cache_validity = NFS_I(inode)->cache_validity; |