From: Darrick J. Wong Date: Sun, 6 Mar 2016 22:32:14 +0000 (+1100) Subject: xfs: ioends require logically contiguous file offsets X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=0df61da8ac5b7acb1db6cee142822ebe4724c739;p=deliverable%2Flinux.git xfs: ioends require logically contiguous file offsets We need to create a new ioend if the current writepage call isn't logically contiguous with the range contained in the previous ioend. Hopefully writepage gets called in order of increasing file offset. Signed-off-by: Darrick J. Wong Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index 46dc9211bae7..b125f9019145 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c @@ -520,7 +520,8 @@ xfs_add_to_ioend( struct list_head *iolist) { if (!wpc->ioend || wpc->io_type != wpc->ioend->io_type || - bh->b_blocknr != wpc->last_block + 1) { + bh->b_blocknr != wpc->last_block + 1 || + offset != wpc->ioend->io_offset + wpc->ioend->io_size) { struct xfs_ioend *new; if (wpc->ioend)