Re: [PATCH v4 0/2] fuse: add timeout option for requests

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

 



On Wed, 21 Aug 2024 at 20:11, Josef Bacik <josef@xxxxxxxxxxxxxx> wrote:

> "A well written server" is the key part here ;).  In our case we had a "well
> written server" that ended up having a deadlock and we had to run around with a
> drgn script to find those hung mounts and kill them manually.  The usecase here
> is specifically for bugs in the FUSE server to allow us to cleanup automatically
> with EIO's rather than a drgn script to figure out if the mount is hung.

So you 'd like to automatically abort the connection to an
unresponsive server?  I'm okay with that.

What I'm worried about is the unintended side effects of timed out
request without the server's knowledge (i.e. VFS locks released, then
new request takes VFS lock).   If the connection to the server is
aborted, then that's not an issue.

It's also much simpler to just time out any response from the server
(either read or write on /dev/fuse) than having to do per-request
timeouts.

> It also gives us the opportunity to do the things that Bernd points out,
> specifically remove the double buffering downside as we can trust that
> eventually writeback will either succeed or timeout.  Thanks,

Well see this explanation for how this might deadlock on a memory
allocation by the server:

 https://lore.kernel.org/all/CAJfpegsfF77SV96wvaxn9VnRkNt5FKCnA4mJ0ieFsZtwFeRuYw@xxxxxxxxxxxxxx/

Having a timeout would fix the deadlock, but it doesn't seem to me a
proper solution.

Thanks,
Miklos




[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