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)
commit44d8ae435174e3833e521757291b8129e7f9f16c
tree424542aec25f54e667bb4ec577b9b099c07a31ad
parent85fac07e87feef80e8691a09e0e715692f03a263
generic/033: add xfs delalloc indirect block depletion reproducer

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>
tests/generic/033 [new file with mode: 0644]
tests/generic/033.out [new file with mode: 0644]
tests/generic/group