Whamcloud - gitweb
c1f8b9970fc683964adc1be2547d446bb0c3f205
[fs/lustre-release.git] / lustre / tests / racer / racer.sh
1 #!/bin/bash
2
3 MAX_FILES=${MAX_FILES:-20}
4 DIR=${DIR:-$1}
5 DIR=${DIR:-"/mnt/lustre/racer"}
6 if ! [ -d "$DIR" -o -d "`basename $DIR`" ]; then
7         echo "$0: '$DIR' and '`basename $DIR`' are not directories"
8         exit 1
9 fi
10 DURATION=${DURATION:-$((60*5))}
11
12 NUM_THREADS=${NUM_THREADS:-$2}
13 NUM_THREADS=${NUM_THREADS:-3}
14
15 [ -e $DIR ] || mkdir $DIR
16
17 racer_cleanup()
18 {
19     killall file_create.sh 
20     killall dir_create.sh
21     killall file_rm.sh 
22     killall file_rename.sh 
23     killall file_link.sh 
24     killall file_symlink.sh 
25     killall file_list.sh 
26     killall file_concat.sh
27     trap 0
28 }
29
30 echo "Running $0 for $DURATION seconds. CTRL-C to exit"
31 trap "
32     echo \"Cleaning up\" 
33     racer_cleanup
34     exit 0
35 " 2
36
37 cd `dirname $0`
38 for N in `seq 1 $NUM_THREADS`; do
39         ./file_create.sh $DIR $MAX_FILES &
40         ./dir_create.sh $DIR $MAX_FILES &
41         ./file_rename.sh $DIR $MAX_FILES &
42         ./file_link.sh $DIR $MAX_FILES &
43         ./file_symlink.sh $DIR $MAX_FILES &
44         ./file_concat.sh $DIR $MAX_FILES &
45         ./file_list.sh $DIR &
46         ./file_rm.sh $DIR $MAX_FILES &
47 done
48
49 sleep $DURATION;
50 racer_cleanup
51 # Check our to see whether our test DIR is still available.
52 df $DIR
53 RC=$?
54 if [ $RC -eq 0 ]; then
55     echo "We survived $0 for $DURATION seconds."
56 fi
57 exit $RC