[Top] [All Lists]

Re: [PATCH 2/9] ext4: honor the O_SYNC flag for aysnchronous direct I/O

To: Jeff Moyer <jmoyer@xxxxxxxxxx>
Subject: Re: [PATCH 2/9] ext4: honor the O_SYNC flag for aysnchronous direct I/O requests
From: Jan Kara <jack@xxxxxxx>
Date: Wed, 21 Nov 2012 17:54:36 +0100
Cc: Jan Kara <jack@xxxxxxx>, "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>, axboe@xxxxxxxxx, tytso@xxxxxxx, david@xxxxxxxxxxxxx, bpm@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, hch@xxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
In-reply-to: <x49r4nnujx6.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20121120074116.24645.36369.stgit@xxxxxxxxxxxxxxxxxxx> <20121120074131.24645.38489.stgit@xxxxxxxxxxxxxxxxxxx> <20121120100751.GB1408@xxxxxxxxxxxxx> <x49sj84hwl4.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20121121005626.GC10507@xxxxxxxxxxxxx> <x49r4nnujx6.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Wed 21-11-12 09:09:41, Jeff Moyer wrote:
> Jan Kara <jack@xxxxxxx> writes:
> >> Just to be clear, are you saying you would like me to remove the
> >> mutex_lock/unlock pair from ext4_sync_file?  (I had already factored out
> >> the common code between this new code path and the fsync path in my tree.)
> >   Yes, after some thinking I came to that conclusion. We actually need to
> > keep i_mutex around ext4_flush_unwritten_io() to avoid livelocks but the
> > rest doesn't need it. The change should be definitely a separate patch just
> > in case there's something subtle I missed and we need to bisect in
> > future... I've attached a patch for that so that blame for bugs goes my way
> > ;) Compile tested only so far. I'll give it some more testing overnight.
> Great, thanks Jan!  I'll include this in the next posting.
  OK, patch passed xfstests and a test banging one file with random IO and
fsyncs from 8 processes (in data=ordered, data=journal, and nojournal
modes). So it seems I didn't miss anything substantial. So ship it! ;)

Jan Kara <jack@xxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>