From owner-freebsd-hackers@freebsd.org Tue Mar 30 21:05:03 2021 Return-Path: Delivered-To: freebsd-hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD3595AD853 for ; Tue, 30 Mar 2021 21:05:03 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 4F925W59Nlz3Lf5 for ; Tue, 30 Mar 2021 21:05:03 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: by mailman.nyi.freebsd.org (Postfix) id B15D05AD491; Tue, 30 Mar 2021 21:05:03 +0000 (UTC) Delivered-To: hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B127E5AD6E2 for ; Tue, 30 Mar 2021 21:05:03 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gate2.funkthat.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F925W37pzz3Lbw; Tue, 30 Mar 2021 21:05:02 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.15.2/8.15.2) with ESMTPS id 12UL50Z3098868 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 30 Mar 2021 14:05:00 -0700 (PDT) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.15.2/8.15.2/Submit) id 12UL50Zk098867; Tue, 30 Mar 2021 14:05:00 -0700 (PDT) (envelope-from jmg) Date: Tue, 30 Mar 2021 14:05:00 -0700 From: John-Mark Gurney To: Ian Lepore Cc: Emanuel Haupt , hackers@FreeBSD.org Subject: Re: RFC: possible issue with kqueue Message-ID: <20210330210500.GO14975@funkthat.com> Mail-Followup-To: Ian Lepore , Emanuel Haupt , hackers@FreeBSD.org References: <20210327131011.e16291cac86475e75a33812c@FreeBSD.org> <20210330181402.GM14975@funkthat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 11.3-STABLE amd64 X-PGP-Fingerprint: D87A 235F FB71 1F3F 55B7 ED9B D5FF 5A51 C0AC 3D65 X-Files: The truth is out there X-URL: https://www.funkthat.com/ X-Resume: https://www.funkthat.com/~jmg/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.6.1 (2016-04-27) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (gold.funkthat.com [127.0.0.1]); Tue, 30 Mar 2021 14:05:00 -0700 (PDT) X-Rspamd-Queue-Id: 4F925W37pzz3Lbw X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Technical discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Mar 2021 21:05:03 -0000 Ian Lepore wrote this message on Tue, Mar 30, 2021 at 12:51 -0600: > 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? Why not the soft close flag that I propose? It's nice and simple in that you just have to flag the various fd's in the app as opposed to add additional logic, and figure out how to tell the app to close the fd's... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."