aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2022-02-19 09:56:45 -0500
committerTrond Myklebust <trond.myklebust@hammerspace.com>2022-03-02 08:43:39 -0500
commit2c2c336506e9bd4056fca25301b8a06fb7aefd32 (patch)
tree87a88bcd1746d9a20bd65d4e8cb3182b5b56e348 /fs/nfs/dir.c
parentNFSv4: Ask for a full XDR buffer of readdir goodness (diff)
downloadlinux-dev-2c2c336506e9bd4056fca25301b8a06fb7aefd32.tar.xz
linux-dev-2c2c336506e9bd4056fca25301b8a06fb7aefd32.zip
NFS: Readdirplus can't help lookup for case insensitive filesystems
If the filesystem is case insensitive, then readdirplus can't help with cache misses, since it won't return case folded variants of the filename. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r--fs/nfs/dir.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 098fc1bdaac8..dcfc44411787 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -696,6 +696,8 @@ void nfs_readdir_record_entry_cache_miss(struct inode *dir)
static void nfs_lookup_advise_force_readdirplus(struct inode *dir)
{
+ if (nfs_server_capable(dir, NFS_CAP_CASE_INSENSITIVE))
+ return;
nfs_readdir_record_entry_cache_miss(dir);
}