aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJoanne Koong <joannelkoong@gmail.com>2024-07-17 13:42:14 -0700
committerBernd Schubert <bernd@bsbernd.com>2025-04-30 15:12:01 +0200
commit84a27de6a644163eda97b7052e064774ec73f925 (patch)
treebdceee3c162969dd6da48c96ec29420bb5b3da96 /lib
parentcd503168287e82e1698fb2fdf6397f1dbb751e75 (diff)
downloadlibfuse-84a27de6a644163eda97b7052e064774ec73f925.tar.gz
Support request timeouts
This adds the libfuse changes needed to support request timeouts. A timeout may be set by the server in its init call. If a request is not completed by the timeout, the connection will be aborted by the kernel. Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/fuse_lowlevel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index e10b937..619edfc 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -2720,6 +2720,11 @@ _do_init(fuse_req_t req, const fuse_ino_t nodeid, const void *op_in,
enable_io_uring = true;
}
+ if ((inargflags & FUSE_REQUEST_TIMEOUT) && se->conn.request_timeout) {
+ outargflags |= FUSE_REQUEST_TIMEOUT;
+ outarg.request_timeout = se->conn.request_timeout;
+ }
+
if (inargflags & FUSE_INIT_EXT) {
outargflags |= FUSE_INIT_EXT;
outarg.flags2 = outargflags >> 32;