test/nvmf: add fio and lvol test cases with raid bdev

1. Add the raid bdevs which based two malloc bdevs into subsystem
   to run NVMf target fio case.
2. Create the lvol store with raid bdev which based two malloc bdevs
   when the number of subsystems is equal to 1.

Change-Id: Ia7dda4f1b99e259d1fd28b8856cc8c6e791e7720
Signed-off-by: Chen Wang <chenx.wang@intel.com>
Reviewed-on: https://review.gerrithub.io/422493
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Chen Wang 2018-08-16 15:29:43 +08:00 committed by Changpeng Liu
parent 4ada23dbf4
commit 104f7d8575
2 changed files with 21 additions and 3 deletions

View File

@ -38,6 +38,10 @@ timing_exit start_nvmf_tgt
malloc_bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE) " malloc_bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE) "
malloc_bdevs+="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)" malloc_bdevs+="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
# Create a RAID-0 bdev from two malloc bdevs
raid_malloc_bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE) "
raid_malloc_bdevs+="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
$rpc_py construct_raid_bdev -n raid0 -s 64 -r 0 -b "$raid_malloc_bdevs"
modprobe -v nvme-rdma modprobe -v nvme-rdma
@ -47,10 +51,14 @@ for malloc_bdev in $malloc_bdevs; do
done done
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t rdma -a $NVMF_FIRST_TARGET_IP -s 4420 $rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t rdma -a $NVMF_FIRST_TARGET_IP -s 4420
# Append the raid0 bdev into subsystem
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 raid0
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT" nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
waitforblk "nvme0n1" waitforblk "nvme0n1"
waitforblk "nvme0n2" waitforblk "nvme0n2"
waitforblk "nvme0n3"
$testdir/nvmf_fio.py 4096 1 write 1 verify $testdir/nvmf_fio.py 4096 1 write 1 verify
$testdir/nvmf_fio.py 4096 1 randwrite 1 verify $testdir/nvmf_fio.py 4096 1 randwrite 1 verify
@ -66,6 +74,7 @@ fio_pid=$!
sleep 3 sleep 3
set +e set +e
$rpc_py destroy_raid_bdev "raid0"
for malloc_bdev in $malloc_bdevs; do for malloc_bdev in $malloc_bdevs; do
$rpc_py delete_malloc_bdev "$malloc_bdev" $rpc_py delete_malloc_bdev "$malloc_bdev"
done done

View File

@ -58,10 +58,19 @@ modprobe -v nvme-rdma
lvol_stores=() lvol_stores=()
lvol_bdevs=() lvol_bdevs=()
# Create the first LVS from a Raid-0 bdev, which is created from two malloc bdevs
# Create malloc backends and creat lvol store on each # Create remaining LVSs from a malloc bdev, respectively
for i in `seq 1 $SUBSYS_NR`; do for i in `seq 1 $SUBSYS_NR`; do
bdev="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)" if [ $i -eq 1 ]; then
# construct RAID bdev and put its name in $bdev
malloc_bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE) "
malloc_bdevs+="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
$rpc_py construct_raid_bdev -n raid0 -s 64 -r 0 -b "$malloc_bdevs"
bdev="raid0"
else
# construct malloc bdev and put its name in $bdev
bdev="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
fi
ls_guid="$($rpc_py construct_lvol_store $bdev lvs_$i -c 524288)" ls_guid="$($rpc_py construct_lvol_store $bdev lvs_$i -c 524288)"
lvol_stores+=("$ls_guid") lvol_stores+=("$ls_guid")