2 # Test if "-m single" or "--mixed" can cause dev extent to use the reserved 1M
5 # Other profiles will cause mkfs.btrfs to allocate new meta/sys chunks
6 # using btrfs_alloc_chunk() which won't use the 0~1M range, so other profiles
9 source "$TOP/tests/common"
11 check_prereq mkfs.btrfs
18 run_check "$TOP/mkfs.btrfs" -f "$@" "$TEST_DEV"
20 # Use dev-extent tree to find first device extent
21 first_dev_extent=$(run_check_stdout "$TOP/btrfs" inspect-internal \
22 dump-tree -t device "$TEST_DEV" | \
23 grep -oP '(?<=DEV_EXTENT )[[:digit:]]*' | head -n1)
25 if [ -z $first_dev_extent ]; then
26 _fail "failed to get first device extent"
29 echo "first dev extent starts at $first_dev_extent" >> "$RESULTS"
30 echo "reserved range is [0, $(( 1024 * 1024)))" >> "$RESULTS"
31 # First device extent should not start below 1M
32 if [ $first_dev_extent -lt $(( 1024 * 1024 )) ]; then
33 _fail "first device extent occupies reserved 0~1M range"