generic/015: fix to test the default non-mixed mode
authorAnand Jain <anand.jain@oracle.com>
Tue, 25 Sep 2018 04:24:15 +0000 (12:24 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 7 Oct 2018 14:56:55 +0000 (22:56 +0800)
commit 97575acd7495 (generic/015: Change the test filesystem size to
101mb), created 101mb FS instead of 100mb FS to make sure we create
a FS which is non mixed mode.

btrfs-progs commit 18e2663db3e1 (btrfs-progs: Add minimum device
size check) added a more accurate minimum required space to create
the btrfs FS in non mixed mode depending on the group profile, and
considering any group profiles we would need at least 256MB (with
upward round off).

So this patch changes the FS size to be created by
_scratch_sized_mkfs() to 256MB so that we create the FS in non mixed
mode for any group profile.

Mixed blockgroup can be tested using the MKFS_OPTIONS explicitly.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/015

index 0f4d29800f4f9a44b6cd210012e43154a4bd6fc0..e6c8d7c37c07de4a9579098fd44c3fb320147fba 100755 (executable)
@@ -37,11 +37,9 @@ _supported_os Linux
 _require_scratch
 _require_no_large_scratch_dev
 
-# With filesystems less than 100mb btrfs is created in mixed mode
-# which can lead to slight accounting errors of 1mb. Having the
-# fs be at least 101 mb ensures those errors are within the error
-# tolerance of 1%
-_scratch_mkfs_sized `expr 101 \* 1024 \* 1024` >/dev/null 2>&1 \
+# btrfs needs at least 256MB (with upward round off) to create a non-mixed mode
+# fs. Ref: btrfs-progs: btrfs_min_dev_size()
+_scratch_mkfs_sized $((256 * 1024 * 1024)) >> $seqres.full 2>&1 \
     || _fail "mkfs failed"
 _scratch_mount
 out=$SCRATCH_MNT/fillup.$$