2 # Do some random operations on a yaffs2 file system
6 TEST_DIR="$MOUNT_PT/stress_dir"
7 REF_FILE="$MOUNT_PT/ref.file"
8 SUM_FILE="$MOUNT_PT/sum.file"
20 df_percent=$(df | grep $MTD | sed "s_[ %] *_ _g" | cut -d" " -f 5)
27 while [ $low_water -lt $MIN_LOW_WATER ] ;
29 let low_water=$RANDOM%100
30 while [[ $low_water -ge $df_percent || $low_water -gt $MAX_LOW_WATER ]] ;
32 let low_water=$RANDOM%100
39 while [ $high_water -gt $MAX_HIGH_WATER ] ;
41 let high_water=$RANDOM%100
42 while [[ $high_water -le $df_percent || $high_water -lt $MIN_HIGH_WATER ]] ;
44 let high_water=$RANDOM%100
54 if [ $val -le 1 ] ; then
56 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
57 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
58 echo "!!!!!!!!! !!!!!!!!!!!!!!!!!!!"
59 echo "!!!!!!!!! S L E E P $val"
60 echo "!!!!!!!!! !!!!!!!!!!!!!!!!!!!"
61 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
62 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
64 echo " Sleep completed "
72 if [ $val -le 1 ] ; then
73 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
74 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
75 echo "!!!!!!!!! !!!!!!!!!!!!!!!!!!!"
76 echo "!!!!!!!!! R E M O U N T !!!!!!!!!!!!!!!!!!!"
77 echo "!!!!!!!!! !!!!!!!!!!!!!!!!!!!"
78 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
79 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
82 mount -t yaffs2 $MTD $MOUNT_PT
95 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
96 echo "!!!!! Slowly reduce usage from $df_percent percent to $low_water percent"
97 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
99 while [ $df_percent -ge $low_water ] ; do
101 DELETE_FILE=`ls $TEST_DIR | head -n 1`
102 rm "$TEST_DIR/$DELETE_FILE"
115 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
116 echo "!!!!! Quickly reduce usage from $df_percent percent to $low_water percent"
117 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
119 while [ $df_percent -ge $low_water ] ; do
121 let file_prefix=$RANDOM%100
122 rm -f $TEST_DIR/dummy $TEST_DIR/$file_prefix*
135 if [ $df_percent -gt $MIN_LOW_WATER ] ; then
137 if [ $xx -lt 50 ] ; then
159 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
160 echo "!!!!!!!!!!! D R O P C A C H E S"
161 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
163 echo 3 > /proc/sys/vm/drop_caches
169 if [ $x -eq 99 ] ; then
178 if [ $df_percent -lt $MAX_HIGH_WATER ] ; then
182 md5sum $TEST_DIR/* > $SUM_FILE
184 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
185 echo "!!!!! Fill from $df_percent percent to $high_water percent"
186 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
187 let chunks=$RANDOM%100
188 let fsize=$RANDOM*$chunks+1
189 echo "!!!!!! File size is $fsize"
196 while [ $df_percent -le $high_water ] ; do
198 if [ $skip -lt 1 ] ; then
199 dd if=/dev/urandom of=$REF_FILE bs=$fsize count=1
200 REF_SUM=$(md5sum $REF_FILE | cut -f1 -d" " )
204 FNAME=$TEST_DIR/$RANDOM-$RANDOM-$RANDOM
206 FILE_SUM=$(md5sum $FNAME | cut -f1 -d" ")
207 md5sum $FNAME >> $SUM_FILE
209 if [ "$FILE_SUM" != "$REF_SUM" ] ; then
210 echo "File comparison failed $REF_SUM - $FILE_SUM"
220 if ! md5sum -c $SUM_FILE > /dev/null ; then
221 echo "File verification failed"
229 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
230 echo "!!!!!!!!!!! F I L L D I S K"
231 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
233 while [ $full -eq 0 ] ; do
234 dd if=/dev/urandom of=$TEST_DIR/$RANDOM-$RANDOM-fill bs=1000 count=50 2> /dev/null || let full=1 || true
241 touch $TEST_DIR/dont-want-empty-dir
247 if [ $x -lt 50 ] ; then
252 if [ $x -lt 50 ] ; then
257 if [ $x -lt 10 ] ; then
262 if [ $x -lt 1 ] ; then