[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