generic/033: add xfs delalloc indirect block depletion reproducer
authorBrian Foster <bfoster@redhat.com>
Mon, 29 Sep 2014 03:10:25 +0000 (13:10 +1000)
committerDave Chinner <david@fromorbit.com>
Mon, 29 Sep 2014 03:10:25 +0000 (13:10 +1000)
XFS allocates extra indirect blocks for delayed allocation extents at
write time. When delalloc extents are split, the existing indirect block
reservation was historically divided up evenly among the new extents
even though the overall requirement for two extents could exceed the
requirement for the original. Repeated delalloc extent splits ultimately
leads to extents with 0 indirect blocks and in turn leads to assert
failures in XFS.

Add a test to stress indirect block reservation for delayed allocation
extents. The test converts a single delalloc extent to many and operates
on the remaining extents to detect or trigger potential problems.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>

No differences found