From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754328AbZH0AE2 (ORCPT ); Wed, 26 Aug 2009 20:04:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754307AbZH0AE1 (ORCPT ); Wed, 26 Aug 2009 20:04:27 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:56699 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754287AbZH0AEW (ORCPT ); Wed, 26 Aug 2009 20:04:22 -0400 Date: Wed, 26 Aug 2009 20:04:23 -0400 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , LKML , Evgeniy Polyakov , ocfs2-devel@oss.oracle.com, Joel Becker , Felix Blyakher , xfs@oss.sgi.com, Anton Altaparmakov , linux-ntfs-dev@lists.sourceforge.net, OGAWA Hirofumi , linux-ext4@vger.kernel.org, tytso@mit.edu Subject: Re: [PATCH 07/17] vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Message-ID: <20090827000423.GA30076@infradead.org> References: <1250697884-22288-1-git-send-email-jack@suse.cz> <1250697884-22288-8-git-send-email-jack@suse.cz> <20090819162638.GE6150@infradead.org> <20090820121531.GC16486@duck.novell.com> <20090820162729.GA24659@infradead.org> <20090826182236.GA1290@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090826182236.GA1290@infradead.org> User-Agent: Mutt/1.5.19 (2009-01-05) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 26, 2009 at 02:22:36PM -0400, Christoph Hellwig wrote: > On Thu, Aug 20, 2009 at 12:27:29PM -0400, Christoph Hellwig wrote: > > Maybe you can help brain storming, but I still can't see any way in that > > the > > > > - write data > > - write inode > > - wait for data > > > > actually is a benefit in terms of semantics (I agree that it could be > > faster in theory, but even that is debatable with todays seek latencies > > in disks) > > Btw, another reason why our current default is actively harmful: > > barriers > > With volatile write caches we do have to flush the disk write cache in > ->fsync, either implicitly by a metadata operation, or explicitly if > only data changed. Unless the filesystems waits itself for the data > to hit the disk like XFS or btrfs will be issue the cache flush > potentially before the data write has actually reached the disk cache. Ok, this one failed the reality check - no matter how hard I tried I could not reproduce that case in my test harness. It turns out cache flush request are quite sensibly treated as barriers by the block layer and thus we drain the queue before issueing the cache flush.