| 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> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 0/6] a few cleanups for 2.6.36, Dave Chinner |
|---|---|
| Next by Date: | Re: [PATCH 3/3] xfs simplify and speed up direct I/O completions, Dave Chinner |
| Previous by Thread: | [PATCH 2/3] xfs: move aio completion after unwritten extent conversion, Christoph Hellwig |
| Next by Thread: | [PATCH 1/3] direct-io: move aio_complete into ->end_io, Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |