per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices. git log --follow -C90% --format=%ad --date default <file> | tail -1 and then pull just the year from the result. Intel copyrights were not added to files where Intel either had no contribution ot the contribution lacked substance (ie license header updates, formatting changes, etc) For intel copyrights added, --follow and -C95% were used. Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I2ef86976095b88a9bf5b1003e59f3943cd6bbe4c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15209 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
74 lines
2.4 KiB
Bash
Executable File
74 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (C) 2019 Intel Corporation
|
|
# All rights reserved.
|
|
#
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $rootdir/test/nvmf/common.sh
|
|
|
|
MALLOC_BDEV_SIZE=64
|
|
MALLOC_BLOCK_SIZE=512
|
|
|
|
nvmftestinit
|
|
nvmfappstart -m 0xF
|
|
|
|
trap 'process_shm --id $NVMF_APP_SHM_ID; killprocess $nvmfpid; nvmftestfini $1; exit 1' SIGINT SIGTERM EXIT
|
|
|
|
$rpc_py bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc0
|
|
|
|
# We cannot configure the bdev with an incredibly high latency up front because connect will not work properly.
|
|
$rpc_py bdev_delay_create -b Malloc0 -d Delay0 -r 30 -t 30 -w 30 -n 30
|
|
|
|
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192
|
|
$rpc_py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode1 -a -s $NVMF_SERIAL
|
|
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 Delay0
|
|
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
|
|
|
$NVME_CONNECT -t $TEST_TRANSPORT -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
|
|
|
waitforserial "$NVMF_SERIAL"
|
|
|
|
# Once our timed out I/O complete, we will still have 10 sec of I/O.
|
|
$rootdir/scripts/fio-wrapper -p nvmf -i 4096 -d 1 -t write -r 60 -v &
|
|
fio_pid=$!
|
|
|
|
sleep 3
|
|
|
|
# The kernel initiator has a default timeout of 30 seconds. delay for 31 to trigger initiator reconnect.
|
|
$rpc_py bdev_delay_update_latency Delay0 avg_read 31000000
|
|
$rpc_py bdev_delay_update_latency Delay0 avg_write 31000000
|
|
$rpc_py bdev_delay_update_latency Delay0 p99_read 31000000
|
|
$rpc_py bdev_delay_update_latency Delay0 p99_write 310000000
|
|
|
|
sleep 3
|
|
|
|
# Reset these values so that subsequent I/O will complete in a timely manner.
|
|
$rpc_py bdev_delay_update_latency Delay0 avg_read 30
|
|
$rpc_py bdev_delay_update_latency Delay0 avg_write 30
|
|
$rpc_py bdev_delay_update_latency Delay0 p99_read 30
|
|
$rpc_py bdev_delay_update_latency Delay0 p99_write 30
|
|
|
|
fio_status=0
|
|
wait $fio_pid || fio_status=$?
|
|
|
|
nvme disconnect -n "nqn.2016-06.io.spdk:cnode1" || true
|
|
waitforserial_disconnect "$NVMF_SERIAL"
|
|
|
|
if [ $fio_status -eq 0 ]; then
|
|
echo "nvmf hotplug test: fio successful as expected"
|
|
else
|
|
echo "nvmf hotplug test: fio failed, expected success"
|
|
nvmftestfini
|
|
exit 1
|
|
fi
|
|
|
|
$rpc_py nvmf_delete_subsystem nqn.2016-06.io.spdk:cnode1
|
|
|
|
rm -f ./local-job0-0-verify.state
|
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
|
|
nvmftestfini
|