[PATCH v2] fuse: Abort connection if FUSE server get stuck

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When HUNG_TASK_PANIC is _not_ set, this patch doesn't take any action hence it's
still possible to observe stack dumps ( as before ) whenever a FUSE server stop
responding.

This issue is seen in the 5.4 / 5.10 and 6.6 stable branch and IMO we need a
solution that can easily be backported.

Following Bernd's comment on the previous implementation [3], this patch now leverage
the fuse_check_timeout() logic from Joanne [1] with minor modifications:
 - Runs from a work queue instead of a timer to address the deadlock reported by Sergey [2]
 - Use time_after() for jiffies arithmetic
 - Add chained work to kick back the timer logic
 - Set the timeout to be half the HUNG_TASK_TIMEOUT period in order to stay under the radar

I've been running some tests on rc1 and so far things looks good.

[1] https://lore.kernel.org/linux-fsdevel/20241114191332.669127-3-joannelkoong@xxxxxxxxx/
[2] https://lore.kernel.org/linux-fsdevel/20241203110147.GD886051@xxxxxxxxxx/
[3] https://lore.kernel.org/linux-fsdevel/20241210171621.64645-1-etmartin4313@xxxxxxxxx/T/#m8f6f370d39087adcd4a7b325fc0562eebab7b998

thanks,
Etienne






[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux