Whamcloud - gitweb
LU-3326 tests: sync after file deleted in run_*.sh 71/8071/9
authorHongchao Zhang <hongchao.zhang@intel.com>
Tue, 20 May 2014 03:38:52 +0000 (11:38 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 23 Jun 2014 00:00:47 +0000 (00:00 +0000)
In run_*.sh, call sync to flush any dirty pages to OST
if MDT has not sent the object destroy request to it,
which will shrink the available disk space gotten before
running the tests and cause -EIO error.

Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Change-Id: Ia246122a5c3471b7cbea9cdaa7fad2ea4db856c5
Test-Parameters: alwaysuploadlogs \
envdefinitions=SLOW=yes,ENABLE_QUOTA=yes,REQFAIL=100,DURATION=28800 \
clientdistro=el6 ossdistro=el6 mdsdistro=el6 clientarch=x86_64 \
ossarch=x86_64 mdsarch=x86_64 clientcount=4 osscount=2 mdscount=2 \
mdssizegb=10 ostsizegb=10 austeroptions=-R failover=true iscsi=1 \
testlist=recovery-mds-scale
Reviewed-on: http://review.whamcloud.com/8071
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/tests/run_IOR.sh
lustre/tests/run_dbench.sh
lustre/tests/run_dd.sh
lustre/tests/run_iozone.sh
lustre/tests/run_tar.sh

index 228926d..4e44df4 100755 (executable)
@@ -39,31 +39,33 @@ TESTDIR=${TESTDIR:-$MOUNT/d0.ior-$(hostname)}
 
 CONTINUE=true
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
 
 CONTINUE=true
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
-    echoerr "$(date +'%F %H:%M:%S'): IOR run starting"
-    mkdir -p $TESTDIR
-    # need this only if TESTDIR is not default
-    chmod -R 777 $TESTDIR
+       echoerr "$(date +'%F %H:%M:%S'): IOR run starting"
+       mkdir -p $TESTDIR
+       # need this only if TESTDIR is not default
+       chmod -R 777 $TESTDIR
 
 
+       sync
        mpi_run ${MACHINEFILE_OPTION} ${MACHINEFILE} \
                -np $((NUM_CLIENTS * THREADS_PER_CLIENT)) $IOR -a POSIX -b 1g \
                -o $TESTDIR/IOR-file -s 1 -t 1m -v -w -r 1>$LOG &
        mpi_run ${MACHINEFILE_OPTION} ${MACHINEFILE} \
                -np $((NUM_CLIENTS * THREADS_PER_CLIENT)) $IOR -a POSIX -b 1g \
                -o $TESTDIR/IOR-file -s 1 -t 1m -v -w -r 1>$LOG &
-    load_pid=$!
-    wait $load_pid
-    if [ ${PIPESTATUS[0]} -eq 0 ]; then
-        echoerr "$(date +'%F %H:%M:%S'): IOR succeeded"
-        cd $TMP
-        rm -rf $TESTDIR
-        echoerr "$(date +'%F %H:%M:%S'): IOR run finished"
-    else
-        echoerr "$(date +'%F %H:%M:%S'): IOR failed"
-        if [ -z "$ERRORS_OK" ]; then
-            echo $(hostname) >> $END_RUN_FILE
-        fi
-        if [ $BREAK_ON_ERROR ]; then
-            # break
-            CONTINUE=false
-        fi
-    fi
+
+       load_pid=$!
+       wait $load_pid
+       if [ ${PIPESTATUS[0]} -eq 0 ]; then
+               echoerr "$(date +'%F %H:%M:%S'): IOR succeeded"
+               cd $TMP
+               rm -rf $TESTDIR
+               echoerr "$(date +'%F %H:%M:%S'): IOR run finished"
+       else
+               echoerr "$(date +'%F %H:%M:%S'): IOR failed"
+               if [ -z "$ERRORS_OK" ]; then
+                       echo $(hostname) >> $END_RUN_FILE
+               fi
+               if [ $BREAK_ON_ERROR ]; then
+                       # break
+                       CONTINUE=false
+               fi
+       fi
 done
 
 echoerr "$(date +'%F %H:%M:%S'): IOR run exiting"
 done
 
 echoerr "$(date +'%F %H:%M:%S'): IOR run exiting"
index b6c2ac1..1872967 100755 (executable)
@@ -29,28 +29,31 @@ TESTDIR=$MOUNT/d0.dbench-$(hostname)
 CONTINUE=true
 
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
 CONTINUE=true
 
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
-    echoerr "$(date +'%F %H:%M:%S'): dbench run starting"
-
-    mkdir -p $TESTDIR
-    rundbench -D $TESTDIR 2 1>$LOG &
-    load_pid=$!
-
-    wait $load_pid
-    if [ ${PIPESTATUS[0]} -eq 0 ]; then
-        echoerr "$(date +'%F %H:%M:%S'): dbench succeeded"
-        cd $TMP
-        rm -rf $TESTDIR
-        echoerr "$(date +'%F %H:%M:%S'): dbench run finished"
-    else
-        echoerr "$(date +'%F %H:%M:%S'): dbench failed"
-        if [ -z "$ERRORS_OK" ]; then
-            echo $(hostname) >> $END_RUN_FILE
-        fi
-        if [ $BREAK_ON_ERROR ]; then
-            # break
-            CONTINUE=false
-        fi
-    fi
+       echoerr "$(date +'%F %H:%M:%S'): dbench run starting"
+
+       mkdir -p $TESTDIR
+
+       sync
+       rundbench -D $TESTDIR 2 1>$LOG &
+       load_pid=$!
+
+       wait $load_pid
+       if [ ${PIPESTATUS[0]} -eq 0 ]; then
+               echoerr "$(date +'%F %H:%M:%S'): dbench succeeded"
+               cd $TMP
+               rm -rf $TESTDIR
+               echoerr "$(date +'%F %H:%M:%S'): dbench run finished"
+       else
+               echoerr "$(date +'%F %H:%M:%S'): dbench failed"
+               if [ -z "$ERRORS_OK" ]; then
+                       echo $(hostname) >> $END_RUN_FILE
+               fi
+
+               if [ $BREAK_ON_ERROR ]; then
+                       # break
+                       CONTINUE=false
+               fi
+       fi
 done
 
 echoerr "$(date +'%F %H:%M:%S'): dbench run exiting"
 done
 
 echoerr "$(date +'%F %H:%M:%S'): dbench run exiting"
index 8e1cfdd..6562416 100755 (executable)
@@ -32,6 +32,8 @@ while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
        mkdir -p $TESTDIR
        $LFS setstripe -c -1 $TESTDIR
        cd $TESTDIR
        mkdir -p $TESTDIR
        $LFS setstripe -c -1 $TESTDIR
        cd $TESTDIR
+       sync
+
        # suppress dd xfer stat to workaround buggy coreutils/gettext
        # combination in RHEL5 and OEL5, see BZ 21264
        FREE_SPACE=$($LFS df $TESTDIR|awk '/filesystem summary:/ {print $5}')
        # suppress dd xfer stat to workaround buggy coreutils/gettext
        # combination in RHEL5 and OEL5, see BZ 21264
        FREE_SPACE=$($LFS df $TESTDIR|awk '/filesystem summary:/ {print $5}')
index 642303c..6bd7dd4 100755 (executable)
@@ -28,32 +28,36 @@ TESTDIR=$MOUNT/d0.iozone-$(hostname)
 
 CONTINUE=true
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
 
 CONTINUE=true
 while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
-    echoerr "$(date +'%F %H:%M:%S'): iozone run starting"
-    mkdir -p $TESTDIR
-    cd $TESTDIR
-    iozone -a -M -R -V 0xab -g 100M -q 512k -i0 -i1 -f $TESTDIR/iozone-file 1>$LOG &
-    load_pid=$!
-    wait $load_pid
-    if [ ${PIPESTATUS[0]} -eq 0 ]; then
-        echoerr "$(date +'%F %H:%M:%S'): iozone succeeded"
-        cd $TMP
-        rm -rf $TESTDIR
-        if [ -d $TESTDIR ]; then
-            echoerr "$(date +'%F %H:%M:%S'): failed to remove $TESTDIR"
-            echo $(hostname) >> $END_RUN_FILE
-            CONTINUE=false
-        fi
-        echoerr "$(date +'%F %H:%M:%S'): iozone run finished"
-    else
-        echoerr "$(date +'%F %H:%M:%S'): iozone failed"
-        if [ -z "$ERRORS_OK" ]; then
-            echo $(hostname) >> $END_RUN_FILE
-        fi
-        if [ $BREAK_ON_ERROR ]; then
-            # break
-            CONTINUE=false
-        fi
-    fi
+       echoerr "$(date +'%F %H:%M:%S'): iozone run starting"
+       mkdir -p $TESTDIR
+       cd $TESTDIR
+
+       sync
+       iozone -a -M -R -V 0xab -g 100M -q 512k -i0 -i1 \
+                                       -f $TESTDIR/iozone-file 1>$LOG &
+       load_pid=$!
+       wait $load_pid
+       if [ ${PIPESTATUS[0]} -eq 0 ]; then
+               echoerr "$(date +'%F %H:%M:%S'): iozone succeeded"
+               cd $TMP
+               rm -rf $TESTDIR
+               if [ -d $TESTDIR ]; then
+                       echoerr "$(date +'%F %H:%M:%S'): failed to remove \
+                                                                $TESTDIR"
+                       echo $(hostname) >> $END_RUN_FILE
+                       CONTINUE=false
+               fi
+               echoerr "$(date +'%F %H:%M:%S'): iozone run finished"
+       else
+               echoerr "$(date +'%F %H:%M:%S'): iozone failed"
+               if [ -z "$ERRORS_OK" ]; then
+                       echo $(hostname) >> $END_RUN_FILE
+               fi
+               if [ $BREAK_ON_ERROR ]; then
+                       # break
+                       CONTINUE=false
+               fi
+       fi
 done
 
 echoerr "$(date +'%F %H:%M:%S'): iozone run exiting"
 done
 
 echoerr "$(date +'%F %H:%M:%S'): iozone run exiting"
index 823c781..6425dc8 100755 (executable)
@@ -45,6 +45,8 @@ while [ ! -e "$END_RUN_FILE" ] && $CONTINUE; do
        fi
 
        cd $TESTDIR
        fi
 
        cd $TESTDIR
+
+       sync
        do_tar &
        wait $!
        RC=$?
        do_tar &
        wait $!
        RC=$?