[PATCH 1/3] xfs: fix corruption case for block size < page size
Dave Chinner
david at fromorbit.com
Mon Jun 14 20:21:15 CDT 2010
On Fri, Jun 11, 2010 at 12:13:13PM -0400, Christoph Hellwig wrote:
> From: Eric Sandeen <sandeen at sandeen.net>
>
> xfstests 194 first truncats a file back and then extends it again by
> truncating it to a larger size. This causes discard_buffer to drop
> the mapped, but not the uptodate bit and thus creates something that
> xfs_page_state_convert takes for unmapped space created by mmap because
> it doesn't check for the dirty bit, which also gets cleared by
> discard_buffer and checked by other ->writepage implementations like
> block_write_full_page. Handle this kind of buffers early, and unlike
> Eric's first version of the patch simply ASSERT that the buffers is
> dirty, given that the mmap write case can't happen anymore since the
> introduction of ->page_mkwrite. The now dead code dealing with that
> will be deleted in a follow on patch.
>
> Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
Looks good.
Reviewed-by: Dave Chinner <dchinner at redhat.com>
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list