aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse_lowlevel.c
diff options
context:
space:
mode:
authorfdinoff <fdinoff@google.com>2023-11-16 06:23:20 -0500
committerGitHub <noreply@github.com>2023-11-16 11:23:20 +0000
commitc9905341ea34ff9acbc11b3c53ba8bcea35eeed8 (patch)
tree6d8606fcd4091f47c2eb46e825163034f71de786 /lib/fuse_lowlevel.c
parenta466241b45d1dd0bf685513bdeefd6448b63beb6 (diff)
downloadlibfuse-c9905341ea34ff9acbc11b3c53ba8bcea35eeed8.tar.gz
Pass FUSE_PARALLEL_DIROPS to kernel (#861)
This tells the kernel that parallel lookup/readdir operations are supported. This is enabled by default but was not passed to the kernel so you always get the synchronized version.
Diffstat (limited to 'lib/fuse_lowlevel.c')
-rw-r--r--lib/fuse_lowlevel.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index fdef193..ea98536 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -2141,6 +2141,8 @@ void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
outargflags |= FUSE_ASYNC_DIO;
if (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)
outargflags |= FUSE_WRITEBACK_CACHE;
+ if (se->conn.want & FUSE_CAP_PARALLEL_DIROPS)
+ outargflags |= FUSE_PARALLEL_DIROPS;
if (se->conn.want & FUSE_CAP_POSIX_ACL)
outargflags |= FUSE_POSIX_ACL;
if (se->conn.want & FUSE_CAP_CACHE_SYMLINKS)