]> granicus.if.org Git - zfs/commitdiff
Increase default zloop.sh vdev size
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 13 Oct 2017 19:39:39 +0000 (12:39 -0700)
committerTony Hutter <hutter2@llnl.gov>
Tue, 17 Oct 2017 23:49:08 +0000 (16:49 -0700)
The default 128M vdev size used by zloop.sh isn't always large
enough and can result in ENOSPC failures which suspend the pool.
Increase the default size to 512M and provide a -s option which
can be used to specify an alternate size.

This does increase the free space requirements to run zloop.sh.
However, since the vdevs are sparse 4x the space is not required.

Reviewed-by: Don Brady <don.brady@delphix.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #6758

scripts/zloop.sh

index 3a6db40cf0faea3507356b44fcd021418cc51bca..854c2048a572ac3e896a21dbf6be14fe9967dbfd 100755 (executable)
@@ -37,7 +37,7 @@ DEFAULTCOREDIR=/var/tmp/zloop
 
 function usage
 {
-       echo -e "\n$0 [-t <timeout>] [-c <dump directory>]" \
+       echo -e "\n$0 [-t <timeout>] [ -s <vdev size> ] [-c <dump directory>]" \
            "[ -- [extra ztest parameters]]\n" \
            "\n" \
            "  This script runs ztest repeatedly with randomized arguments.\n" \
@@ -49,6 +49,7 @@ function usage
            "  Options:\n" \
            "    -t  Total time to loop for, in seconds. If not provided,\n" \
            "        zloop runs forever.\n" \
+           "    -s  Size of vdev devices.\n" \
            "    -f  Specify working directory for ztest vdev files.\n" \
            "    -c  Specify a core dump directory to use.\n" \
            "    -h  Print this help message.\n" \
@@ -151,9 +152,11 @@ function store_core
 coredir=$DEFAULTCOREDIR
 workdir=$DEFAULTWORKDIR
 timeout=0
-while getopts ":ht:c:f:" opt; do
+size="512m"
+while getopts ":ht:s:c:f:" opt; do
        case $opt in
                t ) [[ $OPTARG -gt 0 ]] && timeout=$OPTARG ;;
+               s ) [[ $OPTARG ]] && size=$OPTARG ;;
                c ) [[ $OPTARG ]] && coredir=$OPTARG ;;
                f ) [[ $OPTARG ]] && workdir=$(readlink -f "$OPTARG") ;;
                h ) usage
@@ -214,7 +217,6 @@ while [[ $timeout -eq 0 ]] || [[ $curtime -le $((starttime + timeout)) ]]; do
        align=$(((RANDOM % 2) * 3 + 9))
        runtime=$((RANDOM % 100))
        passtime=$((RANDOM % (runtime / 3 + 1) + 10))
-       size=128m
 
        zopt="$zopt -m $mirrors"
        zopt="$zopt -r $raidz"