Commit 1b3f0fee authored by Aleksey Marchuk's avatar Aleksey Marchuk Committed by Jim Harris
Browse files

test/nvmf/delete_subsystem: Increase bdev_delay timeout



The default rdma_cm event timeout value is 1 second, it is
used to wait for CM_EVENT_DISCONNECTED. If the event was not
received, we forcefully disconnect a qpair. When admin qpair
is disconnected, the ctlrlr is makred as failed and we no longer
call transport->qpair_process_completions. Due to that we
do not poll rdmacm event channel and detect IO qpairs disconnect
events. In that case, if a ctrlr on target is shut down, we can
detect rdma_cm event disconnected for those qpair which were fast
enough to be disconnected before the adminq qpair. All other
qpairs remain in established state.
This patch increases IO timeout in bdev_delay, in that case
most of IO qpairs are disconnected after the adminq and we
can verify fix for the described issue.

Change-Id: Ibcb15eee8843cb29fc7433413481ab3605a8cb67
Signed-off-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25915


Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
parent 58ba242b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -20,14 +20,14 @@ $rpc_py bdev_null_create NULL1 1000 512
# for all qpairs to be deleted. A qpair can only be deleted when all outstanding requests are completed
# bdev_delay is used in this test to make a situation when qpair has outstanding requests when disconnect
# starts. It allows to trigger async qpair/controller/subsystem destruction path
$rpc_py bdev_delay_create -b NULL1 -d Delay0 -r 1000000 -t 1000000 -w 1000000 -n 1000000
$rpc_py bdev_delay_create -b NULL1 -d Delay0 -r 3000000 -t 3000000 -w 3000000 -n 3000000
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 Delay0

"$SPDK_BIN_DIR/spdk_nvme_perf" -c 0xC -r "trtype:$TEST_TRANSPORT adrfam:IPv4 traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT" \
	-t 5 -q 128 -w randrw -M 70 -o 512 -P 4 "${NO_HUGE[@]}" &
	-t 10 -q 128 -w randrw -M 70 -o 512 -P 4 "${NO_HUGE[@]}" &
perf_pid=$!

sleep 2
sleep 4

$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode1