aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfdinoff <fdinoff@google.com>2023-11-16 06:23:20 -0500
committerKeiichi Watanabe <keiichiw@google.com>2023-12-05 07:26:10 +0900
commitdececf323283d7bad55098a0d5f2ef4426487ae8 (patch)
treed4e927f9317a912bc11a510cbcd348750847139c
parent443233e75a2ea4784008e51ba9b8671eb349b5d8 (diff)
downloadlibfuse-dececf323283d7bad55098a0d5f2ef4426487ae8.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. Bug: 312226503 Test: Build locally with 'm' Change-Id: I7b7cbc8ae5f0f09e4a0a16edf9c6eb28fe5fe1f8 Signed-off-by: Keiichi Watanabe <keiichiw@google.com> (cherry picked from commit c9905341ea34ff9acbc11b3c53ba8bcea35eeed8)
-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 4c75e3b..dcf8045 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -2262,6 +2262,8 @@ void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
outarg.flags |= FUSE_ASYNC_DIO;
if (se->conn.want & FUSE_CAP_WRITEBACK_CACHE)
outarg.flags |= FUSE_WRITEBACK_CACHE;
+ if (se->conn.want & FUSE_CAP_PARALLEL_DIROPS)
+ outarg.flags |= FUSE_PARALLEL_DIROPS;
if (se->conn.want & FUSE_CAP_POSIX_ACL)
outarg.flags |= FUSE_POSIX_ACL;
if (se->conn.want & FUSE_CAP_PASSTHROUGH) {