generic/032: add xfs unwritten extent data corruption reproducer
authorBrian Foster <bfoster@redhat.com>
Mon, 29 Sep 2014 03:10:05 +0000 (13:10 +1000)
committerDave Chinner <david@fromorbit.com>
Mon, 29 Sep 2014 03:10:05 +0000 (13:10 +1000)
commit85fac07e87feef80e8691a09e0e715692f03a263
treeff6059a1e213c631ed0354dc6884553bca944cd5
parent9ba191f6eb7726fdda8809d9c2bf5b7c93d8c4b2
generic/032: add xfs unwritten extent data corruption reproducer

XFS had a data corruption problem where writeback of pages to unwritten
extents would fail to run unwritten extent conversion at I/O completion.
This causes subsequent reads of written, but unconverted regions to
return zeroes. This occurs on sub-page block size filesystems when
writeback contends for the inode lock (e.g., with a file writer).

Add a test that creates the conditions to reproduce the data corruption
and detect it by looking for unwritten extents after all said extents
have been overwritten.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
tests/generic/032 [new file with mode: 0644]
tests/generic/032.out [new file with mode: 0644]
tests/generic/group