Message ID | 20240808190110.3188039-1-joannelkoong@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | fuse: add timeout option for requests | expand |
On Fri, Aug 9, 2024 at 3:02 AM Joanne Koong <joannelkoong@gmail.com> wrote: > > 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 > Hello Joanne, I have tested this version, and the crash no longer occurs. Thanks for the update. -- Regards Yafang
On Sun, Aug 11, 2024 at 7:33 PM Yafang Shao <laoar.shao@gmail.com> wrote: > > On Fri, Aug 9, 2024 at 3:02 AM Joanne Koong <joannelkoong@gmail.com> wrote: > > > > 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 > > > > Hello Joanne, > > I have tested this version, and the crash no longer occurs. Thanks for > the update. Thank you for rerunning your test on this version, Yafang! And thanks again for providing your crash logs in v2 - they were very helpful. > > -- > Regards > Yafang