xfs
[Top] [All Lists]

Re: [PATCH 1/2] direct-io: Implement generic deferred AIO completions

To: Jan Kara <jack@xxxxxxx>
Subject: Re: [PATCH 1/2] direct-io: Implement generic deferred AIO completions
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 13 Aug 2013 10:11:40 +1000
Cc: linux-fsdevel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, hch@xxxxxxxxxxxxx, Jeff Moyer <jmoyer@xxxxxxxxxx>, Al Viro <viro@xxxxxxxxxxxxxxxxxx>, linux-ext4@xxxxxxxxxxxxxxx, Christoph Hellwig <hch@xxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20130812161455.GA19471@xxxxxxxxxxxxx>
References: <1373493739-2243-1-git-send-email-jack@xxxxxxx> <20130712004421.GE3438@dastard> <20130716210027.GA9595@xxxxxxxxxxxxx> <20130812161455.GA19471@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Aug 12, 2013 at 06:14:55PM +0200, Jan Kara wrote:
>   Hi Dave,
> 
>   I remembered about this patch set and realized I didn't get reply from
> you regarding the following question (see quoted email below for details):
> Do you really need to defer completion of appending direct IO? Because
> generic code makes sure appending direct IO isn't async and thus
> dio_complete() -> xfs_end_io_direct_write() gets called directly from
> do_blockdev_direct_IO(). I.e. from a normal context and not from interrupt.

Hi Jan, sorry I haven't got back to you sooner - I've had a lot
of stuff to deal with over the past couple of weeks.

The issue is that one part of the code expects deferral , and the
other part of the code isn't doing a deferral, and I never got
around to determining which was correct. I didn't connect the dots
between aio/appending and sync dispatch meaning that the way it is
operating now is fine - i.e. that the fact it doesn't call the
deferral completion path is OK and was intended to operate that
way by Christoph.

So leaving the code as it is without a deferal is fine.

> I've already addressed rest of your comments so this is the only item that
> is remaining.

Great :)

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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