blob: 219121499890efb500cf34cd6b33efe6f12fbb4d [file] [log] [blame]
Jaegeuk Kim5b9f6412013-10-17 15:26:23 +09001#!/bin/bash
2
3MNT=/mnt/f2fs
4DEV=/dev/sdb1
5USER_DIR=/home/zeus
6F2FS_DIR=$USER_DIR/f2fs_test
7
8check_stop() {
9 stop=`cat /tmp/stop`
10 if [ $stop -eq 1 ]; then
11 exit
12 fi
13}
14
15case $1 in
16start)
17 echo 0 > /tmp/stop
18 umount /mnt/*
19 echo 3 > /proc/sys/vm/drop_caches
20 echo 8 > /proc/sys/kernel/printk
21
22 date >> $USER_DIR/por_result
23 sync
24
25 insmod $F2FS_DIR/src/fs/f2fs/f2fs.ko || exit
26
27 echo Start checking F2FS without fsync
28 check_stop
29 fsck.f2fs $DEV -d 0 || exit
30 mount -t f2fs -o disable_roll_forward $DEV $MNT || exit
31 umount $MNT
32 echo 3 > /proc/sys/vm/drop_caches
33
34 echo Start checking F2FS with fsync
35 check_stop
36 fsck.f2fs $DEV -d 0 || exit
37 mount -t f2fs $DEV $MNT || exit
38 umount $MNT
39
40 check_stop
41 fsck.f2fs $DEV -d 0 || exit
42 mount -t f2fs $DEV $MNT || exit
43
44 count=`cat $USER_DIR/por_time`
45 if [ $count -eq 20 ]; then
46 echo Start rm all
47 time rm -rf $MNT/* || exit
48 echo 0 > $USER_DIR/por_time
49 sync
50 else
51 echo $((count+1)) > $USER_DIR/por_time
52 fi
53 echo 8 > /proc/sys/kernel/printk
54 echo Start fsstress
55 date
56 $F2FS_DIR/stress_test/fsstress/fsstress -z -f link=0 -f mkdir=3 -f mknod=3 -f rmdir=2 -f symlink=3 -f truncate=4 -f write=10 -f creat=10 -f unlink=5 -f rename=5 -f fsync=10 -p 10 -n 10000 -l 0 -d $MNT &
57 RANDOM=`date '+%s'`
58 rand=$[($RANDOM % 540) + 60]
59 echo Start sleep: $rand seconds
60 sleep $rand
61
62 echo Reboot now
63 check_stop
64 echo b > /proc/sysrq-trigger
65 ;;
66stop)
67 killall -9 fsstress
68 echo 1 > /tmp/stop
69 ;;
70esac