From: Christoph Hellwig Subject: Re: raid is dangerous but that's secret (was Re: [patch] ext2/3: document conditions when reliable operation is possible) Date: Mon, 31 Aug 2009 14:31:54 -0400 Message-ID: <20090831183154.GB3620@infradead.org> References: <20090828120854.GA8153@mit.edu> <20090830075135.GA1874@ucw.cz> <4A9A88B6.9050902@redhat.com> <4A9A9034.8000703@msgid.tls.msk.ru> <20090830163513.GA25899@infradead.org> <4A9BCCEF.7010402@redhat.com> <20090831131626.GA17325@infradead.org> <4A9BCEA8.9080206@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Ric Wheeler , Christoph Hellwig , Michael Tokarev , Pavel Machek , Theodore Tso , NeilBrown , Rob Landley , Florian Weimer , Goswin von Brederlow , kernel list , Andrew Morton , mtk.manpages@gmail.com, rdunlap@xenotime.net, linux-doc@vger.kernel.org, linux-ext4@vger.kernel.org, corbet@lwn.net To: david@lang.hm Return-path: Received: from bombadil.infradead.org ([18.85.46.34]:41296 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751901AbZHaScE (ORCPT ); Mon, 31 Aug 2009 14:32:04 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-ext4-owner@vger.kernel.org List-ID: On Mon, Aug 31, 2009 at 08:50:53AM -0700, david@lang.hm wrote: >> It would also be very useful to have all of our top tier file systems >> enable barriers by default, provide consistent barrier on/off mount >> options and log a nice warning when not enabled.... > > most people are not willing to live with unbuffered write performance. I'm not sure what you mean with unbuffered write support, the only common use of that term is for userspace I/O using the read/write sysctem calls directly in comparism to buffered I/O which uses the stdio library. But be ensure that the use of barriers and cache flushes in fsync does not completely disable caching (or "buffering"), it just does flush flushes the disk write cache in case we either commit a log buffer than need to be on disk, or performan an fsync where we really do want to have data on disk instead of lying to the application about the status of the I/O completion. Which btw could be interpreted as a violation of the Posix rules.