Date: Tue, 30 Mar 2021 12:51:07 -0600 From: Ian Lepore <ian@freebsd.org> To: John-Mark Gurney <jmg@funkthat.com>, Emanuel Haupt <ehaupt@FreeBSD.org> Cc: hackers@FreeBSD.org Subject: Re: RFC: possible issue with kqueue Message-ID: <cef6b9fd5667c7fb227ab646d6f6a0edf11a145b.camel@freebsd.org> In-Reply-To: <20210330181402.GM14975@funkthat.com> References: <20210327131011.e16291cac86475e75a33812c@FreeBSD.org> <20210330181402.GM14975@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2021-03-30 at 11:14 -0700, John-Mark Gurney wrote: > Emanuel Haupt wrote this message on Sat, Mar 27, 2021 at 13:10 +0100: > > Can someone familiar with kqueue please comment on: > > > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254024 > > Done: > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254024#c11 > > Looks like the user wasn't force unmounting the FS. There really > isn't any problem w/ kqueue, as a normal unmount is expected to be > refused while files are open. > > I guess there COULD be a new flag added to file descriptors that > flag them as being able to be closed upon unmount. Then when an > unmount happens and only these flagged files remain, they are closed > allowing the fs to unmount. But this is a new feature and > independent > of kqueue. > While it's not a kqueue bug per se, it is a weakness in freebsd that there is no way to monitor a volume, or items within that volume, without making it impossible to unmount the volume. I've been fighting this with various implementations of desktop software for like 20 years on freebsd. Usually I have to just disable all monitoring and live with the reduced desktop functionality. I wonder if a reasonable fix might be to have some sort of pre-unmount event that can be delivered via kqueue, so that a userland entity monitoring on that volume has a chance to close related descriptors so that the unmount can proceed? -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cef6b9fd5667c7fb227ab646d6f6a0edf11a145b.camel>