new file mode 100755
@@ -0,0 +1,66 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2023 SUSE LLC
+#
+# Test if the fabrics transports are handling different queues types correctly.
+
+. tests/nvme/rc
+. common/xfs
+
+DESCRIPTION="test different queue types for fabric transports"
+
+requires() {
+ _nvme_requires
+ _have_xfs
+ _have_fio
+ _require_nvme_trtype tcp rdma
+ _have_kver 4 21
+}
+
+test() {
+ echo "Running ${TEST_NAME}"
+
+ _setup_nvmet
+
+ local port
+ local nvmedev
+ local loop_dev
+ local file_path="$TMPDIR/img"
+ local subsys_name="blktests-subsystem-1"
+
+ truncate -s 512M "${file_path}"
+
+ loop_dev="$(losetup -f --show "${file_path}")"
+
+ _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
+ "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
+ port="$(_create_nvmet_port "${nvme_trtype}")"
+ _add_nvmet_subsys_to_port "${port}" "${subsys_name}"
+
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
+ --nr-write-queues 1 || echo FAIL
+
+ nvmedev=$(_find_nvme_dev "${subsys_name}")
+
+ _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
+
+ _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
+
+ _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
+ --nr-write-queues 1 \
+ --nr-poll-queues 1 || echo FAIL
+
+ _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
+
+ _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
+
+ _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
+ _remove_nvmet_subsystem "${subsys_name}"
+ _remove_nvmet_port "${port}"
+
+ losetup -d "${loop_dev}"
+
+ rm "${file_path}"
+
+ echo "Test complete"
+}
new file mode 100644
@@ -0,0 +1,2 @@
+Running nvme/047
+Test complete
Test if the fabrics transports are handling different queues types correctly. Currently, only TCP and RDMA from the fabric transport family support this feature, so limit the test to these two. We also issue some I/O to make sure that not just the plain connect works. For this we have to use a file system which supports direct I/O and hence we use a device backend. Signed-off-by: Daniel Wagner <dwagner@suse.de> --- tests/nvme/047 | 66 ++++++++++++++++++++++++++++++++++++++++++++++ tests/nvme/047.out | 2 ++ 2 files changed, 68 insertions(+) create mode 100755 tests/nvme/047 create mode 100644 tests/nvme/047.out