#!/bin/sh

format=$1
place=$2
alloc=$3

./qemu-img create -f $format "$place/test.$format" 2G > /dev/null

if [ "$alloc" = "sparse" ]; then
    for pos in $(seq 0 32 2048); do
        ./qemu-io -c "write -P 42 ${pos}M 64K" \
            -f $format "$place/test.$format" > /dev/null
    done
else
    for pos in $(seq 0 32 2048); do
        ./qemu-io -c "write -P 42 $((pos * 1024 + 64))K $((32 * 1024 - 64))K" \
            -f $format "$place/test.$format" > /dev/null
    done
fi

time ./qemu-img convert -f $format -n --target-image-opts \
    "$place/test.$format" driver=null-co,size=2G

rm -f "$place/test.$format"
