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.
This patch is back-ported from the following one:
Lustre-commit:
58c2a357202ba83d26ba9d8f1d9c093e3272e9a0
Lustre-change: http://review.whamcloud.com/8071
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
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Change-Id: I922774dcbf5546a9f5e3fe345bac954fd73d50a7
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: http://review.whamcloud.com/11425
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
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 &
- 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"
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"
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}')
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"
fi
cd $TESTDIR
+
+ sync
do_tar &
wait $!
RC=$?