3 testdir
=$
(readlink
-f $
(dirname $0))
4 rootdir
=$
(readlink
-f $testdir/..
/..
/..
)
5 source $rootdir/test
/common
/autotest_common.sh
6 source $rootdir/test
/nvmf
/common.sh
11 rpc_py
="$rootdir/scripts/rpc.py"
20 $rootdir/scripts
/gen_nvme.sh
--json |
$rpc_py load_subsystem_config
22 local_nvme_trid
="trtype:PCIe traddr:"$
($rpc_py get_subsystem_config bdev | jq
-r '.[].params | select(.name=="Nvme0").traddr')
23 bdevs
="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
25 if [ -n "$local_nvme_trid" ]; then
26 bdevs
="$bdevs Nvme0n1"
29 $rpc_py nvmf_create_transport
-t $TEST_TRANSPORT
30 $rpc_py nvmf_subsystem_create nqn
.2016-06.io.spdk
:cnode1
-a -s SPDK00000000000001
31 for bdev
in $bdevs; do
32 $rpc_py nvmf_subsystem_add_ns nqn
.2016-06.io.spdk
:cnode1
$bdev
34 $rpc_py nvmf_subsystem_add_listener nqn
.2016-06.io.spdk
:cnode1
-t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
36 # Test multi-process access to local NVMe device
37 if [ -n "$local_nvme_trid" ]; then
38 $rootdir/examples
/nvme
/perf
/perf
-i $NVMF_APP_SHM_ID -q 32 -o 4096 -w randrw
-M 50 -t 1 -r "$local_nvme_trid"
41 $rootdir/examples
/nvme
/perf
/perf
-q 32 -o 4096 -w randrw
-M 50 -t 1 -r "trtype:$TEST_TRANSPORT adrfam:IPv4 traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT"
43 $rpc_py delete_nvmf_subsystem nqn
.2016-06.io.spdk
:cnode1
45 if [ $RUN_NIGHTLY -eq 1 ]; then
46 # Configure nvme devices with nvmf lvol_bdev backend
47 if [ -n "$local_nvme_trid" ]; then
48 ls_guid
=$
($rpc_py construct_lvol_store Nvme0n1 lvs_0
)
49 get_lvs_free_mb
$ls_guid
50 lb_guid
=$
($rpc_py construct_lvol_bdev
-u $ls_guid lbd_0
$free_mb)
52 # Create lvol bdev for nested lvol stores
53 ls_nested_guid
=$
($rpc_py construct_lvol_store
$lb_guid lvs_n_0
)
54 get_lvs_free_mb
$ls_nested_guid
55 lb_nested_guid
=$
($rpc_py construct_lvol_bdev
-u $ls_nested_guid lbd_nest_0
$free_mb)
56 $rpc_py nvmf_subsystem_create nqn
.2016-06.io.spdk
:cnode1
-a -s SPDK00000000000001
57 for bdev
in $lb_nested_guid; do
58 $rpc_py nvmf_subsystem_add_ns nqn
.2016-06.io.spdk
:cnode1
$bdev
60 $rpc_py nvmf_subsystem_add_listener nqn
.2016-06.io.spdk
:cnode1
-t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
61 # Test perf as host with different io_size and qd_depth in nightly
63 io_size
=("512" "131072")
64 for qd
in ${qd_depth[@]}; do
65 for o
in ${io_size[@]}; do
66 $rootdir/examples
/nvme
/perf
/perf
-q $qd -o $o -w randrw
-M 50 -t 10 -r "trtype:$TEST_TRANSPORT adrfam:IPv4 traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT"
70 # Delete subsystems, lvol_bdev and destroy lvol_store.
71 $rpc_py delete_nvmf_subsystem nqn
.2016-06.io.spdk
:cnode1
72 $rpc_py destroy_lvol_bdev
"$lb_nested_guid"
73 $rpc_py destroy_lvol_store
-l lvs_n_0
74 $rpc_py destroy_lvol_bdev
"$lb_guid"
75 $rpc_py destroy_lvol_store
-l lvs_0
79 trap - SIGINT SIGTERM EXIT