mirror of
https://github.com/kdave/btrfs-progs
synced 2025-02-27 15:30:44 +00:00
Now two locations can detect such problem, either by device item used/total bytes check, or by early dev extents check against device boundary. The image is hand-crafted image which uses DATA SINGLE chunk to feed btrfs check. As expected, as long as block group item, chunk item, device used bytes match, older versions check can't detect such problem. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
21 lines
553 B
Bash
Executable File
21 lines
553 B
Bash
Executable File
#!/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
|