diff --git a/test/ftl/config/fio/drive-prep.fio b/test/ftl/config/fio/drive-prep.fio index f07b956c4..1a439f942 100644 --- a/test/ftl/config/fio/drive-prep.fio +++ b/test/ftl/config/fio/drive-prep.fio @@ -1,6 +1,5 @@ [drive_prep] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} thread=1 diff --git a/test/ftl/config/fio/randr.fio b/test/ftl/config/fio/randr.fio index d525d5ce2..5c431d1b1 100644 --- a/test/ftl/config/fio/randr.fio +++ b/test/ftl/config/fio/randr.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} direct=1 thread=1 diff --git a/test/ftl/config/fio/randrw.fio b/test/ftl/config/fio/randrw.fio index c6d0dc24e..29d06fcc9 100644 --- a/test/ftl/config/fio/randrw.fio +++ b/test/ftl/config/fio/randrw.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} direct=1 thread=1 diff --git a/test/ftl/config/fio/randw-verify-depth128.fio b/test/ftl/config/fio/randw-verify-depth128.fio index 0e4d56b40..d6db656a0 100644 --- a/test/ftl/config/fio/randw-verify-depth128.fio +++ b/test/ftl/config/fio/randw-verify-depth128.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} thread=1 direct=1 diff --git a/test/ftl/config/fio/randw-verify-j2.fio b/test/ftl/config/fio/randw-verify-j2.fio index 10ce74712..a963629c2 100644 --- a/test/ftl/config/fio/randw-verify-j2.fio +++ b/test/ftl/config/fio/randw-verify-j2.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} thread=1 direct=1 diff --git a/test/ftl/config/fio/randw-verify-qd128-ext.fio b/test/ftl/config/fio/randw-verify-qd128-ext.fio index 174dd9212..9be10ad2b 100644 --- a/test/ftl/config/fio/randw-verify-qd128-ext.fio +++ b/test/ftl/config/fio/randw-verify-qd128-ext.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} thread=1 direct=1 diff --git a/test/ftl/config/fio/randw-verify.fio b/test/ftl/config/fio/randw-verify.fio index cd58bc935..acf05e00d 100644 --- a/test/ftl/config/fio/randw-verify.fio +++ b/test/ftl/config/fio/randw-verify.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} thread=1 direct=1 diff --git a/test/ftl/config/fio/randw.fio b/test/ftl/config/fio/randw.fio index 6c1630206..3fedab847 100644 --- a/test/ftl/config/fio/randw.fio +++ b/test/ftl/config/fio/randw.fio @@ -1,6 +1,5 @@ [global] -ioengine=spdk_bdev -spdk_conf=${FTL_BDEV_CONF} +ioengine=libaio filename=${FTL_BDEV_NAME} direct=1 thread=1 diff --git a/test/ftl/fio.sh b/test/ftl/fio.sh index 244bafa5d..784e472e1 100755 --- a/test/ftl/fio.sh +++ b/test/ftl/fio.sh @@ -3,11 +3,23 @@ testdir=$(readlink -f $(dirname $0)) rootdir=$(readlink -f $testdir/../..) source $rootdir/test/common/autotest_common.sh +source $testdir/common.sh declare -A suite suite['basic']='randw-verify randw-verify-j2 randw-verify-depth128' suite['extended']='drive-prep randw-verify-qd128-ext randw randr randrw' +rpc_py=$rootdir/scripts/rpc.py +ftl_bdev_conf=$testdir/config/ftl.conf +gen_ftl_nvme_conf > $ftl_bdev_conf + +fio_kill() { + $rpc_py stop_nbd_disk /dev/nbd0 + rmmod nbd || true + killprocess $svcpid + rm -f $ftl_bdev_conf +} + device=$1 tests=${suite[$2]} uuid=$3 @@ -22,17 +34,31 @@ if [ -z "$tests" ]; then exit 1 fi -export FTL_BDEV_CONF=$testdir/config/ftl.conf -export FTL_BDEV_NAME=nvme0 +export FTL_BDEV_NAME=/dev/nbd0 + +trap "fio_kill; exit 1" SIGINT SIGTERM EXIT + +$rootdir/app/spdk_tgt/spdk_tgt -c $ftl_bdev_conf & svcpid=$! +waitforlisten $svcpid + +$rpc_py bdev_nvme_attach_controller -b nvme0 -a $device -t pcie +$rpc_py bdev_ocssd_create -c nvme0 -b nvme0n1 if [ -z "$uuid" ]; then - $rootdir/scripts/gen_ftl.sh -a $device -n nvme0 > $FTL_BDEV_CONF + $rpc_py construct_ftl_bdev -b ftl0 -d nvme0n1 else - $rootdir/scripts/gen_ftl.sh -a $device -n nvme0 -u $uuid > $FTL_BDEV_CONF + $rpc_py construct_ftl_bdev -b ftl0 -d nvme0n1 -u $uuid fi +modprobe nbd +$rpc_py start_nbd_disk ftl0 /dev/nbd0 +waitfornbd nbd0 + for test in ${tests}; do timing_enter $test fio_bdev $testdir/config/fio/$test.fio timing_exit $test done + +trap - SIGINT SIGTERM EXIT +fio_kill