xref: /third_party/f2fs-tools/scripts/verify.sh (revision 5e5c12b0)
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