From owner-freebsd-standards@FreeBSD.ORG Tue Apr 26 15:17:53 2005 Return-Path: Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3DFB616A4CE; Tue, 26 Apr 2005 15:17:53 +0000 (GMT) Received: from mailhost.stack.nl (vaak.stack.nl [131.155.140.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5490943D2D; Tue, 26 Apr 2005 15:17:52 +0000 (GMT) (envelope-from marcolz@stack.nl) Received: from hammer.stack.nl (hammer.stack.nl [IPv6:2001:610:1108:5010::153]) by mailhost.stack.nl (Postfix) with ESMTP id 5FBE61F031; Tue, 26 Apr 2005 17:17:51 +0200 (CEST) Received: by hammer.stack.nl (Postfix, from userid 333) id 4642C663D; Tue, 26 Apr 2005 17:17:51 +0200 (CEST) Date: Tue, 26 Apr 2005 17:17:51 +0200 From: Marc Olzheim To: Brian Fundakowski Feldman Message-ID: <20050426151751.GB68038@stack.nl> References: <20050419160258.GA12287@stack.nl> <20050419160900.GB12287@stack.nl> <20050419161616.GF1157@green.homeunix.org> <20050419204723.GG1157@green.homeunix.org> <20050420140409.GA77731@stack.nl> <20050420142448.GH1157@green.homeunix.org> <20050420143842.GB77731@stack.nl> <16998.36437.809896.936800@khavrinen.csail.mit.edu> <20050420173859.GA99695@stack.nl> <20050426140701.GB5789@green.homeunix.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="azLHFNyN32YCQGCU" Content-Disposition: inline In-Reply-To: <20050426140701.GB5789@green.homeunix.org> X-Operating-System: FreeBSD hammer.stack.nl 5.4-STABLE FreeBSD 5.4-STABLE X-URL: http://www.stack.nl/~marcolz/ User-Agent: Mutt/1.5.9i cc: Garrett Wollman cc: freebsd-standards@freebsd.org Subject: Re: NFS client/buffer cache deadlock X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Apr 2005 15:17:53 -0000 --azLHFNyN32YCQGCU Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 26, 2005 at 10:07:01AM -0400, Brian Fundakowski Feldman wrote: > > Could someone from standards comment here ? I believe Garrett is > > right... > > (thread is on -hackers and -current) >=20 > What prevents you from using O_FSYNC | O_APPEND to get the > functionality you desire? The semantics of IO_UNIT -- atomic writes > -- are definitely defined and assumed to function properly by the rest > of the kernel. Allowing asynchronous unbounded atomic appends is > impossible, so something must be done to prevent deadlock. Breaking > IO_UNIT really shouldn't be considered as a solution. Automatically > turning the write into a synchronous + atomic append if an asynchrous > + atomic append is not possible might follow POLA best. I don't care whether a user application corrupts it's own data by writing simultaneously to the same file from different hosts; that's the choice of the application. What I want is when the application behaves and is the only one writing to the file, that that writev() succeeds. I'm okay with the fact that simultaneous huge writes to the same file over NFS could lead to corruption and that the exact outcome is undefined. This is exactly how it was in FreeBSD 4.x and that's perfectly workable. But that's just my way of looking at it and certainly not ideal. :-/ Marc --azLHFNyN32YCQGCU Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFCblufezjnobFOgrERAiaHAJ0ax7p0SXtg5Fh4AULAydrTxZ0HSwCeOiJB bkyOC3BxMT5LBHfB+6ngWl4= =HIYP -----END PGP SIGNATURE----- --azLHFNyN32YCQGCU--