[XFS] Map unwritten extents correctly for I/o completion processing
authorDavid Chinner <dgc@sgi.com>
Mon, 18 Jun 2007 06:49:58 +0000 (16:49 +1000)
committerTim Shimmin <tes@chook.melbourne.sgi.com>
Sat, 14 Jul 2007 05:32:49 +0000 (15:32 +1000)
commiteffd120edb7609069cca9f3d1cb4bfae464b2f85
tree3183077b16d0af765bce44a4a3df5e6d37f78fc8
parent45c34141126a89da07197d5b89c04c6847f1171a
[XFS] Map unwritten extents correctly for I/o completion processing

If we have multiple unwritten extents within a single page, we fail to
tell the I/o completion construction handlers we need a new handle for the
second and subsequent blocks in the page. While we still issue the I/O
correctly, we do not have the correct ranges recorded in the ioend
structures and hence when we go to convert the unwritten extents we screw
it up.

Make sure we start a new ioend every time the mapping changes so that we
convert the correct ranges on I/O completion.

SGI-PV: 964647
SGI-Modid: xfs-linux-melb:xfs-kern:28797a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Tim Shimmin <tes@sgi.com>
fs/xfs/linux-2.6/xfs_aops.c