xfs
[Top] [All Lists]

Re: [PATCH 2/3] xfs: move aio completion after unwritten extent conversi

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/3] xfs: move aio completion after unwritten extent conversion
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 20 Jul 2010 17:59:11 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20100718211820.396601078@xxxxxxxxxxxxxxxxxxxxxx>
References: <20100718211708.327705876@xxxxxxxxxxxxxxxxxxxxxx> <20100718211820.396601078@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Sun, Jul 18, 2010 at 05:17:10PM -0400, Christoph Hellwig wrote:
> If we write into an unwritten extent using AIO we need to complete the AIO
> request after the extent conversion has finished.  Without that a read could
> race to see see the extent still unwritten and return zeros.   For synchronous
> I/O we already take care of that by flushing the xfsconvertd workqueue (which
> might be a bit of overkill).
> 
> To do that add iocb and result fields to struct xfs_ioend, so that we can
> call aio_complete from xfs_end_io after the extent conversion has happened.
> Note that we need a new result field as io_error is used for positive errno
> values, while the AIO code can return negative error values and positive
> transfer sizes.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>

-- 
Dave Chinner
david@xxxxxxxxxxxxx

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