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>
54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (C) 2021 Intel Corporation
|
|
# All rights reserved.
|
|
#
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../../..)
|
|
rpc_py=$rootdir/scripts/rpc.py
|
|
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $rootdir/test/nvmf/common.sh
|
|
|
|
null_bdev_size=1024
|
|
null_block_size=512
|
|
null_bdev=null0
|
|
nvme_bdev=nvme0
|
|
|
|
# Since we're connecting the same bdev, we need to use a different NGUID to avoid errors when
|
|
# registering the bdev during bdev_nvme_attach_controller
|
|
nguid=$(uuidgen | tr -d '-')
|
|
|
|
nvmftestinit
|
|
nvmfappstart -m 0x1
|
|
|
|
# First create a null bdev and expose it over NVMeoF
|
|
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS
|
|
$rpc_py bdev_null_create $null_bdev $null_bdev_size $null_block_size
|
|
$rpc_py bdev_wait_for_examine
|
|
$rpc_py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode0 -a
|
|
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode0 $null_bdev -g $nguid
|
|
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode0 -t $TEST_TRANSPORT \
|
|
-a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
|
|
|
# Then attach NVMe bdev by connecting back to itself, with the target app running on a single core.
|
|
# This verifies that the initialization is completely asynchronous, as each blocking call would
|
|
# stall the application.
|
|
$rpc_py bdev_nvme_attach_controller -b $nvme_bdev -t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP \
|
|
-f ipv4 -s $NVMF_PORT -n nqn.2016-06.io.spdk:cnode0
|
|
|
|
# Make sure the bdev was created successfully
|
|
$rpc_py bdev_get_bdevs -b ${nvme_bdev}n1
|
|
|
|
# Make sure the reset is also asynchronous
|
|
$rpc_py bdev_nvme_reset_controller $nvme_bdev
|
|
|
|
# And that the bdev is still available after a reset
|
|
$rpc_py bdev_get_bdevs -b ${nvme_bdev}n1
|
|
|
|
# Finally, detach the controller to verify the detach path
|
|
$rpc_py bdev_nvme_detach_controller $nvme_bdev
|
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
nvmftestfini
|