test/vhost/initiator: inline create_bdev_config()
This function is not really reusable. Inline it to have a simple, top-to-bottom test flow. This already shows the test is unnecessarily complicated. If anything with lib/virtio goes wrong this file is the last script that will be used for debugging. It would be OK if there simpler tests for lib/virtio, but there are not. While here, also add comments for the three major steps in this test script because it finally looks sane. Change-Id: Ic8ae611d853d4a685d38aa3112d16e396b0e110d Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1552 Reviewed-by: Karol Latecki <karol.latecki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
ce85fac4c3
commit
2fc1a2d056
@ -9,32 +9,6 @@ function run_spdk_fio() {
|
|||||||
--verify_state_save=0
|
--verify_state_save=0
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_bdev_config() {
|
|
||||||
$rootdir/scripts/gen_nvme.sh --json | $rootdir/scripts/rpc.py load_subsystem_config
|
|
||||||
if [ -z "$(rpc_cmd bdev_get_bdevs | jq '.[] | select(.name=="Nvme0n1")')" ]; then
|
|
||||||
echo "Nvme0n1 bdev not found!" && false
|
|
||||||
fi
|
|
||||||
|
|
||||||
rpc_cmd bdev_split_create Nvme0n1 6
|
|
||||||
|
|
||||||
rpc_cmd vhost_create_scsi_controller naa.Nvme0n1_scsi0.0
|
|
||||||
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 0 Nvme0n1p0
|
|
||||||
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 1 Nvme0n1p1
|
|
||||||
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 2 Nvme0n1p2
|
|
||||||
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 3 Nvme0n1p3
|
|
||||||
|
|
||||||
rpc_cmd vhost_create_blk_controller naa.Nvme0n1_blk0.0 Nvme0n1p4
|
|
||||||
rpc_cmd vhost_create_blk_controller naa.Nvme0n1_blk1.0 Nvme0n1p5
|
|
||||||
|
|
||||||
rpc_cmd bdev_malloc_create 128 512 --name Malloc0
|
|
||||||
rpc_cmd vhost_create_scsi_controller naa.Malloc0.0
|
|
||||||
rpc_cmd vhost_scsi_controller_add_target naa.Malloc0.0 0 Malloc0
|
|
||||||
|
|
||||||
rpc_cmd bdev_malloc_create 128 4096 --name Malloc1
|
|
||||||
rpc_cmd vhost_create_scsi_controller naa.Malloc1.0
|
|
||||||
rpc_cmd vhost_scsi_controller_add_target naa.Malloc1.0 0 Malloc1
|
|
||||||
}
|
|
||||||
|
|
||||||
function err_cleanup() {
|
function err_cleanup() {
|
||||||
rm -f $testdir/bdev.json
|
rm -f $testdir/bdev.json
|
||||||
killprocess $vhost_pid
|
killprocess $vhost_pid
|
||||||
@ -43,16 +17,37 @@ function err_cleanup() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# start vhost and configure it
|
||||||
trap 'err_cleanup; exit 1' SIGINT SIGTERM EXIT
|
trap 'err_cleanup; exit 1' SIGINT SIGTERM EXIT
|
||||||
$rootdir/app/vhost/vhost &
|
$rootdir/app/vhost/vhost &
|
||||||
vhost_pid=$!
|
vhost_pid=$!
|
||||||
waitforlisten $vhost_pid
|
waitforlisten $vhost_pid
|
||||||
|
|
||||||
timing_enter create_bdev_config
|
$rootdir/scripts/gen_nvme.sh --json | $rootdir/scripts/rpc.py load_subsystem_config
|
||||||
create_bdev_config
|
if [ -z "$(rpc_cmd bdev_get_bdevs | jq '.[] | select(.name=="Nvme0n1")')" ]; then
|
||||||
timing_exit create_bdev_config
|
echo "Nvme0n1 bdev not found!" && false
|
||||||
|
fi
|
||||||
|
|
||||||
# start a dummy app and generate a json config for FIO
|
rpc_cmd bdev_split_create Nvme0n1 6
|
||||||
|
|
||||||
|
rpc_cmd vhost_create_scsi_controller naa.Nvme0n1_scsi0.0
|
||||||
|
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 0 Nvme0n1p0
|
||||||
|
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 1 Nvme0n1p1
|
||||||
|
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 2 Nvme0n1p2
|
||||||
|
rpc_cmd vhost_scsi_controller_add_target naa.Nvme0n1_scsi0.0 3 Nvme0n1p3
|
||||||
|
|
||||||
|
rpc_cmd vhost_create_blk_controller naa.Nvme0n1_blk0.0 Nvme0n1p4
|
||||||
|
rpc_cmd vhost_create_blk_controller naa.Nvme0n1_blk1.0 Nvme0n1p5
|
||||||
|
|
||||||
|
rpc_cmd bdev_malloc_create 128 512 --name Malloc0
|
||||||
|
rpc_cmd vhost_create_scsi_controller naa.Malloc0.0
|
||||||
|
rpc_cmd vhost_scsi_controller_add_target naa.Malloc0.0 0 Malloc0
|
||||||
|
|
||||||
|
rpc_cmd bdev_malloc_create 128 4096 --name Malloc1
|
||||||
|
rpc_cmd vhost_create_scsi_controller naa.Malloc1.0
|
||||||
|
rpc_cmd vhost_scsi_controller_add_target naa.Malloc1.0 0 Malloc1
|
||||||
|
|
||||||
|
# start a dummy app, create vhost bdevs in it, then dump the config for FIO
|
||||||
$rootdir/app/spdk_tgt/spdk_tgt -r /tmp/spdk2.sock -g &
|
$rootdir/app/spdk_tgt/spdk_tgt -r /tmp/spdk2.sock -g &
|
||||||
dummy_spdk_pid=$!
|
dummy_spdk_pid=$!
|
||||||
waitforlisten $dummy_spdk_pid /tmp/spdk2.sock
|
waitforlisten $dummy_spdk_pid /tmp/spdk2.sock
|
||||||
@ -70,6 +65,7 @@ cat <<- CONF > $testdir/bdev.json
|
|||||||
CONF
|
CONF
|
||||||
killprocess $dummy_spdk_pid
|
killprocess $dummy_spdk_pid
|
||||||
|
|
||||||
|
# run FIO with previously acquired spdk config files
|
||||||
timing_enter run_spdk_fio
|
timing_enter run_spdk_fio
|
||||||
run_spdk_fio $testdir/bdev.fio --filename=* --section=job_randwrite --section=job_randrw \
|
run_spdk_fio $testdir/bdev.fio --filename=* --section=job_randwrite --section=job_randrw \
|
||||||
--section=job_write --section=job_rw --spdk_json_conf=$testdir/bdev.json
|
--section=job_write --section=job_rw --spdk_json_conf=$testdir/bdev.json
|
||||||
|
Loading…
Reference in New Issue
Block a user