mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
synced 2024-11-14 21:33:44 +08:00
script: add simple test script
This patch adds a script to test sload.f2fs, defrag.f2fs, and resize.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
603f8f9d36
commit
e52321f3eb
137
scripts/verify.sh
Executable file
137
scripts/verify.sh
Executable file
@ -0,0 +1,137 @@
|
||||
#!/bin/bash
|
||||
|
||||
IMG=../test.img
|
||||
TMP=/tmp/res
|
||||
XFSTESTS=~/xfstests
|
||||
TESTS="4 5 8 11 16 25 32 55 64"
|
||||
|
||||
TARGET=./testdir
|
||||
MNT=/mnt/resize
|
||||
|
||||
mkdir $TARGET 2>/dev/null
|
||||
mkdir $MNT 2>/dev/null
|
||||
|
||||
umount $TARGET
|
||||
umount $MNT
|
||||
|
||||
_check_out()
|
||||
{
|
||||
if [ $1 -ne 0 ]; then
|
||||
grep ASSERT $TMP
|
||||
echo FAIL RETURN $1
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
_get_sec()
|
||||
{
|
||||
echo $(($1*1024*1024*1024/512))
|
||||
}
|
||||
|
||||
_mkfs()
|
||||
{
|
||||
echo "========== Initialize $1 GB ============"
|
||||
mkfs.f2fs $IMG `_get_sec $1` | grep sectors
|
||||
}
|
||||
|
||||
_mount()
|
||||
{
|
||||
echo "========== mount to $1 ================="
|
||||
mount -t f2fs -o loop,discard,inline_data,inline_xattr $IMG $1 2>&1
|
||||
_check_out $?
|
||||
}
|
||||
|
||||
_fsck()
|
||||
{
|
||||
echo "========== fsck.f2fs ==================="
|
||||
fsck.f2fs $IMG -t 2>&1 >$TMP
|
||||
_check_out $?
|
||||
grep FSCK $TMP
|
||||
}
|
||||
|
||||
_fsstress()
|
||||
{
|
||||
echo "========== fsstress $1 ================="
|
||||
$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
|
||||
}
|
||||
|
||||
_resize()
|
||||
{
|
||||
echo "========== resize.f2fs $1 GB ==========="
|
||||
resize.f2fs -t `_get_sec $1` $IMG 2>&1 >$TMP
|
||||
_check_out $?
|
||||
_fsck
|
||||
}
|
||||
|
||||
_resize_tests()
|
||||
{
|
||||
for i in $TESTS
|
||||
do
|
||||
if [ $i -ge $1 ]; then
|
||||
_resize $i
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
_sload()
|
||||
{
|
||||
echo "========== sload $1 ===================="
|
||||
sload.f2fs -f $1 $IMG 2>&1
|
||||
_check_out $?
|
||||
}
|
||||
|
||||
from_mount()
|
||||
{
|
||||
echo ""
|
||||
echo " **** $1 GB to $2 GB with $3 *** "
|
||||
_mkfs $1
|
||||
_mount $3
|
||||
_fsstress $3 10000
|
||||
umount $3
|
||||
_fsck
|
||||
_resize_tests $2
|
||||
}
|
||||
|
||||
from_sload()
|
||||
{
|
||||
echo ""
|
||||
echo " **** $1 GB to $2 GB with $3 *** "
|
||||
|
||||
_mkfs $1
|
||||
_sload $3
|
||||
_fsck
|
||||
|
||||
_mount $MNT
|
||||
_fsstress $MNT 10000
|
||||
umount $MNT
|
||||
_fsck
|
||||
|
||||
_resize_tests $2
|
||||
|
||||
_mount $MNT
|
||||
_fsstress $MNT 10000
|
||||
umount $MNT
|
||||
_fsck
|
||||
}
|
||||
|
||||
test_all()
|
||||
{
|
||||
for i in $TESTS
|
||||
do
|
||||
for j in $TESTS
|
||||
do
|
||||
if [ $i -lt $j ]; then
|
||||
$1 $i $j $2
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
test_all from_sload ~/grub
|
||||
|
||||
rm -rf $TARGET/*
|
||||
_fsstress $TARGET 5000
|
||||
test_all from_sload $TARGET
|
||||
rm -rf $TARGET 2>/dev/null
|
||||
|
||||
test_all from_mount $MNT
|
Loading…
Reference in New Issue
Block a user