X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Fmkfs_ext2_test.sh;h=f5347cc04dd0b2168081f08e323ca9133fd0cbce;hb=8b0f459af7aa108089d0f87b0be81ccadb8638cb;hp=4bc5f1ea928e72ff266f684a9630733ee30112dd;hpb=82d6433abe251d8d7a43417af392b638f868afe5;p=oweals%2Fbusybox.git diff --git a/util-linux/mkfs_ext2_test.sh b/util-linux/mkfs_ext2_test.sh index 4bc5f1ea9..f5347cc04 100755 --- a/util-linux/mkfs_ext2_test.sh +++ b/util-linux/mkfs_ext2_test.sh @@ -1,15 +1,13 @@ #!/bin/sh -system_mke2fs='/sbin/mke2fs' +# Disabling features we do not match exactly: +system_mke2fs='/sbin/mke2fs -O ^resize_inode' bbox_mke2fs='./busybox mke2fs' gen_image() { # params: mke2fs_invocation image_name >$2 dd seek=$((kilobytes-1)) bs=1K count=1 /dev/null 2>&1 || exit 1 $1 -F $2 $kilobytes >$2.raw_out 2>&1 || return 1 - -#off | sed 's/inodes, [0-9]* blocks/inodes, N blocks/' \ - cat $2.raw_out \ | grep -v '^mke2fs [0-9]*\.[0-9]*\.[0-9]* ' \ | grep -v '^Maximum filesystem' \ @@ -45,66 +43,62 @@ test_mke2fs() { # -:bbox +:standard -# kilobytes=60 is the minimal allowed size. -# -# kilobytes=8378 is the first value where we differ from std: -# +warning: 185 blocks unused -# Filesystem label= -# OS type: Linux -# Block size=1024 (log=0) -# Fragment size=1024 (log=0) -# -2096 inodes, 8378 blocks -# +2096 inodes, 8193 blocks -# 418 blocks reserved for the super user -# First data block=1 -# -2 block groups -# +1 block groups -# 8192 blocks per group, 8192 fragments per group -# -1048 inodes per group -# -Superblock backups stored on blocks: -# -8193 -# +2096 inodes per group -# +# kilobytes=60 is the minimal allowed size kilobytes=60 while true; do test_mke2fs || exit 1 : $((kilobytes++)) - test $kilobytes = 300000 && break + test $kilobytes = 200 && break done -exit - -# Specific sizes with known differences: -# -6240 inodes, 24908 blocks -# +6240 inodes, 24577 blocks -# -4 block group -# +3 block group -# -1560 inodes per group -# +2080 inodes per group -kilobytes=24908 test_mke2fs +# Transition from one block group to two +# fails in [8378..8410] range unless -O ^resize_inode +kilobytes=$((1 * 8*1024 - 50)) +while true; do + test_mke2fs || exit 1 + : $((kilobytes++)) + test $kilobytes = $((1 * 8*1024 + 300)) && break +done -# -304 inodes, N blocks -# +152 inodes, N blocks -# -304 inodes per group -# +152 inodes per group -kilobytes=1218 test_mke2fs +# Transition from 2 block groups to 3 +# works +kilobytes=$((2 * 8*1024 - 50)) +while true; do + test_mke2fs || exit 1 + : $((kilobytes++)) + test $kilobytes = $((2 * 8*1024 + 400)) && break +done -# -14464 inodes, N blocks -# +14448 inodes, N blocks -# -8 block group -# +7 block group -# -1808 inodes per group -# +2064 inodes per group -kilobytes=57696 test_mke2fs +# Transition from 3 block groups to 4 +# fails in [24825..24922] range unless -O ^resize_inode +kilobytes=$((3 * 8*1024 - 50)) +while true; do + test_mke2fs || exit 1 + : $((kilobytes++)) + test $kilobytes = $((3 * 8*1024 + 500)) && break +done -# -warning: 239 blocks unused. -# +warning: 242 blocks unused. -kilobytes=49395 test_mke2fs +# Transition from 4 block groups to 5 +# works +kilobytes=$((4 * 8*1024 - 50)) +while true; do + test_mke2fs || exit 1 + : $((kilobytes++)) + test $kilobytes = $((4 * 8*1024 + 600)) && break +done -## This size results in "warning: 75 blocks unused" -#kilobytes=98380 test_mke2fs +# Transition from 5 block groups to 6 +# fails in [41230..41391] range unless -O ^resize_inode +kilobytes=$((5 * 8*1024 - 50)) +while true; do + test_mke2fs || exit 1 + : $((kilobytes++)) + test $kilobytes = $((5 * 8*1024 + 700)) && break +done +exit +# Random sizes while true; do - kilobytes=$(( (RANDOM*RANDOM) % 1000000 + 60)) + kilobytes=$(( (RANDOM*RANDOM) % 5000000 + 60)) test_mke2fs || exit 1 done