aboutsummaryrefslogtreecommitdiff
path: root/lib/fuse_lowlevel.c
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2018-09-17 14:53:30 +0100
committerNikolaus Rath <Nikolaus@rath.org>2018-09-20 09:07:45 +0100
commit7b0075c06f171cdac7a3d565463c0e5938dff04d (patch)
treeafa5bf668b1e853f9822bb1992bb0822bfb41715 /lib/fuse_lowlevel.c
parent161983e2416bc6e26bbbe89664fff62c48c70858 (diff)
downloadlibfuse-7b0075c06f171cdac7a3d565463c0e5938dff04d.tar.gz
Don't enable adaptive readdirplus unless fs has readdir() handler.
Diffstat (limited to 'lib/fuse_lowlevel.c')
-rw-r--r--lib/fuse_lowlevel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index c426b7c..e6e3d8d 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -1918,7 +1918,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
FUSE_CAP_POSIX_LOCKS);
LL_SET_DEFAULT(se->op.flock, FUSE_CAP_FLOCK_LOCKS);
LL_SET_DEFAULT(se->op.readdirplus, FUSE_CAP_READDIRPLUS);
- LL_SET_DEFAULT(se->op.readdirplus, FUSE_CAP_READDIRPLUS_AUTO);
+ LL_SET_DEFAULT(se->op.readdirplus && se->op.readdir,
+ FUSE_CAP_READDIRPLUS_AUTO);
se->conn.time_gran = 1;
if (bufsize < FUSE_MIN_READ_BUFFER) {