Whamcloud - gitweb
current branches now use lnet from HEAD
[fs/lustre-release.git] / lustre / tests / runregression-mds.sh
1 #!/bin/sh
2
3 SRCDIR="`dirname $0`"
4
5 ENDRUN=endrun-`hostname`
6
7 fail() { 
8         echo "ERROR: $1" 1>&2
9         [ $2 ] && RC=$2 || RC=1
10         exit $RC
11 }
12
13 export PATH=/sbin:/usr/sbin:$SRCDIR:$PATH
14
15 cleanup() {
16         trap 0
17         $LCONF --cleanup $OPTS
18 }
19
20 [ "$COUNT" ] || COUNT=1000
21
22 [ "$LCONF" ] || LCONF=$SRCDIR/../utils/lconf
23
24 [ -z "$*" ] && fail "usage: $0 [--reformat] <conf>.xml" 1
25
26 OSCMT="`mount | awk '/ lustre_lite / { print $3 }' | tail -n 1`"
27 if [ -z "$OSCMT" ]; then
28         $LCONF $@ || exit 1
29         trap cleanup 0
30         OSCMT="`mount | awk '/ lustre_lite / { print $3 }' | tail -n 1`"
31         [ -z "$OSCMT" ] && fail "no lustre filesystem mounted" 1
32 fi
33
34 V="-10"
35 while [ "$1" ]; do
36         case $1 in
37         -v|--verbose) V="1";;
38         --reformat) : ;;
39         *) OPTS="$OPTS $1" ;;
40         esac
41         shift
42 done
43
44 OSCTMP=`echo $OSCMT | tr "/" "."`
45 USED=`df | awk "/$OSCTMP/ { print \\$3 }" | tail -n 1`
46 USED=`expr $USED + 16`  # Some space for the status file
47
48 THREADS=1
49 while [ $THREADS -lt 196 ]; do
50         echo "starting $THREADS threads at `date`"
51         [ $V -gt 0 ] || echo 0 > /proc/sys/portals/debug
52         $SRCDIR/createdestroy /mnt/lustre/file-$$ $COUNT $V $THREADS
53         $SRCDIR/openclose /mnt/lustre/file-$$ $COUNT $THREADS
54         THREADS=`expr $THREADS + 5`
55         $LCONF --cleanup $OPTS || fail 10
56         $LCONF $OPTS || fail 11
57 done
58
59 rm -f $ENDRUN
60
61 NOWUSED=`df | awk "/$OSCTMP/ { print \\$3 }" | tail -n 1`
62 if [ $NOWUSED -gt $USED ]; then
63         echo "Space not all freed: now ${NOWUSED}kB, was ${USED}kB." 1>&2
64         echo "This is normal on BA OSTs, because of subdirectories." 1>&2
65 fi
66
67 cleanup