Commit c5f83bd8 authored by Pawel Kaminski's avatar Pawel Kaminski Committed by Jim Harris
Browse files

test/vhost: Fio test for vhost initiator for unmap



Change-Id: I0bb922d6a135d4b49d2f5f89ec3874251b898090
Signed-off-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/381642


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarPawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 7dee96ce
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -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