X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fcommon.sh.in;h=531c7983b4f9334ca646cab00f4dd0166627357b;hb=930b6fec210d828cb3755f8756dbbbf3001cccae;hp=f087f443108d207a33d8793a33281320c5adf3c0;hpb=563103decdca7c06850ca0909e5c8f8b4b0c0fe5;p=zfs.git diff --git a/scripts/common.sh.in b/scripts/common.sh.in index f087f44..531c798 100644 --- a/scripts/common.sh.in +++ b/scripts/common.sh.in @@ -116,6 +116,27 @@ skip() { echo -e "${COLOR_BROWN}Skip${COLOR_RESET}" } +populate() { + local ROOT=$1 + local MAX_DIR_SIZE=$2 + local MAX_FILE_SIZE=$3 + + mkdir -p $ROOT/{a,b,c,d,e,f,g}/{h,i} + DIRS=`find $ROOT` + + for DIR in $DIRS; do + COUNT=$(($RANDOM % $MAX_DIR_SIZE)) + + for i in `seq $COUNT`; do + FILE=`mktemp -p ${DIR}` + SIZE=$(($RANDOM % $MAX_FILE_SIZE)) + dd if=/dev/urandom of=$FILE bs=1k count=$SIZE &>/dev/null + done + done + + return 0 +} + init() { # Disable the udev rule 90-zfs.rules to prevent the zfs module # stack from being loaded due to the detection of a zfs device. @@ -127,6 +148,12 @@ init() { trap "mv ${RULE}.disabled ${RULE}" INT TERM EXIT mv ${RULE} ${RULE}.disabled fi + + # Create a random directory tree of files and sub-directories to + # to act as a copy source for the various regression tests. + SRC_DIR=`mktemp -d -p /var/tmp/ zfs.src.XXXXXXXX` + trap "rm -Rf $SRC_DIR" INT TERM EXIT + populate $SRC_DIR 10 100 } spl_dump_log() {