linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] fuse: add timeout option for requests
@ 2024-08-08 19:01 Joanne Koong
  2024-08-08 19:01 ` [PATCH v3 1/2] fuse: add optional kernel-enforced timeout " Joanne Koong
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Joanne Koong @ 2024-08-08 19:01 UTC (permalink / raw)
  To: miklos, linux-fsdevel
  Cc: josef, bernd.schubert, jefflexu, laoar.shao, kernel-team

There are situations where fuse servers can become unresponsive or take
too long to reply to a request. Currently there is no upper bound on
how long a request may take, which may be frustrating to users who get
stuck waiting for a request to complete.

This patchset adds a timeout option for requests and two dynamically
configurable fuse sysctls "default_request_timeout" and "max_request_timeout"
for controlling/enforcing timeout behavior system-wide.

Existing fuse servers will not be affected unless they explicitly opt into the
timeout.

v2: https://lore.kernel.org/linux-fsdevel/20240730002348.3431931-1-joannelkoong@gmail.com/
Changes from v2:
- Disarm / rearm timer in dev_do_read to handle race conditions (Bernrd)
- Disarm timer in error handling for fatal interrupt (Yafang)
- Clean up do_fuse_request_end (Jingbo)
- Add timer for notify retrieve requests 
- Fix kernel test robot errors for #define no-op functions

v1: https://lore.kernel.org/linux-fsdevel/20240717213458.1613347-1-joannelkoong@gmail.com/
Changes from v1:
- Add timeout for background requests
- Handle resend race condition
- Add sysctls


Joanne Koong (2):
  fuse: add optional kernel-enforced timeout for requests
  fuse: add default_request_timeout and max_request_timeout sysctls

 Documentation/admin-guide/sysctl/fs.rst |  17 ++
 fs/fuse/Makefile                        |   2 +-
 fs/fuse/dev.c                           | 197 +++++++++++++++++++++++-
 fs/fuse/fuse_i.h                        |  30 ++++
 fs/fuse/inode.c                         |  24 +++
 fs/fuse/sysctl.c                        |  42 +++++
 6 files changed, 303 insertions(+), 9 deletions(-)
 create mode 100644 fs/fuse/sysctl.c

-- 
2.43.5


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-08-13 20:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-08 19:01 [PATCH v3 0/2] fuse: add timeout option for requests Joanne Koong
2024-08-08 19:01 ` [PATCH v3 1/2] fuse: add optional kernel-enforced timeout " Joanne Koong
2024-08-08 20:50   ` Josef Bacik
2024-08-09 14:14     ` Josef Bacik
2024-08-09 18:33     ` Joanne Koong
2024-08-09  6:22   ` Jingbo Xu
2024-08-09 17:51     ` Joanne Koong
2024-08-13 17:04   ` Bernd Schubert
2024-08-13 18:38     ` Joanne Koong
2024-08-08 19:01 ` [PATCH v3 2/2] fuse: add default_request_timeout and max_request_timeout sysctls Joanne Koong
2024-08-08 20:50   ` Josef Bacik
2024-08-13 20:28   ` Bernd Schubert
2024-08-12  2:33 ` [PATCH v3 0/2] fuse: add timeout option for requests Yafang Shao
2024-08-12 23:18   ` Joanne Koong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).