diff --git a/tests/fsck-tests/036-bad-dev-extents/over_dev_boundary.img.xz b/tests/fsck-tests/036-bad-dev-extents/over_dev_boundary.img.xz new file mode 100644 index 00000000..47cb2a70 Binary files /dev/null and b/tests/fsck-tests/036-bad-dev-extents/over_dev_boundary.img.xz differ diff --git a/tests/fsck-tests/036-bad-dev-extents/test.sh b/tests/fsck-tests/036-bad-dev-extents/test.sh new file mode 100755 index 00000000..88ea0aec --- /dev/null +++ b/tests/fsck-tests/036-bad-dev-extents/test.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Due to DUP chunk allocator bugs, we could allocate DUP chunks while its dev +# extents could exist beyond device boundary. +# And since all related items (block group, chunk, device used bytes) are all +# valid, btrfs check won't report any error. +# +# This test case contains hand crafted minimal image, to test if btrfs check +# can detect and report such error. + +source "$TEST_TOP/common" + +check_prereq btrfs + +check_image() { + run_mustfail "btrfs check failed to detect invalid dev extents" \ + "$TOP/btrfs" check "$1" +} + +check_all_images