btrfs-progs: tests: add shell quotes to mkfs test scripts
[platform/upstream/btrfs-progs.git] / tests / mkfs-tests / 014-rootdir-inline-extent / test.sh
1 #!/bin/bash
2 # Regression test for mkfs.btrfs --rootdir with inline file extents
3 # For any large inline file extent, btrfs check could already report it
4
5 source "$TEST_TOP/common"
6
7 check_prereq mkfs.btrfs
8
9 prepare_test_dev
10
11 tmp=$(mktemp -d --tmpdir btrfs-progs-mkfs.rootdirXXXXXXX)
12
13 pagesize=$(getconf PAGESIZE)
14 create_file()
15 {
16         local size=$1
17         # Reuse size as filename
18         eval printf "%0.sx" {1..$size} > "$tmp/$size"
19 }
20
21 test_mkfs_rootdir()
22 {
23         nodesize=$1
24         run_check "$TOP/mkfs.btrfs" --nodesize "$nodesize" -f --rootdir "$tmp" \
25                 "$TEST_DEV"
26         run_check $SUDO_HELPER "$TOP/btrfs" check "$TEST_DEV"
27 }
28
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))
35
36         create_file $(($i - 1))
37         create_file $i
38         create_file $(($i + 1))
39 done
40
41 for nodesize in 4096 8192 16384 32768 65536; do
42         if [ "$nodesize" -ge "$pagesize" ]; then
43                 test_mkfs_rootdir "$nodesize"
44         fi
45 done
46 rm -rf -- "$tmp"