From owner-freebsd-hackers Fri May 31 18:27:32 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA29237 for hackers-outgoing; Fri, 31 May 1996 18:27:32 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id SAA29232 for ; Fri, 31 May 1996 18:27:30 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id SAA19324; Fri, 31 May 1996 18:23:59 -0700 From: Terry Lambert Message-Id: <199606010123.SAA19324@phaeton.artisoft.com> Subject: Re: Breaking ffs - speed enhancement? To: bde@zeta.org.au (Bruce Evans) Date: Fri, 31 May 1996 18:23:59 +1700 (MST) Cc: bde@zeta.org.au, terry@lambert.org, davidg@Root.COM, hackers@FreeBSD.org, jgreco@solaria.sol.net, rashid@rk.ios.com In-Reply-To: <199606010037.KAA26374@godzilla.zeta.org.au> from "Bruce Evans" at Jun 1, 96 10:37:11 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > >> >There is a school of thought that says "shall be updated" in POSIX is > >> >not the same as "shall be committed to stable storage" (the traditional > >> >BSD implementation). > >> > >> When was this traditional? > > >It's just historical behaviour; has to do (in 4.3) with whether or > >not O_ASYNC is set or not. The write is done, regardless; it *will* > > This seems unlikely. O_ASYNC has to do with SIGIO for sockets. Perhaps > you mean O_FSYNC. O_FSYNC is a no-op in 4.4Lite and in FreeBSD. Perhaps > you mean MNT_ASYNC. MNT_ASYNC is (almost?) a no-op in 4.4Lite but is > partly implemented in FreeBSD. I mean whatever O_SYNC is in System V, which says whether to wait for the write request to complete before returning from the write request, or whether it's OK to stick the requests onto a queue which is allowed to be reordered by write optimization algorithms at their discretion. I'd have to find a 4.3 online somewhere to get the actual name; you may be right that it's O_FSYNC, but I rather believe it was a flag the kernel passed to bwrite() that wasn't O_FSYNNC. Didn't you or John say that that 4.4-based FreeBSD no longer supports async I/O requests? The flag I'm referring to is the non-async case of a write request at the block I/O level for a system that supports async write requests. I think there are several fields in the inode which are POSIX mandated event-related instead of FS structure event-related, and so don't really require strict critical-data-style write guarantees. We seem to be giving the same weight to date up dates as to, for instance, file size, and this seems not quite kosher. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.