15e5c12b0Sopenharmony_ci#!/bin/bash 25e5c12b0Sopenharmony_ci 35e5c12b0Sopenharmony_ciIMG=../test.img 45e5c12b0Sopenharmony_ciTMP=/tmp/res 55e5c12b0Sopenharmony_ciXFSTESTS=~/xfstests 65e5c12b0Sopenharmony_ciTESTS="4 5 8 11 16 25 32 55 64" 75e5c12b0Sopenharmony_ci 85e5c12b0Sopenharmony_ciTARGET=./testdir 95e5c12b0Sopenharmony_ciMNT=/mnt/resize 105e5c12b0Sopenharmony_ci 115e5c12b0Sopenharmony_cimkdir $TARGET 2>/dev/null 125e5c12b0Sopenharmony_cimkdir $MNT 2>/dev/null 135e5c12b0Sopenharmony_ci 145e5c12b0Sopenharmony_ciumount $TARGET 155e5c12b0Sopenharmony_ciumount $MNT 165e5c12b0Sopenharmony_ci 175e5c12b0Sopenharmony_ci_check_out() 185e5c12b0Sopenharmony_ci{ 195e5c12b0Sopenharmony_ci if [ $1 -ne 0 ]; then 205e5c12b0Sopenharmony_ci grep ASSERT $TMP 215e5c12b0Sopenharmony_ci echo FAIL RETURN $1 225e5c12b0Sopenharmony_ci exit 235e5c12b0Sopenharmony_ci fi 245e5c12b0Sopenharmony_ci} 255e5c12b0Sopenharmony_ci 265e5c12b0Sopenharmony_ci_get_sec() 275e5c12b0Sopenharmony_ci{ 285e5c12b0Sopenharmony_ci echo $(($1*1024*1024*1024/512)) 295e5c12b0Sopenharmony_ci} 305e5c12b0Sopenharmony_ci 315e5c12b0Sopenharmony_ci_mkfs() 325e5c12b0Sopenharmony_ci{ 335e5c12b0Sopenharmony_ci echo "========== Initialize $1 GB ============" 345e5c12b0Sopenharmony_ci mkfs.f2fs $IMG `_get_sec $1` | grep sectors 355e5c12b0Sopenharmony_ci} 365e5c12b0Sopenharmony_ci 375e5c12b0Sopenharmony_ci_mount() 385e5c12b0Sopenharmony_ci{ 395e5c12b0Sopenharmony_ci echo "========== mount to $1 =================" 405e5c12b0Sopenharmony_ci mount -t f2fs -o loop,discard,inline_data,inline_xattr $IMG $1 2>&1 415e5c12b0Sopenharmony_ci _check_out $? 425e5c12b0Sopenharmony_ci} 435e5c12b0Sopenharmony_ci 445e5c12b0Sopenharmony_ci_fsck() 455e5c12b0Sopenharmony_ci{ 465e5c12b0Sopenharmony_ci echo "========== fsck.f2fs ===================" 475e5c12b0Sopenharmony_ci fsck.f2fs $IMG -t 2>&1 >$TMP 485e5c12b0Sopenharmony_ci _check_out $? 495e5c12b0Sopenharmony_ci grep FSCK $TMP 505e5c12b0Sopenharmony_ci} 515e5c12b0Sopenharmony_ci 525e5c12b0Sopenharmony_ci_fsstress() 535e5c12b0Sopenharmony_ci{ 545e5c12b0Sopenharmony_ci echo "========== fsstress $1 =================" 555e5c12b0Sopenharmony_ci $XFSTESTS/ltp/fsstress -x "echo 3 > /proc/sys/vm/drop_caches && sleep 1" -X 1 -r -f fsync=8 -f sync=0 -f write=8 -f dwrite=2 -f truncate=6 -f allocsp=0 -f bulkstat=0 -f bulkstat1=0 -f freesp=0 -f zero=1 -f collapse=1 -f insert=1 -f resvsp=0 -f unresvsp=0 -S t -p 10 -n $2 -d $1 >/dev/null 565e5c12b0Sopenharmony_ci} 575e5c12b0Sopenharmony_ci 585e5c12b0Sopenharmony_ci_resize() 595e5c12b0Sopenharmony_ci{ 605e5c12b0Sopenharmony_ci echo "========== resize.f2fs $1 GB ===========" 615e5c12b0Sopenharmony_ci resize.f2fs -t `_get_sec $1` $IMG 2>&1 >$TMP 625e5c12b0Sopenharmony_ci _check_out $? 635e5c12b0Sopenharmony_ci _fsck 645e5c12b0Sopenharmony_ci} 655e5c12b0Sopenharmony_ci 665e5c12b0Sopenharmony_ci_resize_tests() 675e5c12b0Sopenharmony_ci{ 685e5c12b0Sopenharmony_ci for i in $TESTS 695e5c12b0Sopenharmony_ci do 705e5c12b0Sopenharmony_ci if [ $i -ge $1 ]; then 715e5c12b0Sopenharmony_ci _resize $i 725e5c12b0Sopenharmony_ci fi 735e5c12b0Sopenharmony_ci done 745e5c12b0Sopenharmony_ci} 755e5c12b0Sopenharmony_ci 765e5c12b0Sopenharmony_ci_sload() 775e5c12b0Sopenharmony_ci{ 785e5c12b0Sopenharmony_ci echo "========== sload $1 ====================" 795e5c12b0Sopenharmony_ci sload.f2fs -f $1 $IMG 2>&1 805e5c12b0Sopenharmony_ci _check_out $? 815e5c12b0Sopenharmony_ci} 825e5c12b0Sopenharmony_ci 835e5c12b0Sopenharmony_cifrom_mount() 845e5c12b0Sopenharmony_ci{ 855e5c12b0Sopenharmony_ci echo "" 865e5c12b0Sopenharmony_ci echo " **** $1 GB to $2 GB with $3 *** " 875e5c12b0Sopenharmony_ci _mkfs $1 885e5c12b0Sopenharmony_ci _mount $3 895e5c12b0Sopenharmony_ci _fsstress $3 10000 905e5c12b0Sopenharmony_ci umount $3 915e5c12b0Sopenharmony_ci _fsck 925e5c12b0Sopenharmony_ci _resize_tests $2 935e5c12b0Sopenharmony_ci} 945e5c12b0Sopenharmony_ci 955e5c12b0Sopenharmony_cifrom_sload() 965e5c12b0Sopenharmony_ci{ 975e5c12b0Sopenharmony_ci echo "" 985e5c12b0Sopenharmony_ci echo " **** $1 GB to $2 GB with $3 *** " 995e5c12b0Sopenharmony_ci 1005e5c12b0Sopenharmony_ci _mkfs $1 1015e5c12b0Sopenharmony_ci _sload $3 1025e5c12b0Sopenharmony_ci _fsck 1035e5c12b0Sopenharmony_ci 1045e5c12b0Sopenharmony_ci _mount $MNT 1055e5c12b0Sopenharmony_ci _fsstress $MNT 10000 1065e5c12b0Sopenharmony_ci umount $MNT 1075e5c12b0Sopenharmony_ci _fsck 1085e5c12b0Sopenharmony_ci 1095e5c12b0Sopenharmony_ci _resize_tests $2 1105e5c12b0Sopenharmony_ci 1115e5c12b0Sopenharmony_ci _mount $MNT 1125e5c12b0Sopenharmony_ci _fsstress $MNT 10000 1135e5c12b0Sopenharmony_ci umount $MNT 1145e5c12b0Sopenharmony_ci _fsck 1155e5c12b0Sopenharmony_ci} 1165e5c12b0Sopenharmony_ci 1175e5c12b0Sopenharmony_citest_all() 1185e5c12b0Sopenharmony_ci{ 1195e5c12b0Sopenharmony_ci for i in $TESTS 1205e5c12b0Sopenharmony_ci do 1215e5c12b0Sopenharmony_ci for j in $TESTS 1225e5c12b0Sopenharmony_ci do 1235e5c12b0Sopenharmony_ci if [ $i -lt $j ]; then 1245e5c12b0Sopenharmony_ci $1 $i $j $2 1255e5c12b0Sopenharmony_ci fi 1265e5c12b0Sopenharmony_ci done 1275e5c12b0Sopenharmony_ci done 1285e5c12b0Sopenharmony_ci} 1295e5c12b0Sopenharmony_ci 1305e5c12b0Sopenharmony_citest_all from_sload ~/grub 1315e5c12b0Sopenharmony_ci 1325e5c12b0Sopenharmony_cirm -rf $TARGET/* 1335e5c12b0Sopenharmony_ci_fsstress $TARGET 5000 1345e5c12b0Sopenharmony_citest_all from_sload $TARGET 1355e5c12b0Sopenharmony_cirm -rf $TARGET 2>/dev/null 1365e5c12b0Sopenharmony_ci 1375e5c12b0Sopenharmony_citest_all from_mount $MNT 138