On Wed, Feb 10, 2016 at 08:48:50AM +1100, Dave Chinner wrote: > On Tue, Feb 09, 2016 at 05:39:41AM -0800, Christoph Hellwig wrote: > > > - 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. On second thoughts, I have another patch I haven't posted yet that builds bios directly in xfs_add_to_ioend() that gets rid of the buffer head chain walk during submission, so I'll leave changing the submission code to that patch rather than changing here... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs