summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2019-10-21 09:57:07 -0400
committerMiklos Szeredi <mszeredi@redhat.com>2019-10-21 09:57:07 -0400
commit6c26f71759a6efc04b888dd2c1cc4f1cac38cdf0 (patch)
tree33b74a968abe41628e510709d986fcb6f544681e
parent2b319d1f6f92a4ced9897678113d176ee16ae85d (diff)
fuse: don't advise readdirplus for negative lookup
If the FUSE_READDIRPLUS_AUTO feature is enabled, then lookups on a directory before/during readdir are used as an indication that READDIRPLUS should be used instead of READDIR. However if the lookup turns out to be negative, then selecting READDIRPLUS makes no sense. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
-rw-r--r--fs/fuse/dir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index d572c900bb0f..b77954a27538 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -405,7 +405,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
405 else 405 else
406 fuse_invalidate_entry_cache(entry); 406 fuse_invalidate_entry_cache(entry);
407 407
408 fuse_advise_use_readdirplus(dir); 408 if (inode)
409 fuse_advise_use_readdirplus(dir);
409 return newent; 410 return newent;
410 411
411 out_iput: 412 out_iput: