Whamcloud - gitweb
b=18468
authorgrev <grev>
Wed, 25 Feb 2009 15:19:28 +0000 (15:19 +0000)
committergrev <grev>
Wed, 25 Feb 2009 15:19:28 +0000 (15:19 +0000)
i=Adilger
runracer multidir changes

lustre/tests/acceptance-small.sh
lustre/tests/runracer

index 710e6f0..166ba49 100755 (executable)
@@ -348,8 +348,8 @@ for NAME in $CONFIGS; do
                [ "$SLOW" = "no" ] && DURATION=300
                RACERCLIENTS=$HOSTNAME
                [ ! -z ${CLIENTS} ] && RACERCLIENTS=$CLIENTS
-               log "racer on clients: $RACERCLIENTS DURATION=$DURATION"
-               CLIENTS=${RACERCLIENTS} DURATION=$DURATION bash runracer
+               log "racer on clients: $RACERCLIENTS DURATION=$DURATION RACERDIRS=$RACERDIRS"
+               CLIENTS=${RACERCLIENTS} DURATION=$DURATION bash runracer $RACERDIRS
                $CLEANUP
                $SETUP
                RACER="done"
index fcc26ed..feca24b 100644 (file)
@@ -11,8 +11,15 @@ racer=`which racer.sh`
 [ -z "$racer" ] && echo racer is not installed && exit 1
 
 CLIENTS=${CLIENTS:-$HOSTNAME}
-RDIR=$DIR/racer
-mkdir -p $RDIR
+RACERDIRS=$@
+RACERDIRS=${RACERDIRS:-$DIR}
+echo RACERDIRS=$RACERDIRS
+for d in ${RACERDIRS}; do
+       RDIRS="$RDIRS $d/racer"
+       mkdir -p $d/racer
+#      lfs setstripe $d/racer -c -1
+done
+
 DURATION=${DURATION:-120}
 
 assert_env CLIENTS
@@ -31,6 +38,8 @@ do_racer_cleanup () {
         local pids
        local rc=0
 
+       local RDIR=$1
+
        echo "DOING RACER CLEANUP ... "
 
        # Check if all processes are killed
@@ -81,11 +90,16 @@ racer_cleanup () {
                echo $timeout killing RACERPID=$RACERPID
                kill $RACERPID || true
                sleep 2 # give chance racer to kill it's processes
-               do_racer_cleanup
+               local dir
+               for dir in $RDIRS; do
+                       do_racer_cleanup $dir
+               done
        else
                echo "Racer completed before DURATION=$DURATION expired. Cleaning up..."
                kill $TIMERPID
-               do_racer_cleanup
+               for dir in $RDIRS; do
+                       do_racer_cleanup $dir
+               done
        fi
 }
 
@@ -104,10 +118,23 @@ trap racer_timeout ALRM
 
 timer_on $((DURATION + 5))
 
-do_nodes $CLIENTS "DURATION=$DURATION $racer $RDIR" &
-RACERPID=$!
+RACERPID=""
+for rdir in $RDIRS; do
+       do_nodes $CLIENTS "DURATION=$DURATION $racer $rdir $NUM_RACER_THREADS" &
+       pid=$!
+       RACERPID="$RACERPID $pid"
+done
+
 echo RACERPID=$RACERPID
-wait $RACERPID || RC=2
+for rpid in $RACERPID; do
+       wait $rpid
+       rc=$?
+       echo "rpid=$rpid rc=$rc"
+       if [ $rc != 0 ]; then
+               RC=$((RC + 1))
+       fi
+done
+
 racer_cleanup
 echo "$0: completed $RC"
 exit $RC