diff options
author | Joanne Koong <joannelkoong@gmail.com> | 2024-07-17 13:42:14 -0700 |
---|---|---|
committer | Bernd Schubert <bernd@bsbernd.com> | 2025-04-30 15:12:01 +0200 |
commit | 84a27de6a644163eda97b7052e064774ec73f925 (patch) | |
tree | bdceee3c162969dd6da48c96ec29420bb5b3da96 /lib | |
parent | cd503168287e82e1698fb2fdf6397f1dbb751e75 (diff) | |
download | libfuse-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.c | 5 |
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; |