Re: [PATCH 2/5] xfs: Introduce writeback context for writepages

Dave Chinner
2016-02-09T21:48:54Z

On Tue, Feb 09, 2016 at 05:39:41AM -0800, Christoph Hellwig wrote:
> Removing xfs_cancel_ioend and replacing it with the start and cancel
> writeback scheme that we currently only use for
> xfs_setfilesize_trans_alloc failures actually seems to be the biggest
> change in this patch and is entirely undocumented. Any chance you
> could split this into a prep patch and properly document it?

I can try.

> > -
> > - if (!ioend || need_ioend || type != ioend->io_type) {
> > - xfs_ioend_t *previous = *result;
> > -
> > - ioend = xfs_alloc_ioend(inode, type);
> > - ioend->io_offset = offset;
> > - ioend->io_buffer_head = bh;
> > - ioend->io_buffer_tail = bh;
> > - if (previous)
> > - previous->io_list = ioend;
> > - *result = ioend;
> > + if (!wpc->ioend || wpc->io_type != wpc->ioend->io_type ||
> > + bh->b_blocknr != wpc->last_block + 1) {
>
> We now start a new ioend if the blocks aren't contiguous, which seems
> reasonable. But this also means the similar check in xfs_submit_ioend
> should be removed at the same time.

OK.

-Dave.
--
Dave Chinner
david@fromorbit.com