2 # Regression test for mkfs.btrfs --rootdir with inline file extents
3 # For any large inline file extent, btrfs check could already report it
5 source "$TEST_TOP/common"
7 check_prereq mkfs.btrfs
11 tmp=$(mktemp -d --tmpdir btrfs-progs-mkfs.rootdirXXXXXXX)
13 pagesize=$(getconf PAGESIZE)
17 # Reuse size as filename
18 eval printf "%0.sx" {1..$size} > "$tmp/$size"
24 run_check "$TOP/mkfs.btrfs" --nodesize "$nodesize" -f --rootdir "$tmp" \
26 run_check $SUDO_HELPER "$TOP/btrfs" check "$TEST_DEV"
29 # Use power of 2 from 512 to 64K (maximum node size) as base file size
30 for i in 512 1024 2048 4096 8192 16384 32768; do
31 create_file $(($i - 102))
32 # 101 is the overhead size for max inline extent
33 create_file $(($i - 101))
34 create_file $(($i - 100))
36 create_file $(($i - 1))
38 create_file $(($i + 1))
41 for nodesize in 4096 8192 16384 32768 65536; do
42 if [ "$nodesize" -ge "$pagesize" ]; then
43 test_mkfs_rootdir "$nodesize"