Re: stop using ioends for direct write completions

Christoph Hellwig
2016-01-28T21:11:03Z

On Thu, Jan 28, 2016 at 12:53:33PM -0800, Darrick J. Wong wrote:
> On Thu, Jan 28, 2016 at 05:16:56AM -0800, Christoph Hellwig wrote:
> > Any chance to get a review for this? It should really help
> > with sorting out the buffered I/O COW code.
>
> It looks reasonable to me. I separated the dio and buffered CoW remap paths a
> couple of weeks ago, because it seems that IO errors only get passed back as a
> return value from __blockdev_direct_IO, therefore the remapping has to be done
> from xfs_vm_do_dio anyway because we don't want to remap if the write fails.
> Just yesterday I removed the "is_cow" flag from the ioend, so now we're back to
> having a separate XFS_IO_COW ioend type.

For direct I/O we will need something like this to properly support AIO
writes.

> So... reflink doesn't need the patch but OTOH directio doesn't really need
> the overhead of allocating an ioend anyway. :)

Yep.