local iterations=1000
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
local loop_dev
loop_dev="$(losetup -f)"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-$i"
done
- _nvme_discover loop | _filter_discovery
+ _nvme_discover "${nvme_trtype}" | _filter_discovery
for ((i = iterations - 1; i >= 0; i--)); do
_remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-$i"
_setup_nvmet
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
local loop_dev
loop_dev="$(losetup -f)"
_create_nvmet_subsystem "blktests-subsystem-1" "${loop_dev}"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1"
- _nvme_connect_subsys loop nqn.2014-08.org.nvmexpress.discovery
+ _nvme_connect_subsys "${nvme_trtype}" nqn.2014-08.org.nvmexpress.discovery
# This is ugly but checking for the absence of error messages is ...
sleep 10
_setup_nvmet
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
truncate -s 1G "$TMPDIR/img"
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1"
- _nvme_connect_subsys loop blktests-subsystem-1
+ _nvme_connect_subsys "${nvme_trtype}" blktests-subsystem-1
local nvmedev
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_setup_nvmet
local port
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
truncate -s 1G "$TMPDIR/img"
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1"
- _nvme_connect_subsys loop blktests-subsystem-1
+ _nvme_connect_subsys "${nvme_trtype}" blktests-subsystem-1
local nvmedev
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
udevadm settle
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
_remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
_remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_ns "${subsys_nqn}" "${i}" "${loop_dev}"
done
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "$port" "${subsys_nqn}"
_nvme_discover loop | _filter_discovery
_create_nvmet_ns "${subsys_name}" "${i}" "${file_path}"
done
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
_nvme_discover loop | _filter_discovery
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
- if ! nvme list-subsys 2>> "$FULL" | grep -q loop; then
+ if ! nvme list-subsys 2>> "$FULL" | grep -q "${nvme_trtype}"; then
echo "ERROR: list-subsys"
fi
_nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
_create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_add_nvmet_subsys_to_port "${port}" "${subsys_name}"
- _nvme_connect_subsys loop "${subsys_name}"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}"
- nvmedev="$(_find_nvme_loop_dev)"
+ nvmedev="$(_find_nvme_dev)"
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"
_setup_nvmet
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
_create_nvmet_subsystem "${subsys}1" "$(losetup -f)"
_add_nvmet_subsys_to_port "${port}" "${subsys}1"
loop_dev="$(losetup -f --show "$TMPDIR/img")"
- port="$(_create_nvmet_port "loop")"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
for ((i = 0; i < iterations; i++)); do
_create_nvmet_subsystem "${subsys}$i" "${loop_dev}"
_add_nvmet_subsys_to_port "${port}" "${subsys}$i"
- _nvme_connect_subsys loop "${subsys}$i"
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys}$i"
_nvme_disconnect_subsys "${subsys}$i" >> "${FULL}" 2>&1
_remove_nvmet_subsystem_from_port "${port}" "${subsys}$i"
_remove_nvmet_subsystem "${subsys}$i"
. common/rc
+def_traddr="127.0.0.1"
+def_adrfam="ipv4"
+def_trsvcid="4420"
nvme_trtype=${nvme_trtype:-"loop"}
_nvme_requires() {
for dev in /sys/class/nvme/nvme*; do
dev="$(basename "$dev")"
transport="$(cat "/sys/class/nvme/${dev}/transport")"
- if [[ "$transport" == "loop" ]]; then
- echo "WARNING: Test did not clean up loop device: ${dev}"
+ if [[ "$transport" == "${nvme_trtype}" ]]; then
+ echo "WARNING: Test did not clean up ${nvme_trtype} device: ${dev}"
_nvme_disconnect_ctrl "${dev}"
fi
done
shopt -u nullglob
trap SIGINT
- modprobe -r nvme-loop 2>/dev/null
+ modprobe -r nvme-"${nvme_trtype}" 2>/dev/null
+ if [[ "${nvme_trtype}" != "loop" ]]; then
+ modprobe -r nvmet-"${nvme_trtype}" 2>/dev/null
+ fi
modprobe -r nvmet 2>/dev/null
}
_setup_nvmet() {
_register_test_cleanup _cleanup_nvmet
modprobe nvmet
- modprobe nvme-loop
+ if [[ "${nvme_trtype}" != "loop" ]]; then
+ modprobe nvmet-"${nvme_trtype}"
+ fi
+ modprobe nvme-"${nvme_trtype}"
}
_nvme_disconnect_ctrl() {
_nvme_connect_subsys() {
local trtype="$1"
local subsysnqn="$2"
+ local traddr="${3:-$def_traddr}"
+ local trsvcid="${4:-$def_trsvcid}"
ARGS=(-t "${trtype}" -n "${subsysnqn}")
+ if [[ "${trtype}" != "loop" ]]; then
+ ARGS+=(-a "${traddr}" -s "${trsvcid}")
+ fi
nvme connect "${ARGS[@]}"
}
_nvme_discover() {
local trtype="$1"
+ local traddr="${2:-$def_traddr}"
+ local trsvcid="${3:-$def_trsvcid}"
ARGS=(-t "${trtype}")
+ if [[ "${trtype}" != "loop" ]]; then
+ ARGS+=(-a "${traddr}" -s "${trsvcid}")
+ fi
nvme discover "${ARGS[@]}"
}
_create_nvmet_port() {
local trtype="$1"
+ local traddr="${2:-$def_traddr}"
+ local adrfam="${3:-$def_adrfam}"
+ local trsvcid="${4:-$def_trsvcid}"
local port
for ((port = 0; ; port++)); do
mkdir "${NVMET_CFS}/ports/${port}"
echo "${trtype}" > "${NVMET_CFS}/ports/${port}/addr_trtype"
+ echo "${traddr}" > "${NVMET_CFS}/ports/${port}/addr_traddr"
+ echo "${adrfam}" > "${NVMET_CFS}/ports/${port}/addr_adrfam"
+ echo "${trsvcid}" > "${NVMET_CFS}/ports/${port}/addr_trsvcid"
echo "${port}"
}
rm "${NVMET_CFS}/ports/${port}/subsystems/${nvmet_subsystem}"
}
-_find_nvme_loop_dev() {
+_find_nvme_dev() {
local dev
local transport
for dev in /sys/class/nvme/nvme*; do
dev="$(basename "$dev")"
transport="$(cat "/sys/class/nvme/${dev}/transport")"
- if [[ "$transport" == "loop" ]]; then
+ if [[ "$transport" == "${nvme_trtype}" ]]; then
echo "$dev"
for ((i = 0; i < 10; i++)); do
if [[ -e /sys/block/$dev/uuid &&
}
_discovery_genctr() {
- _nvme_discover loop |
+ _nvme_discover "${nvme_trtype}" |
sed -n -e 's/^.*Generation counter \([0-9]\+\).*$/\1/p'
}