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 teh 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.
Date: Tue Jun 5 17:51:26 AEST 2007
Inspected by: hch@xxxxxxxxxxxxx
The following file(s) were checked into:
fs/xfs/linux-2.6/xfs_aops.c - 1.146 - changed
- If the mapping changes between blocks in xfs_page_state_convert, make
sure that we also start a new ioend for the new mapping.