]> www.infradead.org Git - nvme.git/commit
fuse: add kernel-enforced timeout option for requests
authorJoanne Koong <joannelkoong@gmail.com>
Wed, 22 Jan 2025 21:55:27 +0000 (13:55 -0800)
committerMiklos Szeredi <mszeredi@redhat.com>
Mon, 31 Mar 2025 12:59:25 +0000 (14:59 +0200)
commit0f6439f61a6e2ddc92b98362c6d1afc210f56a90
treeafefdaeeee1cfddeff0017232c15c40752a76ef5
parenteef36cf6a7016cb5353d4b0a9dbdfbd52c4bd973
fuse: add kernel-enforced timeout option for requests

There are situations where fuse servers can become unresponsive or
stuck, for example if the server is deadlocked. Currently, there's no
good way to detect if a server is stuck and needs to be killed manually.

This commit adds an option for enforcing a timeout (in seconds) for
requests where if the timeout elapses without the server responding to
the request, the connection will be automatically aborted.

Please note that these timeouts are not 100% precise. For example, the
request may take roughly an extra FUSE_TIMEOUT_TIMER_FREQ seconds beyond
the requested timeout due to internal implementation, in order to
mitigate overhead.

[SzM: Bump the API version number]

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dev.c
fs/fuse/dev_uring.c
fs/fuse/dev_uring_i.h
fs/fuse/fuse_dev_i.h
fs/fuse/fuse_i.h
fs/fuse/inode.c
include/uapi/linux/fuse.h