umount() taking minutes for FUSE filesystems

Martin Simmons martin at lispworks.com
Fri Sep 8 17:28:40 UTC 2017


>>>>> On Fri, 08 Sep 2017 15:22:19 +0100, Nikolaus Rath said:
> 
> On Sep 08 2017, Martin Simmons <martin at lispworks.com> wrote:
>
> > That will prevent the kernel from sending FUSE_DESTROY, but what is the
> > purpose of FUSE_DESTROY if the user program can't respond to it?
> 
> In most cases, umount() is not called by the filesystem but by the
> user. In that case, the FUSE_DESTROY request gives the filesystem a
> chance to clean-up and exit the main loop.

OK, that makes sense.


> That said, the filesystem could also detect the unmount by the kernel
> closing the fd. So I'm not sure what is gained by the extra request
> either... Theoretically, at least under Linux the destroy handler could
> perform some notify_* operations, but I don't see how that would be
> useful when the filesystem will be unmounted anyway.

I don't think the kernel itself ever closes the fd (except implicitly in the
case where the filesystem program dies unexpected).

__Martin


More information about the freebsd-fs mailing list