test/vhost: Fio test for vhost initiator for unmap
Change-Id: I0bb922d6a135d4b49d2f5f89ec3874251b898090 Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-on: https://review.gerrithub.io/381642 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
7dee96ce24
commit
c5f83bd8f3
@ -7,6 +7,7 @@ rootdir=$(readlink -f $testdir/../../..)
|
|||||||
plugindir=$rootdir/examples/bdev/fio_plugin
|
plugindir=$rootdir/examples/bdev/fio_plugin
|
||||||
rpc_py="$rootdir/scripts/rpc.py"
|
rpc_py="$rootdir/scripts/rpc.py"
|
||||||
|
|
||||||
|
|
||||||
function run_fio()
|
function run_fio()
|
||||||
{
|
{
|
||||||
LD_PRELOAD=$plugindir/fio_plugin /usr/src/fio/fio --ioengine=spdk_bdev --iodepth=128 --bs=4k --runtime=10 $testdir/bdev.fio "$@" --spdk_mem=1024
|
LD_PRELOAD=$plugindir/fio_plugin /usr/src/fio/fio --ioengine=spdk_bdev --iodepth=128 --bs=4k --runtime=10 $testdir/bdev.fio "$@" --spdk_mem=1024
|
||||||
@ -17,6 +18,36 @@ function run_fio()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function prepare_fio_job_for_unmap() {
|
||||||
|
echo -n "filename=" >> $testdir/bdev.fio
|
||||||
|
for b in $(echo $bdevs | jq -r '.name'); do
|
||||||
|
echo -n "$b:" >> $testdir/bdev.fio
|
||||||
|
done
|
||||||
|
echo "" >> $testdir/bdev.fio
|
||||||
|
echo "size=100m" >> $testdir/bdev.fio
|
||||||
|
echo "io_size=400m" >> $testdir/bdev.fio
|
||||||
|
|
||||||
|
# Check that sequential TRIM/UNMAP operations 'zeroes' disk space
|
||||||
|
echo "[trim_sequential]" >> $testdir/bdev.fio
|
||||||
|
echo "stonewall" >> $testdir/bdev.fio
|
||||||
|
echo "rw=trim" >> $testdir/bdev.fio
|
||||||
|
echo "trim_verify_zero=1" >> $testdir/bdev.fio
|
||||||
|
|
||||||
|
# Check that random TRIM/UNMAP operations 'zeroes' disk space
|
||||||
|
echo "[trim_random]" >> $testdir/bdev.fio
|
||||||
|
echo "stonewall" >> $testdir/bdev.fio
|
||||||
|
echo "rw=randtrim" >> $testdir/bdev.fio
|
||||||
|
echo "trim_verify_zero=1" >> $testdir/bdev.fio
|
||||||
|
|
||||||
|
# Check that after TRIM/UNMAP operation disk space can be used for read
|
||||||
|
# by using write with verify (which implies reads)
|
||||||
|
echo "[trim_write_read]" >> $testdir/bdev.fio
|
||||||
|
echo "stonewall" >> $testdir/bdev.fio
|
||||||
|
echo "rw=trimwrite" >> $testdir/bdev.fio
|
||||||
|
echo "trim_verify_zero=1" >> $testdir/bdev.fio
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
source $rootdir/test/vhost/common/common.sh
|
source $rootdir/test/vhost/common/common.sh
|
||||||
$rootdir/scripts/gen_nvme.sh
|
$rootdir/scripts/gen_nvme.sh
|
||||||
spdk_vhost_run $testdir
|
spdk_vhost_run $testdir
|
||||||
@ -86,6 +117,13 @@ for bdev in $bdevs; do
|
|||||||
timing_exit fio_rw_verify
|
timing_exit fio_rw_verify
|
||||||
done
|
done
|
||||||
|
|
||||||
|
#Host test for unmap
|
||||||
|
cp $testdir/../common/fio_jobs/default_initiator.job $testdir/bdev.fio
|
||||||
|
prepare_fio_job_for_unmap
|
||||||
|
run_fio --spdk_conf=$testdir/bdev.conf
|
||||||
|
rm -f *.state
|
||||||
|
rm -f $testdir/bdev.fio
|
||||||
|
|
||||||
timing_exit fio
|
timing_exit fio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user