Clear unwritten buffer flag on partial page invalidation
If we have a page with unwritten extents on it, and we do a
partial page truncation, we fail to clear the private unwritten
buffer flag on buffers that are now past EOF. If we then
extend the file into those blocks via a write, we will make
the wrong allocation decision when writing the new data
to disk because of the incorrect unwritten flag on the buffer.
Hence we need to clear the unwritten flag in xfs_vm_invalidatepage
to ensure that the state of the buffers on the page beyond EOF
are in the correct state in case they are reused.
Date: Fri Dec 22 10:25:11 AEDT 2006
Workarea: chook.melbourne.sgi.com:/build/dgc/isms/2.6.x-xfs
Inspected by: lachlan,nathans@xxxxxxxxxx
The following file(s) were checked into:
longdrop.melbourne.sgi.com:/isms/linux/2.6.x-xfs-melb
Modid: xfs-linux-melb:xfs-kern:27804a
fs/xfs/linux-2.6/xfs_aops.c - 1.137 - changed
http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-linux/linux-2.6/xfs_aops.c.diff?r1=text&tr1=1.137&r2=text&tr2=1.136&f=h
- Clear private buffer flags in xfs_vm_invalidatepage to ensure
buffers are consistent for reuse after a partial page truncation.
|