diff options
Diffstat (limited to 'qa/workunits/suites/fio.sh')
-rwxr-xr-x | qa/workunits/suites/fio.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/qa/workunits/suites/fio.sh b/qa/workunits/suites/fio.sh new file mode 100755 index 000000000..ee69de81c --- /dev/null +++ b/qa/workunits/suites/fio.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +set -x + +gen_fio_file() { + iter=$1 + f=$2 + cat > randio-$$-${iter}.fio <<EOF +[randio] +blocksize_range=32m:128m +blocksize_unaligned=1 +filesize=10G:20G +readwrite=randrw +runtime=300 +size=20G +filename=${f} +EOF +} + +sudo apt-get -y install fio +for i in $(seq 1 20); do + fcount=$(ls donetestfile* 2>/dev/null | wc -l) + donef="foo" + fiof="bar" + if test ${fcount} -gt 0; then + # choose random file + r=$[ ${RANDOM} % ${fcount} ] + testfiles=( $(ls donetestfile*) ) + donef=${testfiles[${r}]} + fiof=$(echo ${donef} | sed -e "s|done|fio|") + gen_fio_file $i ${fiof} + else + fiof=fiotestfile.$$.$i + donef=donetestfile.$$.$i + gen_fio_file $i ${fiof} + fi + + sudo rm -f ${donef} + sudo fio randio-$$-$i.fio + sudo ln ${fiof} ${donef} + ls -la +done |