diff --git a/scripts/zloop.sh b/scripts/zloop.sh index 03e8250597..f0af875536 100755 --- a/scripts/zloop.sh +++ b/scripts/zloop.sh @@ -101,6 +101,7 @@ function store_core { core="$(core_file)" if [[ $ztrc -ne 0 ]] || [[ -f "$core" ]]; then + df -h "$workdir" >>ztest.out coreid=$(date "+zloop-%y%m%d-%H%M%S") foundcrashes=$((foundcrashes + 1)) @@ -150,7 +151,8 @@ function store_core # parse arguments # expected format: zloop [-t timeout] [-c coredir] [-- extra ztest args] coredir=$DEFAULTCOREDIR -workdir=$DEFAULTWORKDIR +basedir=$DEFAULTWORKDIR +rundir="zloop-run" timeout=0 size="512m" while getopts ":ht:s:c:f:" opt; do @@ -158,7 +160,7 @@ while getopts ":ht:s:c:f:" opt; do t ) [[ $OPTARG -gt 0 ]] && timeout=$OPTARG ;; s ) [[ $OPTARG ]] && size=$OPTARG ;; c ) [[ $OPTARG ]] && coredir=$OPTARG ;; - f ) [[ $OPTARG ]] && workdir=$(readlink -f "$OPTARG") ;; + f ) [[ $OPTARG ]] && basedir=$(readlink -f "$OPTARG") ;; h ) usage exit 2 ;; @@ -202,6 +204,11 @@ curtime=$starttime while [[ $timeout -eq 0 ]] || [[ $curtime -le $((starttime + timeout)) ]]; do zopt="-VVVVV" + # start each run with an empty directory + workdir="$basedir/$rundir" + or_die rm -rf "$workdir" + or_die mkdir "$workdir" + # switch between common arrangements & fully randomized if [[ $((RANDOM % 2)) -eq 0 ]]; then mirrors=2