From owner-freebsd-hackers Sun Jun 27 17: 4:20 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from bouvreuil.cybercable.fr (bouvreuil.cybercable.fr [212.198.3.12]) by hub.freebsd.org (Postfix) with SMTP id E4B79151E3 for ; Sun, 27 Jun 1999 17:03:56 -0700 (PDT) (envelope-from fare@tunes.org) Received: (qmail 10777 invoked from network); 28 Jun 1999 00:03:54 -0000 Received: from d153.paris-131.cybercable.fr (HELO ZhengHe) ([212.198.131.153]) (envelope-sender ) by bouvreuil.cybercable.fr (qmail-ldap-1.03) with SMTP for ; 28 Jun 1999 00:03:54 -0000 Received: from fare by ZhengHe with local (Exim 2.11 #1 (Debian)) id 10yOrw-0001aP-00; Mon, 28 Jun 1999 02:01:52 +0200 Date: Mon, 28 Jun 1999 02:01:51 +0200 From: Francois-Rene Rideau To: der Mouse Cc: Francois-Rene Rideau , FreeBSD Hackers , NetBSD Kernel , OpenBSD Kernel , Linux Kernel Subject: Re: Improving the Unix API Message-ID: <19990628020151.A6067@ZhengHe.augustin.thierry> Reply-To: Francois-Rene Rideau References: <199906272333.TAA23042@Twig.Rodents.Montreal.QC.CA> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mutt 0.95.6i In-Reply-To: <199906272333.TAA23042@Twig.Rodents.Montreal.QC.CA>; from der Mouse on Sun, Jun 27, 1999 at 07:33:32PM -0400 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sun, Jun 27, 1999 at 07:33:32PM -0400, der Mouse wrote: >> If you re-read the original message, the problem is what to do about >> processes with open file descriptors on the partition [...] > Yes, that's the most difficult part. [...] NetBSD manpage: > -f The filesystem is forcibly unmounted. Active special devices > continue to work, but all other files return errors if further > accesses are attempted. I think that returning errors is WRONG, unless specifically requested by fnctl(). It means that processes will get unexpected errors from otherwise validly open filedescriptor. It means that you can't fix the problem with the filesystem and resume operations nicely afterwards; or you will have to manually stop processes from userland before unmounting, which would not be atomic and generate yet another race condition. Robert seemed to favor atomically stopping processes. I am personally in favor of defaulting to a blocking behavior. >> How will you allow for such large table-walking to be compatible with >> real-time kernel response? > *What* large table-walking? All this means you have to do is have > every write check the relevant mount point to see if it's mounted > read-only, for downgrading remounts, and mark the filesystem as gone, > for forced unmounts. (I suspect this is what deadfs is for.) That's typical incremental behavior. Again, it's a matter of tradeoff: do you want a big atomic operation once in a while and simple operations every time, or complex incremental operations every time? It's real-time response vs overall-time duration. See GC for a field of CS where this trade-off has been beaten to death. Also, the worry was most important in the case of atomically stopping processes as recommended by Robert. Hum. It looks like the need to avoid losing file descriptor information and pending I/O requests would make it a good idea that there be a mount mode without either read or write permissions, similarly to opening files without read or write permissions. Looks to me like an interesting alternative to deadfs, anyway... >> Competition is _not_ about taunting each other for pride; > I know this. I even think most of the people involved know it. Cool. > But there seem to be a few - not many, but very poisonous - who seem to > take any competition - indeed, almost any *difference* - as an > opportunity for "we're better than you" egoboo. "Hey, stupid, my underwear is nicer than yours!" Hum. Let's just send those kiddies to /dev/null; uh, I mean, er, whatever. [ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ] [ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ] [ Reflection&Cybernethics | Project for a Free Reflective Computing System ] My opinions may have changed, but not the fact that I am right. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message