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:
Pawel Kaminski 2017-10-06 16:42:32 +02:00 committed by Jim Harris
parent 7dee96ce24
commit c5f83bd8f3

View File

@ -7,6 +7,7 @@ rootdir=$(readlink -f $testdir/../../..)
plugindir=$rootdir/examples/bdev/fio_plugin
rpc_py="$rootdir/scripts/rpc.py"
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
@ -17,6 +18,36 @@ function run_fio()
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
$rootdir/scripts/gen_nvme.sh
spdk_vhost_run $testdir
@ -86,6 +117,13 @@ for bdev in $bdevs; do
timing_exit fio_rw_verify
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
fi