2023-05-03 08:04:26

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 00/12] nvme testsuite runtime optimization

Addessed all the comments I got for v2. If I didn't response to all
comments that just means I silently acked them and updated the series
accordingly. Hopefully I didn't miss anything.

I've changed the defaults back to the previous hard coded defaults. That means
the default image size is 1G and the many iterations count is 1000 (nvme/002
always runs 1000 as this is necessary to actually test the page overflow).

This time I also made sure the nvme pci tests nvme/030... get executed. With the
defaults the loop transport gives

loop:
real 13m17.778s
user 0m27.396s
sys 5m48.958s

and with nvme_img_size=16M nvme_num_iter=10 it gets down to

loop:
real 6m2.588s
user 0m13.450s
sys 1m55.236s

Althought some of the tests get skipped (nvme/012, nvme/013) with such small
test image sizes.

The values for tcp and rdma are similiar

tcp:
real 8m29.010s
user 0m14.068s
sys 2m57.573s

rdma:
real 8m46.285s
user 0m13.843s
sys 2m2.662s

get down to

tcp:
real 2m18.117s
user 0m5.928s
sys 0m42.649s

rdma:
real 2m5.546s
user 0m6.474s
sys 0m37.818s

The fc transport is not passing all tests and hence let's ignore it for now.

Obviously you can also turn the values in the other direction and increase the
tests 'coverage'.

Thanks,
Daniel


changes:
v3:
- 'nvme/rc' instead of 'nvme-rc' subject prefi x
- fixed spaces vs tabs indention
- nvme/014, nvme/015 dropped -1 in #block calculation
- common/xfs: use 'tail -1' instead 'awk'
- common/xfs: no need for printf for integer division
- nvme/035 limit disk size via nvme_img_size
- set defaults to previous values: nvme_img_size=1G, nvme_num_iter=1000
- nvme/032, nvme/040 let fio figure out image size
set timeout to infinity
cleanup fio
- add documentation for nvme_tr_type, nvme_img_size and nvme_num_iter
- limited nproc to 32 for num jobs for random fio job
- drop job size limit calculation
- drop nvme_num_iter from nvme/002
- limit xfs fio job size inside _xfs_run_fio_verify_io()
- added reviewed tags

v2:
- made image size configurable via nvme_img_size env
- make number of iteration configurable via nvme_num_iter
- do not hard code test values
- calculate job size
- use runtime for fio background jobs
- https://lore.kernel.org/linux-nvme/[email protected]/

v1:
- initial version
- https://lore.kernel.org/linux-nvme/[email protected]/


Daniel Wagner (12):
nvme/rc: Auto convert test device size info
nvme: Do not hard code device size for dd test
common/xfs: Make size argument optional for _xfs_run_fio_verify_io
common/xfs: Limit fio size job to fit into xfs fs
nvme: Use runtime fio background jobs
Documentation: Add info on nvme_tr_type
nvme: Make test image size configurable
nvme/rc: Add minimal test image size requirement
common/fio: Limit number of random jobs
nvme/rc: Calculate IO size for random fio jobs
nvme/rc: Move discovery generation counter code to rc
nvme: Make the number iterations configurable

Documentation/running-tests.md | 12 +
common/fio | 3 +-
common/rc | 30 +-
common/xfs | 17 +-
tests/nvme/002 | 4 +-
tests/nvme/002.out | 3004 --------------------------------
tests/nvme/004 | 2 +-
tests/nvme/005 | 2 +-
tests/nvme/006 | 2 +-
tests/nvme/007 | 2 +-
tests/nvme/008 | 2 +-
tests/nvme/009 | 2 +-
tests/nvme/010 | 5 +-
tests/nvme/011 | 5 +-
tests/nvme/012 | 5 +-
tests/nvme/013 | 5 +-
tests/nvme/014 | 12 +-
tests/nvme/015 | 12 +-
tests/nvme/016 | 2 +-
tests/nvme/017 | 4 +-
tests/nvme/018 | 2 +-
tests/nvme/019 | 2 +-
tests/nvme/020 | 2 +-
tests/nvme/021 | 2 +-
tests/nvme/022 | 2 +-
tests/nvme/023 | 2 +-
tests/nvme/024 | 2 +-
tests/nvme/025 | 2 +-
tests/nvme/026 | 2 +-
tests/nvme/027 | 2 +-
tests/nvme/028 | 2 +-
tests/nvme/029 | 2 +-
tests/nvme/030 | 22 +-
tests/nvme/031 | 2 +-
tests/nvme/032 | 5 +-
tests/nvme/034 | 2 +-
tests/nvme/035 | 4 +-
tests/nvme/040 | 11 +-
tests/nvme/041 | 2 +-
tests/nvme/042 | 2 +-
tests/nvme/043 | 2 +-
tests/nvme/044 | 2 +-
tests/nvme/045 | 6 +-
tests/nvme/047 | 8 +-
tests/nvme/048 | 2 +-
tests/nvme/rc | 40 +
46 files changed, 185 insertions(+), 3081 deletions(-)

--
2.40.0


2023-05-03 08:04:35

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 02/12] nvme: Do not hard code device size for dd test

Read the block device sizes instead hard coding them,
so that the device size can be configurable in future.

Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
---
tests/nvme/014 | 10 +++++++++-
tests/nvme/015 | 10 +++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/tests/nvme/014 b/tests/nvme/014
index d13cff7921da..875e99eea346 100755
--- a/tests/nvme/014
+++ b/tests/nvme/014
@@ -23,6 +23,9 @@ test() {
local port
local nvmedev
local loop_dev
+ local size
+ local bs
+ local count
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

@@ -41,7 +44,12 @@ test() {
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"

- dd if=/dev/urandom of="/dev/${nvmedev}n1" count=128000 bs=4k status=none
+ size="$(blockdev --getsize64 "/dev/${nvmedev}n1")"
+ bs="$(blockdev --getbsz "/dev/${nvmedev}n1")"
+ count=$((size / bs))
+
+ dd if=/dev/urandom of="/dev/${nvmedev}n1" \
+ count="${count}" bs="${bs}" status=none

nvme flush "/dev/${nvmedev}" -n 1

diff --git a/tests/nvme/015 b/tests/nvme/015
index bb52ba2598db..8cb343e1d31c 100755
--- a/tests/nvme/015
+++ b/tests/nvme/015
@@ -22,6 +22,9 @@ test() {

local port
local nvmedev
+ local size
+ local bs
+ local count
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

@@ -38,7 +41,12 @@ test() {
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"

- dd if=/dev/urandom of="/dev/${nvmedev}n1" count=128000 bs=4k status=none
+ size="$(blockdev --getsize64 "/dev/${nvmedev}n1")"
+ bs="$(blockdev --getbsz "/dev/${nvmedev}n1")"
+ count=$((size / bs))
+
+ dd if=/dev/urandom of="/dev/${nvmedev}n1" \
+ count="${count}" bs="${bs}" status=none

nvme flush "/dev/${nvmedev}n1" -n 1

--
2.40.0

2023-05-03 08:05:01

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 06/12] Documentation: Add info on nvme_tr_type

Mention that the nvme tests can be parametrized.

Signed-off-by: Daniel Wagner <[email protected]>
---
Documentation/running-tests.md | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/running-tests.md b/Documentation/running-tests.md
index 3550f377f487..7e827fba7ac0 100644
--- a/Documentation/running-tests.md
+++ b/Documentation/running-tests.md
@@ -98,6 +98,13 @@ requires that the kernel be compiled with `CONFIG_BLK_DEV_ZONED` enabled.
RUN_ZONED_TESTS=1
```

+### NVMe test parameterizing
+
+The NVMe tests can be additionally parameterized via environment variables.
+
+- nvme_tr_type: 'loop' (default), 'tcp', 'rdma' and 'fc'
+ Run the tests with the given transport.
+
### Running nvme-rdma nvmeof-mp srp tests

Most of these tests will use the rdma_rxe (soft-RoCE) driver by default. The siw (soft-iWARP) driver is also supported.
--
2.40.0

2023-05-03 08:05:06

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 03/12] common/xfs: Make size argument optional for _xfs_run_fio_verify_io

Make the size argument optional by reading the filesystem info. The
caller doesn't have to guess (or calculate) how big the max IO size.
The log data structure of XFS is reducing the capacity.

Signed-off-by: Daniel Wagner <[email protected]>
---
common/xfs | 14 +++++++++++++-
tests/nvme/012 | 2 +-
tests/nvme/013 | 2 +-
3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/common/xfs b/common/xfs
index 2c5d96164ac1..413c2820ffaf 100644
--- a/common/xfs
+++ b/common/xfs
@@ -24,10 +24,22 @@ _xfs_run_fio_verify_io() {
local mount_dir="/mnt/blktests"
local bdev=$1
local sz=$2
+ local sz_mb
+ local avail
+ local avail_mb

_xfs_mkfs_and_mount "${bdev}" "${mount_dir}" >> "${FULL}" 2>&1

- _run_fio_verify_io --size="$sz" --directory="${mount_dir}/"
+ avail="$(df --output=avail "${mount_dir}" | tail -1)"
+ avail_mb="$((avail / 1024))"
+
+ if [[ -z "${sz}" ]]; then
+ sz_mb="${avail_mb}"
+ else
+ sz_mb="$(convert_to_mb "${sz}")"
+ fi
+
+ _run_fio_verify_io --size="${sz_mb}m" --directory="${mount_dir}/"

umount "${mount_dir}" >> "${FULL}" 2>&1
rm -fr "${mount_dir}"
diff --git a/tests/nvme/012 b/tests/nvme/012
index e60082c2e751..c9d24388306d 100755
--- a/tests/nvme/012
+++ b/tests/nvme/012
@@ -44,7 +44,7 @@ test() {
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"

- _xfs_run_fio_verify_io "/dev/${nvmedev}n1" "900m"
+ _xfs_run_fio_verify_io "/dev/${nvmedev}n1"

_nvme_disconnect_subsys "${subsys_name}"

diff --git a/tests/nvme/013 b/tests/nvme/013
index 9d60a7df4577..265b6968fd34 100755
--- a/tests/nvme/013
+++ b/tests/nvme/013
@@ -41,7 +41,7 @@ test() {
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"

- _xfs_run_fio_verify_io "/dev/${nvmedev}n1" "900m"
+ _xfs_run_fio_verify_io "/dev/${nvmedev}n1"

_nvme_disconnect_subsys "${subsys_name}"

--
2.40.0

2023-05-03 08:05:21

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 09/12] common/fio: Limit number of random jobs

Limit the number of random threads to 32 for big machines. This still
gives enough randomness but limits the resource usage.

Signed-off-by: Daniel Wagner <[email protected]>
---
common/fio | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/common/fio b/common/fio
index 1db6128be632..06659d7d1d84 100644
--- a/common/fio
+++ b/common/fio
@@ -189,7 +189,8 @@ _run_fio() {
# Wrapper around _run_fio used if you need some I/O but don't really care much
# about the details
_run_fio_rand_io() {
- _run_fio --bs=4k --rw=randread --norandommap --numjobs="$(nproc)" \
+ _run_fio --bs=4k --rw=randread --norandommap \
+ --numjobs="$(OMP_THREAD_LIMIT=32 nproc)" \
--name=reads --direct=1 "$@"
}

--
2.40.0

2023-05-03 08:05:24

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 10/12] nvme/rc: Calculate IO size for random fio jobs

_nvme_calc_run_io_size() returns the jobs size for _run_fio_rand_io()
function. The jobs size is the size per job, thus we have to divide
through the number of CPUs.

Signed-off-by: Daniel Wagner <[email protected]>
---
tests/nvme/045 | 4 +++-
tests/nvme/047 | 6 ++++--
tests/nvme/rc | 10 ++++++++++
3 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/tests/nvme/045 b/tests/nvme/045
index 99012f6bed8f..f50087cccb6a 100755
--- a/tests/nvme/045
+++ b/tests/nvme/045
@@ -31,6 +31,7 @@ test() {
local ctrlkey
local new_ctrlkey
local ctrldev
+ local rand_io_size

echo "Running ${TEST_NAME}"

@@ -120,7 +121,8 @@ test() {

nvmedev=$(_find_nvme_dev "${subsys_name}")

- _run_fio_rand_io --size=4m --filename="/dev/${nvmedev}n1"
+ rand_io_size="$(_nvme_calc_rand_io_size 4m)"
+ _run_fio_rand_io --size="${rand_io_size}" --filename="/dev/${nvmedev}n1"

_nvme_disconnect_subsys "${subsys_name}"

diff --git a/tests/nvme/047 b/tests/nvme/047
index b5a8d469a983..6a7599bc2e91 100755
--- a/tests/nvme/047
+++ b/tests/nvme/047
@@ -25,6 +25,7 @@ test() {
local port
local nvmedev
local loop_dev
+ local rand_io_size
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

@@ -42,7 +43,8 @@ test() {

nvmedev=$(_find_nvme_dev "${subsys_name}")

- _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
+ rand_io_size="$(_nvme_calc_rand_io_size 4M)"
+ _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}"

_nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1

@@ -50,7 +52,7 @@ test() {
--nr-write-queues 1 \
--nr-poll-queues 1 || echo FAIL

- _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
+ _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}"

_nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1

diff --git a/tests/nvme/rc b/tests/nvme/rc
index 0b4d5f6570d6..268418e5b3e0 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -150,6 +150,16 @@ _test_dev_nvme_nsid() {
cat "${TEST_DEV_SYSFS}/nsid"
}

+_nvme_calc_rand_io_size() {
+ local img_size_mb
+ local io_size_kb
+
+ img_size_mb="$(convert_to_mb "$1")"
+ io_size_kb="$(((img_size_mb * 1024) / $(OMP_THREAD_LIMIT=32 nproc)))"
+
+ echo "${io_size_kb}k"
+}
+
_nvme_fcloop_add_rport() {
local local_wwnn="$1"
local local_wwpn="$2"
--
2.40.0

2023-05-03 08:05:27

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 08/12] nvme/rc: Add minimal test image size requirement

Some tests need a minimal test image size to work correctly. Thus add a
helper to check the size and update these tests accordingly.

The image minimum is 4M because some of the test have hard coded values.
All tests which use the xfs fio verification job have a minimum
requirement of 350M impossed by the xfs filesystem.

Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
---
tests/nvme/012 | 1 +
tests/nvme/013 | 1 +
tests/nvme/029 | 1 -
tests/nvme/045 | 2 +-
tests/nvme/rc | 15 +++++++++++++++
5 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/tests/nvme/012 b/tests/nvme/012
index ecf44fcb5a51..efe227538c57 100755
--- a/tests/nvme/012
+++ b/tests/nvme/012
@@ -16,6 +16,7 @@ requires() {
_have_fio
_have_loop
_require_nvme_trtype_is_fabrics
+ _require_nvme_test_img_size 350m
}

test() {
diff --git a/tests/nvme/013 b/tests/nvme/013
index e249add46295..14e646a19c47 100755
--- a/tests/nvme/013
+++ b/tests/nvme/013
@@ -15,6 +15,7 @@ requires() {
_have_xfs
_have_fio
_require_nvme_trtype_is_fabrics
+ _require_nvme_test_img_size 350m
}

test() {
diff --git a/tests/nvme/029 b/tests/nvme/029
index 1808b7b0edf1..c6d38b42af70 100755
--- a/tests/nvme/029
+++ b/tests/nvme/029
@@ -14,7 +14,6 @@ requires() {
_nvme_requires
_have_loop
_require_nvme_trtype_is_fabrics
- _require_test_dev_size 1M
}

test_user_io()
diff --git a/tests/nvme/045 b/tests/nvme/045
index 7c51da27b5f1..99012f6bed8f 100755
--- a/tests/nvme/045
+++ b/tests/nvme/045
@@ -120,7 +120,7 @@ test() {

nvmedev=$(_find_nvme_dev "${subsys_name}")

- _run_fio_rand_io --size=8m --filename="/dev/${nvmedev}n1"
+ _run_fio_rand_io --size=4m --filename="/dev/${nvmedev}n1"

_nvme_disconnect_subsys "${subsys_name}"

diff --git a/tests/nvme/rc b/tests/nvme/rc
index 51dde39c2966..0b4d5f6570d6 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -21,6 +21,7 @@ nvme_img_size=${nvme_img_size:-"1G"}

_nvme_requires() {
_have_program nvme
+ _require_nvme_test_img_size 4m
case ${nvme_trtype} in
loop)
_have_driver nvme-loop
@@ -94,6 +95,20 @@ _require_test_dev_is_nvme() {
return 0
}

+_require_nvme_test_img_size() {
+ local require_sz_mb
+ local nvme_img_size_mb
+
+ require_sz_mb="$(convert_to_mb "$1")"
+ nvme_img_size_mb="$(convert_to_mb "${nvme_img_size}")"
+
+ if (( "${nvme_img_size_mb}" < "$require_sz_mb" )); then
+ SKIP_REASONS+=("nvme_img_size must be at least ${require_sz_mb}m")
+ return 1
+ fi
+ return 0
+}
+
_require_nvme_trtype() {
local trtype
for trtype in "$@"; do
--
2.40.0

2023-05-03 08:05:29

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 05/12] nvme: Use runtime fio background jobs

The fio jobs are supposed to run long in background during the test.
Instead relying on a job size use explicit runtime for this.

Signed-off-by: Daniel Wagner <[email protected]>
---
tests/nvme/032 | 4 ++--
tests/nvme/040 | 9 +++++++--
2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/tests/nvme/032 b/tests/nvme/032
index 017d4a339971..2e4b7f0760c7 100755
--- a/tests/nvme/032
+++ b/tests/nvme/032
@@ -38,8 +38,8 @@ test_device() {
sysfs="/sys/bus/pci/devices/${pdev}"

# start fio job
- _run_fio_rand_io --filename="$TEST_DEV" --size=1g \
- --group_reporting &> /dev/null &
+ _run_fio_rand_io --filename="$TEST_DEV" \
+ --group_reporting --time_based --runtime=-1 &> /dev/null &

sleep 5

diff --git a/tests/nvme/040 b/tests/nvme/040
index 04bd726cd309..05b4f5472ef5 100755
--- a/tests/nvme/040
+++ b/tests/nvme/040
@@ -21,6 +21,7 @@ test() {
local port
local loop_dev
local nvmedev
+ local fio_pid

echo "Running ${TEST_NAME}"

@@ -37,8 +38,10 @@ test() {

# start fio job
echo "starting background fio"
- _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size=1g \
- --group_reporting --ramp_time=5 &> /dev/null &
+ _run_fio_rand_io --filename="/dev/${nvmedev}n1" \
+ --group_reporting --ramp_time=5 \
+ --time_based --runtime=-1 &> /dev/null &
+ fio_pid=$!
sleep 5

# do reset/remove operation
@@ -48,6 +51,8 @@ test() {
echo "deleting controller"
_nvme_delete_ctrl "${nvmedev}"

+ { kill "${fio_pid}"; wait; } &> /dev/null
+
_remove_nvmet_subsystem_from_port "${port}" "${subsys}"
_remove_nvmet_subsystem "${subsys}"
_remove_nvmet_port "${port}"
--
2.40.0

2023-05-03 08:05:30

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 07/12] nvme: Make test image size configurable

The reduce the overall runtime of the testsuite by making the default
size of the test image small. For verification jobs, the default can be
overwriten via the newly introduced nvme_img_size environment variable.

Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
---
Documentation/running-tests.md | 3 +++
tests/nvme/004 | 2 +-
tests/nvme/005 | 2 +-
tests/nvme/006 | 2 +-
tests/nvme/007 | 2 +-
tests/nvme/008 | 2 +-
tests/nvme/009 | 2 +-
tests/nvme/010 | 5 +++--
tests/nvme/011 | 5 +++--
tests/nvme/012 | 2 +-
tests/nvme/013 | 2 +-
tests/nvme/014 | 2 +-
tests/nvme/015 | 2 +-
tests/nvme/017 | 2 +-
tests/nvme/018 | 2 +-
tests/nvme/019 | 2 +-
tests/nvme/020 | 2 +-
tests/nvme/021 | 2 +-
tests/nvme/022 | 2 +-
tests/nvme/023 | 2 +-
tests/nvme/024 | 2 +-
tests/nvme/025 | 2 +-
tests/nvme/026 | 2 +-
tests/nvme/027 | 2 +-
tests/nvme/028 | 2 +-
tests/nvme/029 | 3 ++-
tests/nvme/031 | 2 +-
tests/nvme/032 | 1 -
tests/nvme/034 | 2 +-
tests/nvme/035 | 4 ++--
tests/nvme/040 | 2 +-
tests/nvme/041 | 2 +-
tests/nvme/042 | 2 +-
tests/nvme/043 | 2 +-
tests/nvme/044 | 2 +-
tests/nvme/045 | 2 +-
tests/nvme/047 | 2 +-
tests/nvme/048 | 2 +-
tests/nvme/rc | 1 +
39 files changed, 46 insertions(+), 40 deletions(-)

diff --git a/Documentation/running-tests.md b/Documentation/running-tests.md
index 7e827fba7ac0..6b34a253fd97 100644
--- a/Documentation/running-tests.md
+++ b/Documentation/running-tests.md
@@ -104,6 +104,9 @@ The NVMe tests can be additionally parameterized via environment variables.

- nvme_tr_type: 'loop' (default), 'tcp', 'rdma' and 'fc'
Run the tests with the given transport.
+- nvme_img_size: '1G' (default)
+ Run the tests with given image size in bytes. 'm' and 'g' postfix
+ are supported.

### Running nvme-rdma nvmeof-mp srp tests

diff --git a/tests/nvme/004 b/tests/nvme/004
index 9dda538b1ac0..cab98ff44326 100755
--- a/tests/nvme/004
+++ b/tests/nvme/004
@@ -25,7 +25,7 @@ test() {
local port
port="$(_create_nvmet_port "${nvme_trtype}")"

- truncate -s 1G "$TMPDIR/img"
+ truncate -s "${nvme_img_size}" "$TMPDIR/img"

local loop_dev
loop_dev="$(losetup -f --show "$TMPDIR/img")"
diff --git a/tests/nvme/005 b/tests/nvme/005
index de567a74a891..8e15a13f3794 100755
--- a/tests/nvme/005
+++ b/tests/nvme/005
@@ -24,7 +24,7 @@ test() {
local port
port="$(_create_nvmet_port "${nvme_trtype}")"

- truncate -s 1G "$TMPDIR/img"
+ truncate -s "${nvme_img_size}" "$TMPDIR/img"

local loop_dev
loop_dev="$(losetup -f --show "$TMPDIR/img")"
diff --git a/tests/nvme/006 b/tests/nvme/006
index d993861c06ba..ea0db93791a7 100755
--- a/tests/nvme/006
+++ b/tests/nvme/006
@@ -24,7 +24,7 @@ test() {

_setup_nvmet

- truncate -s 1G "$TMPDIR/img"
+ truncate -s "${nvme_img_size}" "$TMPDIR/img"

loop_dev="$(losetup -f --show "$TMPDIR/img")"

diff --git a/tests/nvme/007 b/tests/nvme/007
index d53100f3ff7b..243a79f5a254 100755
--- a/tests/nvme/007
+++ b/tests/nvme/007
@@ -25,7 +25,7 @@ test() {

file_path="${TMPDIR}/img"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/008 b/tests/nvme/008
index 5568fe46e463..5abc4240ca46 100755
--- a/tests/nvme/008
+++ b/tests/nvme/008
@@ -26,7 +26,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/009 b/tests/nvme/009
index 2814c79164ee..491d3c809ab0 100755
--- a/tests/nvme/009
+++ b/tests/nvme/009
@@ -24,7 +24,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/010 b/tests/nvme/010
index b7b1d5188e9b..805f80d40620 100755
--- a/tests/nvme/010
+++ b/tests/nvme/010
@@ -26,7 +26,7 @@ test() {
local file_path="${TMPDIR}/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

@@ -41,7 +41,8 @@ test() {
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"

- _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1"
+ _run_fio_verify_io --size=${nvme_img_size} \
+ --filename="/dev/${nvmedev}n1"

_nvme_disconnect_subsys "${subsys_name}"

diff --git a/tests/nvme/011 b/tests/nvme/011
index 4bfe9af084e4..da8cbac11124 100755
--- a/tests/nvme/011
+++ b/tests/nvme/011
@@ -26,7 +26,7 @@ test() {
local file_path="${TMPDIR}/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
@@ -39,7 +39,8 @@ test() {
cat "/sys/block/${nvmedev}n1/uuid"
cat "/sys/block/${nvmedev}n1/wwid"

- _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1"
+ _run_fio_verify_io --size="${nvme_img_size}" \
+ --filename="/dev/${nvmedev}n1"

_nvme_disconnect_subsys "${subsys_name}"

diff --git a/tests/nvme/012 b/tests/nvme/012
index c9d24388306d..ecf44fcb5a51 100755
--- a/tests/nvme/012
+++ b/tests/nvme/012
@@ -29,7 +29,7 @@ test() {
local file_path="${TMPDIR}/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/013 b/tests/nvme/013
index 265b6968fd34..e249add46295 100755
--- a/tests/nvme/013
+++ b/tests/nvme/013
@@ -28,7 +28,7 @@ test() {

local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/014 b/tests/nvme/014
index 875e99eea346..55d920f2660b 100755
--- a/tests/nvme/014
+++ b/tests/nvme/014
@@ -29,7 +29,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/015 b/tests/nvme/015
index 8cb343e1d31c..071141380e43 100755
--- a/tests/nvme/015
+++ b/tests/nvme/015
@@ -28,7 +28,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/017 b/tests/nvme/017
index f2a95cf276cb..0248aee9bc41 100755
--- a/tests/nvme/017
+++ b/tests/nvme/017
@@ -25,7 +25,7 @@ test() {

file_path="${TMPDIR}/img"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/018 b/tests/nvme/018
index 315e79534348..78e9b2bb94d8 100755
--- a/tests/nvme/018
+++ b/tests/nvme/018
@@ -26,7 +26,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/019 b/tests/nvme/019
index 4cb3509a12b2..9fff8ccaac9c 100755
--- a/tests/nvme/019
+++ b/tests/nvme/019
@@ -28,7 +28,7 @@ test() {
local nblk_range="10,10,10,10,10,10,10,10,10,10"
local sblk_range="100,200,300,400,500,600,700,800,900,1000"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/020 b/tests/nvme/020
index 16fdfcc94918..1966d5925213 100755
--- a/tests/nvme/020
+++ b/tests/nvme/020
@@ -26,7 +26,7 @@ test() {
local nblk_range="10,10,10,10,10,10,10,10,10,10"
local sblk_range="100,200,300,400,500,600,700,800,900,1000"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/021 b/tests/nvme/021
index 6ee0af1fe158..1fefc0fbca00 100755
--- a/tests/nvme/021
+++ b/tests/nvme/021
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/022 b/tests/nvme/022
index 1d76ffa44178..1ff915786f86 100755
--- a/tests/nvme/022
+++ b/tests/nvme/022
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/023 b/tests/nvme/023
index b65be07edc38..90316230a3d7 100755
--- a/tests/nvme/023
+++ b/tests/nvme/023
@@ -26,7 +26,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/024 b/tests/nvme/024
index f756797d6f29..384a8266e741 100755
--- a/tests/nvme/024
+++ b/tests/nvme/024
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/025 b/tests/nvme/025
index 941bf36f67fb..815223d1c28d 100755
--- a/tests/nvme/025
+++ b/tests/nvme/025
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/026 b/tests/nvme/026
index c3f06c2a377c..d2203f19f026 100755
--- a/tests/nvme/026
+++ b/tests/nvme/026
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/027 b/tests/nvme/027
index 0ad663ace811..97fe70e78344 100755
--- a/tests/nvme/027
+++ b/tests/nvme/027
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/028 b/tests/nvme/028
index 7de977a81213..c539620bee28 100755
--- a/tests/nvme/028
+++ b/tests/nvme/028
@@ -25,7 +25,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"91fdba0d-f87b-4c25-b80f-db7be1418b9e"
diff --git a/tests/nvme/029 b/tests/nvme/029
index f8b4cbbb9156..1808b7b0edf1 100755
--- a/tests/nvme/029
+++ b/tests/nvme/029
@@ -14,6 +14,7 @@ requires() {
_nvme_requires
_have_loop
_require_nvme_trtype_is_fabrics
+ _require_test_dev_size 1M
}

test_user_io()
@@ -59,7 +60,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 1G "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/031 b/tests/nvme/031
index 4e1798246db1..e70898819a86 100755
--- a/tests/nvme/031
+++ b/tests/nvme/031
@@ -33,7 +33,7 @@ test() {

_setup_nvmet

- truncate -s 1G "$TMPDIR/img"
+ truncate -s "${nvme_img_size}" "$TMPDIR/img"

loop_dev="$(losetup -f --show "$TMPDIR/img")"

diff --git a/tests/nvme/032 b/tests/nvme/032
index 2e4b7f0760c7..46bbff25e70d 100755
--- a/tests/nvme/032
+++ b/tests/nvme/032
@@ -40,7 +40,6 @@ test_device() {
# start fio job
_run_fio_rand_io --filename="$TEST_DEV" \
--group_reporting --time_based --runtime=-1 &> /dev/null &
-
sleep 5

if [[ ! -d "$sysfs" ]]; then
diff --git a/tests/nvme/034 b/tests/nvme/034
index f92e5e20865b..e0ede717c373 100755
--- a/tests/nvme/034
+++ b/tests/nvme/034
@@ -26,7 +26,7 @@ test_device() {
port=$(_nvmet_passthru_target_setup "${subsys}")
nsdev=$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}")

- _run_fio_verify_io --size=950m --filename="${nsdev}"
+ _run_fio_verify_io --size="${nvme_img_size}" --filename="${nsdev}"

_nvme_disconnect_subsys "${subsys}"
_nvmet_passthru_target_cleanup "${port}" "${subsys}"
diff --git a/tests/nvme/035 b/tests/nvme/035
index eb1024edddbf..0896f7bb578d 100755
--- a/tests/nvme/035
+++ b/tests/nvme/035
@@ -17,7 +17,7 @@ requires() {
}

device_requires() {
- _require_test_dev_size 1024m
+ _require_test_dev_size "${nvme_img_size}"
}

test_device() {
@@ -32,7 +32,7 @@ test_device() {
port=$(_nvmet_passthru_target_setup "${subsys}")
nsdev=$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}")

- _xfs_run_fio_verify_io "${nsdev}" "900m"
+ _xfs_run_fio_verify_io "${nsdev}" "${nvme_img_size}"

_nvme_disconnect_subsys "${subsys}"
_nvmet_passthru_target_cleanup "${port}" "${subsys}"
diff --git a/tests/nvme/040 b/tests/nvme/040
index 05b4f5472ef5..7a8742ec343d 100755
--- a/tests/nvme/040
+++ b/tests/nvme/040
@@ -26,7 +26,7 @@ test() {
echo "Running ${TEST_NAME}"

_setup_nvmet
- truncate -s 1G "$TMPDIR/img"
+ truncate -s "${nvme_img_size}" "$TMPDIR/img"
loop_dev="$(losetup -f --show "$TMPDIR/img")"

port="$(_create_nvmet_port "${nvme_trtype}")"
diff --git a/tests/nvme/041 b/tests/nvme/041
index 03e2dab25918..308655dd6090 100755
--- a/tests/nvme/041
+++ b/tests/nvme/041
@@ -44,7 +44,7 @@ test() {

_setup_nvmet

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"b92842df-a394-44b1-84a4-92ae7d112861"
diff --git a/tests/nvme/042 b/tests/nvme/042
index 4ad726f72f5a..fed2efead013 100755
--- a/tests/nvme/042
+++ b/tests/nvme/042
@@ -41,7 +41,7 @@ test() {

_setup_nvmet

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}"
port="$(_create_nvmet_port "${nvme_trtype}")"
diff --git a/tests/nvme/043 b/tests/nvme/043
index c031cecf34a5..a030884aa4ed 100755
--- a/tests/nvme/043
+++ b/tests/nvme/043
@@ -42,7 +42,7 @@ test() {

_setup_nvmet

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}"
port="$(_create_nvmet_port "${nvme_trtype}")"
diff --git a/tests/nvme/044 b/tests/nvme/044
index f2406ecadf7d..9928bcc55397 100755
--- a/tests/nvme/044
+++ b/tests/nvme/044
@@ -53,7 +53,7 @@ test() {

_setup_nvmet

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}"
port="$(_create_nvmet_port "${nvme_trtype}")"
diff --git a/tests/nvme/045 b/tests/nvme/045
index 612e5f168e3c..7c51da27b5f1 100755
--- a/tests/nvme/045
+++ b/tests/nvme/045
@@ -55,7 +55,7 @@ test() {

_setup_nvmet

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}"
port="$(_create_nvmet_port "${nvme_trtype}")"
diff --git a/tests/nvme/047 b/tests/nvme/047
index d56d3be185b0..b5a8d469a983 100755
--- a/tests/nvme/047
+++ b/tests/nvme/047
@@ -28,7 +28,7 @@ test() {
local file_path="$TMPDIR/img"
local subsys_name="blktests-subsystem-1"

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

loop_dev="$(losetup -f --show "${file_path}")"

diff --git a/tests/nvme/048 b/tests/nvme/048
index 09e205f69197..81084f0440c2 100755
--- a/tests/nvme/048
+++ b/tests/nvme/048
@@ -84,7 +84,7 @@ test() {
fi
hostnqn="nqn.2014-08.org.nvmexpress:uuid:${hostid}"

- truncate -s 512M "${file_path}"
+ truncate -s "${nvme_img_size}" "${file_path}"

_create_nvmet_subsystem "${subsys_name}" "${file_path}" \
"b92842df-a394-44b1-84a4-92ae7d112861"
diff --git a/tests/nvme/rc b/tests/nvme/rc
index 41f196b037d6..51dde39c2966 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -17,6 +17,7 @@ def_local_wwpn="0x20001100aa000002"
def_hostnqn="$(cat /etc/nvme/hostnqn 2> /dev/null)"
def_hostid="$(cat /etc/nvme/hostid 2> /dev/null)"
nvme_trtype=${nvme_trtype:-"loop"}
+nvme_img_size=${nvme_img_size:-"1G"}

_nvme_requires() {
_have_program nvme
--
2.40.0

2023-05-03 08:05:40

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 04/12] common/xfs: Limit fio size job to fit into xfs fs

The usable capacity of the filesystem is less than the raw
partition/device size due to the additional meta/log data.

Ensure that the job size for fio is not exceeding the limits.

Because we have hard coded the path where we mount the filesystem
and don't want to expose this, we just update max size inside
_xfs_run_fio_verify_io(). No need to leak this into the caller.

Signed-off-by: Daniel Wagner <[email protected]>
---
common/xfs | 3 +++
1 file changed, 3 insertions(+)

diff --git a/common/xfs b/common/xfs
index 413c2820ffaf..37ce85878df2 100644
--- a/common/xfs
+++ b/common/xfs
@@ -37,6 +37,9 @@ _xfs_run_fio_verify_io() {
sz_mb="${avail_mb}"
else
sz_mb="$(convert_to_mb "${sz}")"
+ if [[ "${sz_mb}" -gt "${avail_mb}" ]]; then
+ sz_mb="${avail_mb}"
+ fi
fi

_run_fio_verify_io --size="${sz_mb}m" --directory="${mount_dir}/"
--
2.40.0

2023-05-03 08:06:54

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 12/12] nvme: Make the number iterations configurable

Some tests hard code high values of iterations. This makes them run
relatively long compared to the other tests. Introduce a new environment
variable nvme_num_iter to allow tune the runtime.

Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
---
Documentation/running-tests.md | 2 ++
tests/nvme/016 | 2 +-
tests/nvme/017 | 2 +-
tests/nvme/rc | 1 +
4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Documentation/running-tests.md b/Documentation/running-tests.md
index 6b34a253fd97..243975e43583 100644
--- a/Documentation/running-tests.md
+++ b/Documentation/running-tests.md
@@ -107,6 +107,8 @@ The NVMe tests can be additionally parameterized via environment variables.
- nvme_img_size: '1G' (default)
Run the tests with given image size in bytes. 'm' and 'g' postfix
are supported.
+- nvme_num_iter: 1000 (default)
+ The number of iterations a test should do.

### Running nvme-rdma nvmeof-mp srp tests

diff --git a/tests/nvme/016 b/tests/nvme/016
index 4eba30223a08..c0c31a55b190 100755
--- a/tests/nvme/016
+++ b/tests/nvme/016
@@ -17,7 +17,7 @@ test() {
echo "Running ${TEST_NAME}"

local port
- local iterations=1000
+ local iterations="${nvme_num_iter}"
local loop_dev
local subsys_nqn="blktests-subsystem-1"

diff --git a/tests/nvme/017 b/tests/nvme/017
index 0248aee9bc41..e1674508f654 100755
--- a/tests/nvme/017
+++ b/tests/nvme/017
@@ -18,7 +18,7 @@ test() {

local port
local file_path
- local iterations=1000
+ local iterations="${nvme_num_iter}"
local subsys_name="blktests-subsystem-1"

_setup_nvmet
diff --git a/tests/nvme/rc b/tests/nvme/rc
index a14458d5b80f..76ca683a40b4 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -18,6 +18,7 @@ def_hostnqn="$(cat /etc/nvme/hostnqn 2> /dev/null)"
def_hostid="$(cat /etc/nvme/hostid 2> /dev/null)"
nvme_trtype=${nvme_trtype:-"loop"}
nvme_img_size=${nvme_img_size:-"1G"}
+nvme_num_iter=${nvme_num_iter:-"1000"}

_nvme_requires() {
_have_program nvme
--
2.40.0

2023-05-03 08:07:06

by Daniel Wagner

[permalink] [raw]
Subject: [PATCH blktests v3 11/12] nvme/rc: Move discovery generation counter code to rc

Move the discovery generation counter code to rc so that we can reuse
it in 002.

Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
---
tests/nvme/002 | 4 +-
tests/nvme/002.out | 3004 --------------------------------------------
tests/nvme/030 | 22 +-
tests/nvme/rc | 13 +
4 files changed, 20 insertions(+), 3023 deletions(-)

diff --git a/tests/nvme/002 b/tests/nvme/002
index 6c6ae5fea89b..6b8484844b4d 100755
--- a/tests/nvme/002
+++ b/tests/nvme/002
@@ -27,12 +27,14 @@ test() {
local loop_dev
loop_dev="$(losetup -f)"

+ local genctr=1
+
for ((i = 0; i < iterations; i++)); do
_create_nvmet_subsystem "blktests-subsystem-$i" "${loop_dev}"
_add_nvmet_subsys_to_port "${port}" "blktests-subsystem-$i"
done

- _nvme_discover "${nvme_trtype}" | _filter_discovery
+ genctr=$(_check_genctr "${genctr}" "adding a subsystem to a port")

for ((i = iterations - 1; i >= 0; i--)); do
_remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-$i"
diff --git a/tests/nvme/002.out b/tests/nvme/002.out
index c33d7d306ed2..98554ddb0ca6 100644
--- a/tests/nvme/002.out
+++ b/tests/nvme/002.out
@@ -1,3006 +1,2 @@
Running nvme/002
-Discovery Log Number of Records 1001, Generation counter X
-=====Discovery Log Entry 0======
-trtype: loop
-subnqn: nqn.2014-08.org.nvmexpress.discovery
-=====Discovery Log Entry 1======
-trtype: loop
-subnqn: blktests-subsystem-0
-=====Discovery Log Entry 2======
-trtype: loop
-subnqn: blktests-subsystem-1
-=====Discovery Log Entry 3======
-trtype: loop
-subnqn: blktests-subsystem-2
-=====Discovery Log Entry 4======
-trtype: loop
-subnqn: blktests-subsystem-3
-=====Discovery Log Entry 5======
-trtype: loop
-subnqn: blktests-subsystem-4
-=====Discovery Log Entry 6======
-trtype: loop
-subnqn: blktests-subsystem-5
-=====Discovery Log Entry 7======
-trtype: loop
-subnqn: blktests-subsystem-6
-=====Discovery Log Entry 8======
-trtype: loop
-subnqn: blktests-subsystem-7
-=====Discovery Log Entry 9======
-trtype: loop
-subnqn: blktests-subsystem-8
-=====Discovery Log Entry 10======
-trtype: loop
-subnqn: blktests-subsystem-9
-=====Discovery Log Entry 11======
-trtype: loop
-subnqn: blktests-subsystem-10
-=====Discovery Log Entry 12======
-trtype: loop
-subnqn: blktests-subsystem-11
-=====Discovery Log Entry 13======
-trtype: loop
-subnqn: blktests-subsystem-12
-=====Discovery Log Entry 14======
-trtype: loop
-subnqn: blktests-subsystem-13
-=====Discovery Log Entry 15======
-trtype: loop
-subnqn: blktests-subsystem-14
-=====Discovery Log Entry 16======
-trtype: loop
-subnqn: blktests-subsystem-15
-=====Discovery Log Entry 17======
-trtype: loop
-subnqn: blktests-subsystem-16
-=====Discovery Log Entry 18======
-trtype: loop
-subnqn: blktests-subsystem-17
-=====Discovery Log Entry 19======
-trtype: loop
-subnqn: blktests-subsystem-18
-=====Discovery Log Entry 20======
-trtype: loop
-subnqn: blktests-subsystem-19
-=====Discovery Log Entry 21======
-trtype: loop
-subnqn: blktests-subsystem-20
-=====Discovery Log Entry 22======
-trtype: loop
-subnqn: blktests-subsystem-21
-=====Discovery Log Entry 23======
-trtype: loop
-subnqn: blktests-subsystem-22
-=====Discovery Log Entry 24======
-trtype: loop
-subnqn: blktests-subsystem-23
-=====Discovery Log Entry 25======
-trtype: loop
-subnqn: blktests-subsystem-24
-=====Discovery Log Entry 26======
-trtype: loop
-subnqn: blktests-subsystem-25
-=====Discovery Log Entry 27======
-trtype: loop
-subnqn: blktests-subsystem-26
-=====Discovery Log Entry 28======
-trtype: loop
-subnqn: blktests-subsystem-27
-=====Discovery Log Entry 29======
-trtype: loop
-subnqn: blktests-subsystem-28
-=====Discovery Log Entry 30======
-trtype: loop
-subnqn: blktests-subsystem-29
-=====Discovery Log Entry 31======
-trtype: loop
-subnqn: blktests-subsystem-30
-=====Discovery Log Entry 32======
-trtype: loop
-subnqn: blktests-subsystem-31
-=====Discovery Log Entry 33======
-trtype: loop
-subnqn: blktests-subsystem-32
-=====Discovery Log Entry 34======
-trtype: loop
-subnqn: blktests-subsystem-33
-=====Discovery Log Entry 35======
-trtype: loop
-subnqn: blktests-subsystem-34
-=====Discovery Log Entry 36======
-trtype: loop
-subnqn: blktests-subsystem-35
-=====Discovery Log Entry 37======
-trtype: loop
-subnqn: blktests-subsystem-36
-=====Discovery Log Entry 38======
-trtype: loop
-subnqn: blktests-subsystem-37
-=====Discovery Log Entry 39======
-trtype: loop
-subnqn: blktests-subsystem-38
-=====Discovery Log Entry 40======
-trtype: loop
-subnqn: blktests-subsystem-39
-=====Discovery Log Entry 41======
-trtype: loop
-subnqn: blktests-subsystem-40
-=====Discovery Log Entry 42======
-trtype: loop
-subnqn: blktests-subsystem-41
-=====Discovery Log Entry 43======
-trtype: loop
-subnqn: blktests-subsystem-42
-=====Discovery Log Entry 44======
-trtype: loop
-subnqn: blktests-subsystem-43
-=====Discovery Log Entry 45======
-trtype: loop
-subnqn: blktests-subsystem-44
-=====Discovery Log Entry 46======
-trtype: loop
-subnqn: blktests-subsystem-45
-=====Discovery Log Entry 47======
-trtype: loop
-subnqn: blktests-subsystem-46
-=====Discovery Log Entry 48======
-trtype: loop
-subnqn: blktests-subsystem-47
-=====Discovery Log Entry 49======
-trtype: loop
-subnqn: blktests-subsystem-48
-=====Discovery Log Entry 50======
-trtype: loop
-subnqn: blktests-subsystem-49
-=====Discovery Log Entry 51======
-trtype: loop
-subnqn: blktests-subsystem-50
-=====Discovery Log Entry 52======
-trtype: loop
-subnqn: blktests-subsystem-51
-=====Discovery Log Entry 53======
-trtype: loop
-subnqn: blktests-subsystem-52
-=====Discovery Log Entry 54======
-trtype: loop
-subnqn: blktests-subsystem-53
-=====Discovery Log Entry 55======
-trtype: loop
-subnqn: blktests-subsystem-54
-=====Discovery Log Entry 56======
-trtype: loop
-subnqn: blktests-subsystem-55
-=====Discovery Log Entry 57======
-trtype: loop
-subnqn: blktests-subsystem-56
-=====Discovery Log Entry 58======
-trtype: loop
-subnqn: blktests-subsystem-57
-=====Discovery Log Entry 59======
-trtype: loop
-subnqn: blktests-subsystem-58
-=====Discovery Log Entry 60======
-trtype: loop
-subnqn: blktests-subsystem-59
-=====Discovery Log Entry 61======
-trtype: loop
-subnqn: blktests-subsystem-60
-=====Discovery Log Entry 62======
-trtype: loop
-subnqn: blktests-subsystem-61
-=====Discovery Log Entry 63======
-trtype: loop
-subnqn: blktests-subsystem-62
-=====Discovery Log Entry 64======
-trtype: loop
-subnqn: blktests-subsystem-63
-=====Discovery Log Entry 65======
-trtype: loop
-subnqn: blktests-subsystem-64
-=====Discovery Log Entry 66======
-trtype: loop
-subnqn: blktests-subsystem-65
-=====Discovery Log Entry 67======
-trtype: loop
-subnqn: blktests-subsystem-66
-=====Discovery Log Entry 68======
-trtype: loop
-subnqn: blktests-subsystem-67
-=====Discovery Log Entry 69======
-trtype: loop
-subnqn: blktests-subsystem-68
-=====Discovery Log Entry 70======
-trtype: loop
-subnqn: blktests-subsystem-69
-=====Discovery Log Entry 71======
-trtype: loop
-subnqn: blktests-subsystem-70
-=====Discovery Log Entry 72======
-trtype: loop
-subnqn: blktests-subsystem-71
-=====Discovery Log Entry 73======
-trtype: loop
-subnqn: blktests-subsystem-72
-=====Discovery Log Entry 74======
-trtype: loop
-subnqn: blktests-subsystem-73
-=====Discovery Log Entry 75======
-trtype: loop
-subnqn: blktests-subsystem-74
-=====Discovery Log Entry 76======
-trtype: loop
-subnqn: blktests-subsystem-75
-=====Discovery Log Entry 77======
-trtype: loop
-subnqn: blktests-subsystem-76
-=====Discovery Log Entry 78======
-trtype: loop
-subnqn: blktests-subsystem-77
-=====Discovery Log Entry 79======
-trtype: loop
-subnqn: blktests-subsystem-78
-=====Discovery Log Entry 80======
-trtype: loop
-subnqn: blktests-subsystem-79
-=====Discovery Log Entry 81======
-trtype: loop
-subnqn: blktests-subsystem-80
-=====Discovery Log Entry 82======
-trtype: loop
-subnqn: blktests-subsystem-81
-=====Discovery Log Entry 83======
-trtype: loop
-subnqn: blktests-subsystem-82
-=====Discovery Log Entry 84======
-trtype: loop
-subnqn: blktests-subsystem-83
-=====Discovery Log Entry 85======
-trtype: loop
-subnqn: blktests-subsystem-84
-=====Discovery Log Entry 86======
-trtype: loop
-subnqn: blktests-subsystem-85
-=====Discovery Log Entry 87======
-trtype: loop
-subnqn: blktests-subsystem-86
-=====Discovery Log Entry 88======
-trtype: loop
-subnqn: blktests-subsystem-87
-=====Discovery Log Entry 89======
-trtype: loop
-subnqn: blktests-subsystem-88
-=====Discovery Log Entry 90======
-trtype: loop
-subnqn: blktests-subsystem-89
-=====Discovery Log Entry 91======
-trtype: loop
-subnqn: blktests-subsystem-90
-=====Discovery Log Entry 92======
-trtype: loop
-subnqn: blktests-subsystem-91
-=====Discovery Log Entry 93======
-trtype: loop
-subnqn: blktests-subsystem-92
-=====Discovery Log Entry 94======
-trtype: loop
-subnqn: blktests-subsystem-93
-=====Discovery Log Entry 95======
-trtype: loop
-subnqn: blktests-subsystem-94
-=====Discovery Log Entry 96======
-trtype: loop
-subnqn: blktests-subsystem-95
-=====Discovery Log Entry 97======
-trtype: loop
-subnqn: blktests-subsystem-96
-=====Discovery Log Entry 98======
-trtype: loop
-subnqn: blktests-subsystem-97
-=====Discovery Log Entry 99======
-trtype: loop
-subnqn: blktests-subsystem-98
-=====Discovery Log Entry 100======
-trtype: loop
-subnqn: blktests-subsystem-99
-=====Discovery Log Entry 101======
-trtype: loop
-subnqn: blktests-subsystem-100
-=====Discovery Log Entry 102======
-trtype: loop
-subnqn: blktests-subsystem-101
-=====Discovery Log Entry 103======
-trtype: loop
-subnqn: blktests-subsystem-102
-=====Discovery Log Entry 104======
-trtype: loop
-subnqn: blktests-subsystem-103
-=====Discovery Log Entry 105======
-trtype: loop
-subnqn: blktests-subsystem-104
-=====Discovery Log Entry 106======
-trtype: loop
-subnqn: blktests-subsystem-105
-=====Discovery Log Entry 107======
-trtype: loop
-subnqn: blktests-subsystem-106
-=====Discovery Log Entry 108======
-trtype: loop
-subnqn: blktests-subsystem-107
-=====Discovery Log Entry 109======
-trtype: loop
-subnqn: blktests-subsystem-108
-=====Discovery Log Entry 110======
-trtype: loop
-subnqn: blktests-subsystem-109
-=====Discovery Log Entry 111======
-trtype: loop
-subnqn: blktests-subsystem-110
-=====Discovery Log Entry 112======
-trtype: loop
-subnqn: blktests-subsystem-111
-=====Discovery Log Entry 113======
-trtype: loop
-subnqn: blktests-subsystem-112
-=====Discovery Log Entry 114======
-trtype: loop
-subnqn: blktests-subsystem-113
-=====Discovery Log Entry 115======
-trtype: loop
-subnqn: blktests-subsystem-114
-=====Discovery Log Entry 116======
-trtype: loop
-subnqn: blktests-subsystem-115
-=====Discovery Log Entry 117======
-trtype: loop
-subnqn: blktests-subsystem-116
-=====Discovery Log Entry 118======
-trtype: loop
-subnqn: blktests-subsystem-117
-=====Discovery Log Entry 119======
-trtype: loop
-subnqn: blktests-subsystem-118
-=====Discovery Log Entry 120======
-trtype: loop
-subnqn: blktests-subsystem-119
-=====Discovery Log Entry 121======
-trtype: loop
-subnqn: blktests-subsystem-120
-=====Discovery Log Entry 122======
-trtype: loop
-subnqn: blktests-subsystem-121
-=====Discovery Log Entry 123======
-trtype: loop
-subnqn: blktests-subsystem-122
-=====Discovery Log Entry 124======
-trtype: loop
-subnqn: blktests-subsystem-123
-=====Discovery Log Entry 125======
-trtype: loop
-subnqn: blktests-subsystem-124
-=====Discovery Log Entry 126======
-trtype: loop
-subnqn: blktests-subsystem-125
-=====Discovery Log Entry 127======
-trtype: loop
-subnqn: blktests-subsystem-126
-=====Discovery Log Entry 128======
-trtype: loop
-subnqn: blktests-subsystem-127
-=====Discovery Log Entry 129======
-trtype: loop
-subnqn: blktests-subsystem-128
-=====Discovery Log Entry 130======
-trtype: loop
-subnqn: blktests-subsystem-129
-=====Discovery Log Entry 131======
-trtype: loop
-subnqn: blktests-subsystem-130
-=====Discovery Log Entry 132======
-trtype: loop
-subnqn: blktests-subsystem-131
-=====Discovery Log Entry 133======
-trtype: loop
-subnqn: blktests-subsystem-132
-=====Discovery Log Entry 134======
-trtype: loop
-subnqn: blktests-subsystem-133
-=====Discovery Log Entry 135======
-trtype: loop
-subnqn: blktests-subsystem-134
-=====Discovery Log Entry 136======
-trtype: loop
-subnqn: blktests-subsystem-135
-=====Discovery Log Entry 137======
-trtype: loop
-subnqn: blktests-subsystem-136
-=====Discovery Log Entry 138======
-trtype: loop
-subnqn: blktests-subsystem-137
-=====Discovery Log Entry 139======
-trtype: loop
-subnqn: blktests-subsystem-138
-=====Discovery Log Entry 140======
-trtype: loop
-subnqn: blktests-subsystem-139
-=====Discovery Log Entry 141======
-trtype: loop
-subnqn: blktests-subsystem-140
-=====Discovery Log Entry 142======
-trtype: loop
-subnqn: blktests-subsystem-141
-=====Discovery Log Entry 143======
-trtype: loop
-subnqn: blktests-subsystem-142
-=====Discovery Log Entry 144======
-trtype: loop
-subnqn: blktests-subsystem-143
-=====Discovery Log Entry 145======
-trtype: loop
-subnqn: blktests-subsystem-144
-=====Discovery Log Entry 146======
-trtype: loop
-subnqn: blktests-subsystem-145
-=====Discovery Log Entry 147======
-trtype: loop
-subnqn: blktests-subsystem-146
-=====Discovery Log Entry 148======
-trtype: loop
-subnqn: blktests-subsystem-147
-=====Discovery Log Entry 149======
-trtype: loop
-subnqn: blktests-subsystem-148
-=====Discovery Log Entry 150======
-trtype: loop
-subnqn: blktests-subsystem-149
-=====Discovery Log Entry 151======
-trtype: loop
-subnqn: blktests-subsystem-150
-=====Discovery Log Entry 152======
-trtype: loop
-subnqn: blktests-subsystem-151
-=====Discovery Log Entry 153======
-trtype: loop
-subnqn: blktests-subsystem-152
-=====Discovery Log Entry 154======
-trtype: loop
-subnqn: blktests-subsystem-153
-=====Discovery Log Entry 155======
-trtype: loop
-subnqn: blktests-subsystem-154
-=====Discovery Log Entry 156======
-trtype: loop
-subnqn: blktests-subsystem-155
-=====Discovery Log Entry 157======
-trtype: loop
-subnqn: blktests-subsystem-156
-=====Discovery Log Entry 158======
-trtype: loop
-subnqn: blktests-subsystem-157
-=====Discovery Log Entry 159======
-trtype: loop
-subnqn: blktests-subsystem-158
-=====Discovery Log Entry 160======
-trtype: loop
-subnqn: blktests-subsystem-159
-=====Discovery Log Entry 161======
-trtype: loop
-subnqn: blktests-subsystem-160
-=====Discovery Log Entry 162======
-trtype: loop
-subnqn: blktests-subsystem-161
-=====Discovery Log Entry 163======
-trtype: loop
-subnqn: blktests-subsystem-162
-=====Discovery Log Entry 164======
-trtype: loop
-subnqn: blktests-subsystem-163
-=====Discovery Log Entry 165======
-trtype: loop
-subnqn: blktests-subsystem-164
-=====Discovery Log Entry 166======
-trtype: loop
-subnqn: blktests-subsystem-165
-=====Discovery Log Entry 167======
-trtype: loop
-subnqn: blktests-subsystem-166
-=====Discovery Log Entry 168======
-trtype: loop
-subnqn: blktests-subsystem-167
-=====Discovery Log Entry 169======
-trtype: loop
-subnqn: blktests-subsystem-168
-=====Discovery Log Entry 170======
-trtype: loop
-subnqn: blktests-subsystem-169
-=====Discovery Log Entry 171======
-trtype: loop
-subnqn: blktests-subsystem-170
-=====Discovery Log Entry 172======
-trtype: loop
-subnqn: blktests-subsystem-171
-=====Discovery Log Entry 173======
-trtype: loop
-subnqn: blktests-subsystem-172
-=====Discovery Log Entry 174======
-trtype: loop
-subnqn: blktests-subsystem-173
-=====Discovery Log Entry 175======
-trtype: loop
-subnqn: blktests-subsystem-174
-=====Discovery Log Entry 176======
-trtype: loop
-subnqn: blktests-subsystem-175
-=====Discovery Log Entry 177======
-trtype: loop
-subnqn: blktests-subsystem-176
-=====Discovery Log Entry 178======
-trtype: loop
-subnqn: blktests-subsystem-177
-=====Discovery Log Entry 179======
-trtype: loop
-subnqn: blktests-subsystem-178
-=====Discovery Log Entry 180======
-trtype: loop
-subnqn: blktests-subsystem-179
-=====Discovery Log Entry 181======
-trtype: loop
-subnqn: blktests-subsystem-180
-=====Discovery Log Entry 182======
-trtype: loop
-subnqn: blktests-subsystem-181
-=====Discovery Log Entry 183======
-trtype: loop
-subnqn: blktests-subsystem-182
-=====Discovery Log Entry 184======
-trtype: loop
-subnqn: blktests-subsystem-183
-=====Discovery Log Entry 185======
-trtype: loop
-subnqn: blktests-subsystem-184
-=====Discovery Log Entry 186======
-trtype: loop
-subnqn: blktests-subsystem-185
-=====Discovery Log Entry 187======
-trtype: loop
-subnqn: blktests-subsystem-186
-=====Discovery Log Entry 188======
-trtype: loop
-subnqn: blktests-subsystem-187
-=====Discovery Log Entry 189======
-trtype: loop
-subnqn: blktests-subsystem-188
-=====Discovery Log Entry 190======
-trtype: loop
-subnqn: blktests-subsystem-189
-=====Discovery Log Entry 191======
-trtype: loop
-subnqn: blktests-subsystem-190
-=====Discovery Log Entry 192======
-trtype: loop
-subnqn: blktests-subsystem-191
-=====Discovery Log Entry 193======
-trtype: loop
-subnqn: blktests-subsystem-192
-=====Discovery Log Entry 194======
-trtype: loop
-subnqn: blktests-subsystem-193
-=====Discovery Log Entry 195======
-trtype: loop
-subnqn: blktests-subsystem-194
-=====Discovery Log Entry 196======
-trtype: loop
-subnqn: blktests-subsystem-195
-=====Discovery Log Entry 197======
-trtype: loop
-subnqn: blktests-subsystem-196
-=====Discovery Log Entry 198======
-trtype: loop
-subnqn: blktests-subsystem-197
-=====Discovery Log Entry 199======
-trtype: loop
-subnqn: blktests-subsystem-198
-=====Discovery Log Entry 200======
-trtype: loop
-subnqn: blktests-subsystem-199
-=====Discovery Log Entry 201======
-trtype: loop
-subnqn: blktests-subsystem-200
-=====Discovery Log Entry 202======
-trtype: loop
-subnqn: blktests-subsystem-201
-=====Discovery Log Entry 203======
-trtype: loop
-subnqn: blktests-subsystem-202
-=====Discovery Log Entry 204======
-trtype: loop
-subnqn: blktests-subsystem-203
-=====Discovery Log Entry 205======
-trtype: loop
-subnqn: blktests-subsystem-204
-=====Discovery Log Entry 206======
-trtype: loop
-subnqn: blktests-subsystem-205
-=====Discovery Log Entry 207======
-trtype: loop
-subnqn: blktests-subsystem-206
-=====Discovery Log Entry 208======
-trtype: loop
-subnqn: blktests-subsystem-207
-=====Discovery Log Entry 209======
-trtype: loop
-subnqn: blktests-subsystem-208
-=====Discovery Log Entry 210======
-trtype: loop
-subnqn: blktests-subsystem-209
-=====Discovery Log Entry 211======
-trtype: loop
-subnqn: blktests-subsystem-210
-=====Discovery Log Entry 212======
-trtype: loop
-subnqn: blktests-subsystem-211
-=====Discovery Log Entry 213======
-trtype: loop
-subnqn: blktests-subsystem-212
-=====Discovery Log Entry 214======
-trtype: loop
-subnqn: blktests-subsystem-213
-=====Discovery Log Entry 215======
-trtype: loop
-subnqn: blktests-subsystem-214
-=====Discovery Log Entry 216======
-trtype: loop
-subnqn: blktests-subsystem-215
-=====Discovery Log Entry 217======
-trtype: loop
-subnqn: blktests-subsystem-216
-=====Discovery Log Entry 218======
-trtype: loop
-subnqn: blktests-subsystem-217
-=====Discovery Log Entry 219======
-trtype: loop
-subnqn: blktests-subsystem-218
-=====Discovery Log Entry 220======
-trtype: loop
-subnqn: blktests-subsystem-219
-=====Discovery Log Entry 221======
-trtype: loop
-subnqn: blktests-subsystem-220
-=====Discovery Log Entry 222======
-trtype: loop
-subnqn: blktests-subsystem-221
-=====Discovery Log Entry 223======
-trtype: loop
-subnqn: blktests-subsystem-222
-=====Discovery Log Entry 224======
-trtype: loop
-subnqn: blktests-subsystem-223
-=====Discovery Log Entry 225======
-trtype: loop
-subnqn: blktests-subsystem-224
-=====Discovery Log Entry 226======
-trtype: loop
-subnqn: blktests-subsystem-225
-=====Discovery Log Entry 227======
-trtype: loop
-subnqn: blktests-subsystem-226
-=====Discovery Log Entry 228======
-trtype: loop
-subnqn: blktests-subsystem-227
-=====Discovery Log Entry 229======
-trtype: loop
-subnqn: blktests-subsystem-228
-=====Discovery Log Entry 230======
-trtype: loop
-subnqn: blktests-subsystem-229
-=====Discovery Log Entry 231======
-trtype: loop
-subnqn: blktests-subsystem-230
-=====Discovery Log Entry 232======
-trtype: loop
-subnqn: blktests-subsystem-231
-=====Discovery Log Entry 233======
-trtype: loop
-subnqn: blktests-subsystem-232
-=====Discovery Log Entry 234======
-trtype: loop
-subnqn: blktests-subsystem-233
-=====Discovery Log Entry 235======
-trtype: loop
-subnqn: blktests-subsystem-234
-=====Discovery Log Entry 236======
-trtype: loop
-subnqn: blktests-subsystem-235
-=====Discovery Log Entry 237======
-trtype: loop
-subnqn: blktests-subsystem-236
-=====Discovery Log Entry 238======
-trtype: loop
-subnqn: blktests-subsystem-237
-=====Discovery Log Entry 239======
-trtype: loop
-subnqn: blktests-subsystem-238
-=====Discovery Log Entry 240======
-trtype: loop
-subnqn: blktests-subsystem-239
-=====Discovery Log Entry 241======
-trtype: loop
-subnqn: blktests-subsystem-240
-=====Discovery Log Entry 242======
-trtype: loop
-subnqn: blktests-subsystem-241
-=====Discovery Log Entry 243======
-trtype: loop
-subnqn: blktests-subsystem-242
-=====Discovery Log Entry 244======
-trtype: loop
-subnqn: blktests-subsystem-243
-=====Discovery Log Entry 245======
-trtype: loop
-subnqn: blktests-subsystem-244
-=====Discovery Log Entry 246======
-trtype: loop
-subnqn: blktests-subsystem-245
-=====Discovery Log Entry 247======
-trtype: loop
-subnqn: blktests-subsystem-246
-=====Discovery Log Entry 248======
-trtype: loop
-subnqn: blktests-subsystem-247
-=====Discovery Log Entry 249======
-trtype: loop
-subnqn: blktests-subsystem-248
-=====Discovery Log Entry 250======
-trtype: loop
-subnqn: blktests-subsystem-249
-=====Discovery Log Entry 251======
-trtype: loop
-subnqn: blktests-subsystem-250
-=====Discovery Log Entry 252======
-trtype: loop
-subnqn: blktests-subsystem-251
-=====Discovery Log Entry 253======
-trtype: loop
-subnqn: blktests-subsystem-252
-=====Discovery Log Entry 254======
-trtype: loop
-subnqn: blktests-subsystem-253
-=====Discovery Log Entry 255======
-trtype: loop
-subnqn: blktests-subsystem-254
-=====Discovery Log Entry 256======
-trtype: loop
-subnqn: blktests-subsystem-255
-=====Discovery Log Entry 257======
-trtype: loop
-subnqn: blktests-subsystem-256
-=====Discovery Log Entry 258======
-trtype: loop
-subnqn: blktests-subsystem-257
-=====Discovery Log Entry 259======
-trtype: loop
-subnqn: blktests-subsystem-258
-=====Discovery Log Entry 260======
-trtype: loop
-subnqn: blktests-subsystem-259
-=====Discovery Log Entry 261======
-trtype: loop
-subnqn: blktests-subsystem-260
-=====Discovery Log Entry 262======
-trtype: loop
-subnqn: blktests-subsystem-261
-=====Discovery Log Entry 263======
-trtype: loop
-subnqn: blktests-subsystem-262
-=====Discovery Log Entry 264======
-trtype: loop
-subnqn: blktests-subsystem-263
-=====Discovery Log Entry 265======
-trtype: loop
-subnqn: blktests-subsystem-264
-=====Discovery Log Entry 266======
-trtype: loop
-subnqn: blktests-subsystem-265
-=====Discovery Log Entry 267======
-trtype: loop
-subnqn: blktests-subsystem-266
-=====Discovery Log Entry 268======
-trtype: loop
-subnqn: blktests-subsystem-267
-=====Discovery Log Entry 269======
-trtype: loop
-subnqn: blktests-subsystem-268
-=====Discovery Log Entry 270======
-trtype: loop
-subnqn: blktests-subsystem-269
-=====Discovery Log Entry 271======
-trtype: loop
-subnqn: blktests-subsystem-270
-=====Discovery Log Entry 272======
-trtype: loop
-subnqn: blktests-subsystem-271
-=====Discovery Log Entry 273======
-trtype: loop
-subnqn: blktests-subsystem-272
-=====Discovery Log Entry 274======
-trtype: loop
-subnqn: blktests-subsystem-273
-=====Discovery Log Entry 275======
-trtype: loop
-subnqn: blktests-subsystem-274
-=====Discovery Log Entry 276======
-trtype: loop
-subnqn: blktests-subsystem-275
-=====Discovery Log Entry 277======
-trtype: loop
-subnqn: blktests-subsystem-276
-=====Discovery Log Entry 278======
-trtype: loop
-subnqn: blktests-subsystem-277
-=====Discovery Log Entry 279======
-trtype: loop
-subnqn: blktests-subsystem-278
-=====Discovery Log Entry 280======
-trtype: loop
-subnqn: blktests-subsystem-279
-=====Discovery Log Entry 281======
-trtype: loop
-subnqn: blktests-subsystem-280
-=====Discovery Log Entry 282======
-trtype: loop
-subnqn: blktests-subsystem-281
-=====Discovery Log Entry 283======
-trtype: loop
-subnqn: blktests-subsystem-282
-=====Discovery Log Entry 284======
-trtype: loop
-subnqn: blktests-subsystem-283
-=====Discovery Log Entry 285======
-trtype: loop
-subnqn: blktests-subsystem-284
-=====Discovery Log Entry 286======
-trtype: loop
-subnqn: blktests-subsystem-285
-=====Discovery Log Entry 287======
-trtype: loop
-subnqn: blktests-subsystem-286
-=====Discovery Log Entry 288======
-trtype: loop
-subnqn: blktests-subsystem-287
-=====Discovery Log Entry 289======
-trtype: loop
-subnqn: blktests-subsystem-288
-=====Discovery Log Entry 290======
-trtype: loop
-subnqn: blktests-subsystem-289
-=====Discovery Log Entry 291======
-trtype: loop
-subnqn: blktests-subsystem-290
-=====Discovery Log Entry 292======
-trtype: loop
-subnqn: blktests-subsystem-291
-=====Discovery Log Entry 293======
-trtype: loop
-subnqn: blktests-subsystem-292
-=====Discovery Log Entry 294======
-trtype: loop
-subnqn: blktests-subsystem-293
-=====Discovery Log Entry 295======
-trtype: loop
-subnqn: blktests-subsystem-294
-=====Discovery Log Entry 296======
-trtype: loop
-subnqn: blktests-subsystem-295
-=====Discovery Log Entry 297======
-trtype: loop
-subnqn: blktests-subsystem-296
-=====Discovery Log Entry 298======
-trtype: loop
-subnqn: blktests-subsystem-297
-=====Discovery Log Entry 299======
-trtype: loop
-subnqn: blktests-subsystem-298
-=====Discovery Log Entry 300======
-trtype: loop
-subnqn: blktests-subsystem-299
-=====Discovery Log Entry 301======
-trtype: loop
-subnqn: blktests-subsystem-300
-=====Discovery Log Entry 302======
-trtype: loop
-subnqn: blktests-subsystem-301
-=====Discovery Log Entry 303======
-trtype: loop
-subnqn: blktests-subsystem-302
-=====Discovery Log Entry 304======
-trtype: loop
-subnqn: blktests-subsystem-303
-=====Discovery Log Entry 305======
-trtype: loop
-subnqn: blktests-subsystem-304
-=====Discovery Log Entry 306======
-trtype: loop
-subnqn: blktests-subsystem-305
-=====Discovery Log Entry 307======
-trtype: loop
-subnqn: blktests-subsystem-306
-=====Discovery Log Entry 308======
-trtype: loop
-subnqn: blktests-subsystem-307
-=====Discovery Log Entry 309======
-trtype: loop
-subnqn: blktests-subsystem-308
-=====Discovery Log Entry 310======
-trtype: loop
-subnqn: blktests-subsystem-309
-=====Discovery Log Entry 311======
-trtype: loop
-subnqn: blktests-subsystem-310
-=====Discovery Log Entry 312======
-trtype: loop
-subnqn: blktests-subsystem-311
-=====Discovery Log Entry 313======
-trtype: loop
-subnqn: blktests-subsystem-312
-=====Discovery Log Entry 314======
-trtype: loop
-subnqn: blktests-subsystem-313
-=====Discovery Log Entry 315======
-trtype: loop
-subnqn: blktests-subsystem-314
-=====Discovery Log Entry 316======
-trtype: loop
-subnqn: blktests-subsystem-315
-=====Discovery Log Entry 317======
-trtype: loop
-subnqn: blktests-subsystem-316
-=====Discovery Log Entry 318======
-trtype: loop
-subnqn: blktests-subsystem-317
-=====Discovery Log Entry 319======
-trtype: loop
-subnqn: blktests-subsystem-318
-=====Discovery Log Entry 320======
-trtype: loop
-subnqn: blktests-subsystem-319
-=====Discovery Log Entry 321======
-trtype: loop
-subnqn: blktests-subsystem-320
-=====Discovery Log Entry 322======
-trtype: loop
-subnqn: blktests-subsystem-321
-=====Discovery Log Entry 323======
-trtype: loop
-subnqn: blktests-subsystem-322
-=====Discovery Log Entry 324======
-trtype: loop
-subnqn: blktests-subsystem-323
-=====Discovery Log Entry 325======
-trtype: loop
-subnqn: blktests-subsystem-324
-=====Discovery Log Entry 326======
-trtype: loop
-subnqn: blktests-subsystem-325
-=====Discovery Log Entry 327======
-trtype: loop
-subnqn: blktests-subsystem-326
-=====Discovery Log Entry 328======
-trtype: loop
-subnqn: blktests-subsystem-327
-=====Discovery Log Entry 329======
-trtype: loop
-subnqn: blktests-subsystem-328
-=====Discovery Log Entry 330======
-trtype: loop
-subnqn: blktests-subsystem-329
-=====Discovery Log Entry 331======
-trtype: loop
-subnqn: blktests-subsystem-330
-=====Discovery Log Entry 332======
-trtype: loop
-subnqn: blktests-subsystem-331
-=====Discovery Log Entry 333======
-trtype: loop
-subnqn: blktests-subsystem-332
-=====Discovery Log Entry 334======
-trtype: loop
-subnqn: blktests-subsystem-333
-=====Discovery Log Entry 335======
-trtype: loop
-subnqn: blktests-subsystem-334
-=====Discovery Log Entry 336======
-trtype: loop
-subnqn: blktests-subsystem-335
-=====Discovery Log Entry 337======
-trtype: loop
-subnqn: blktests-subsystem-336
-=====Discovery Log Entry 338======
-trtype: loop
-subnqn: blktests-subsystem-337
-=====Discovery Log Entry 339======
-trtype: loop
-subnqn: blktests-subsystem-338
-=====Discovery Log Entry 340======
-trtype: loop
-subnqn: blktests-subsystem-339
-=====Discovery Log Entry 341======
-trtype: loop
-subnqn: blktests-subsystem-340
-=====Discovery Log Entry 342======
-trtype: loop
-subnqn: blktests-subsystem-341
-=====Discovery Log Entry 343======
-trtype: loop
-subnqn: blktests-subsystem-342
-=====Discovery Log Entry 344======
-trtype: loop
-subnqn: blktests-subsystem-343
-=====Discovery Log Entry 345======
-trtype: loop
-subnqn: blktests-subsystem-344
-=====Discovery Log Entry 346======
-trtype: loop
-subnqn: blktests-subsystem-345
-=====Discovery Log Entry 347======
-trtype: loop
-subnqn: blktests-subsystem-346
-=====Discovery Log Entry 348======
-trtype: loop
-subnqn: blktests-subsystem-347
-=====Discovery Log Entry 349======
-trtype: loop
-subnqn: blktests-subsystem-348
-=====Discovery Log Entry 350======
-trtype: loop
-subnqn: blktests-subsystem-349
-=====Discovery Log Entry 351======
-trtype: loop
-subnqn: blktests-subsystem-350
-=====Discovery Log Entry 352======
-trtype: loop
-subnqn: blktests-subsystem-351
-=====Discovery Log Entry 353======
-trtype: loop
-subnqn: blktests-subsystem-352
-=====Discovery Log Entry 354======
-trtype: loop
-subnqn: blktests-subsystem-353
-=====Discovery Log Entry 355======
-trtype: loop
-subnqn: blktests-subsystem-354
-=====Discovery Log Entry 356======
-trtype: loop
-subnqn: blktests-subsystem-355
-=====Discovery Log Entry 357======
-trtype: loop
-subnqn: blktests-subsystem-356
-=====Discovery Log Entry 358======
-trtype: loop
-subnqn: blktests-subsystem-357
-=====Discovery Log Entry 359======
-trtype: loop
-subnqn: blktests-subsystem-358
-=====Discovery Log Entry 360======
-trtype: loop
-subnqn: blktests-subsystem-359
-=====Discovery Log Entry 361======
-trtype: loop
-subnqn: blktests-subsystem-360
-=====Discovery Log Entry 362======
-trtype: loop
-subnqn: blktests-subsystem-361
-=====Discovery Log Entry 363======
-trtype: loop
-subnqn: blktests-subsystem-362
-=====Discovery Log Entry 364======
-trtype: loop
-subnqn: blktests-subsystem-363
-=====Discovery Log Entry 365======
-trtype: loop
-subnqn: blktests-subsystem-364
-=====Discovery Log Entry 366======
-trtype: loop
-subnqn: blktests-subsystem-365
-=====Discovery Log Entry 367======
-trtype: loop
-subnqn: blktests-subsystem-366
-=====Discovery Log Entry 368======
-trtype: loop
-subnqn: blktests-subsystem-367
-=====Discovery Log Entry 369======
-trtype: loop
-subnqn: blktests-subsystem-368
-=====Discovery Log Entry 370======
-trtype: loop
-subnqn: blktests-subsystem-369
-=====Discovery Log Entry 371======
-trtype: loop
-subnqn: blktests-subsystem-370
-=====Discovery Log Entry 372======
-trtype: loop
-subnqn: blktests-subsystem-371
-=====Discovery Log Entry 373======
-trtype: loop
-subnqn: blktests-subsystem-372
-=====Discovery Log Entry 374======
-trtype: loop
-subnqn: blktests-subsystem-373
-=====Discovery Log Entry 375======
-trtype: loop
-subnqn: blktests-subsystem-374
-=====Discovery Log Entry 376======
-trtype: loop
-subnqn: blktests-subsystem-375
-=====Discovery Log Entry 377======
-trtype: loop
-subnqn: blktests-subsystem-376
-=====Discovery Log Entry 378======
-trtype: loop
-subnqn: blktests-subsystem-377
-=====Discovery Log Entry 379======
-trtype: loop
-subnqn: blktests-subsystem-378
-=====Discovery Log Entry 380======
-trtype: loop
-subnqn: blktests-subsystem-379
-=====Discovery Log Entry 381======
-trtype: loop
-subnqn: blktests-subsystem-380
-=====Discovery Log Entry 382======
-trtype: loop
-subnqn: blktests-subsystem-381
-=====Discovery Log Entry 383======
-trtype: loop
-subnqn: blktests-subsystem-382
-=====Discovery Log Entry 384======
-trtype: loop
-subnqn: blktests-subsystem-383
-=====Discovery Log Entry 385======
-trtype: loop
-subnqn: blktests-subsystem-384
-=====Discovery Log Entry 386======
-trtype: loop
-subnqn: blktests-subsystem-385
-=====Discovery Log Entry 387======
-trtype: loop
-subnqn: blktests-subsystem-386
-=====Discovery Log Entry 388======
-trtype: loop
-subnqn: blktests-subsystem-387
-=====Discovery Log Entry 389======
-trtype: loop
-subnqn: blktests-subsystem-388
-=====Discovery Log Entry 390======
-trtype: loop
-subnqn: blktests-subsystem-389
-=====Discovery Log Entry 391======
-trtype: loop
-subnqn: blktests-subsystem-390
-=====Discovery Log Entry 392======
-trtype: loop
-subnqn: blktests-subsystem-391
-=====Discovery Log Entry 393======
-trtype: loop
-subnqn: blktests-subsystem-392
-=====Discovery Log Entry 394======
-trtype: loop
-subnqn: blktests-subsystem-393
-=====Discovery Log Entry 395======
-trtype: loop
-subnqn: blktests-subsystem-394
-=====Discovery Log Entry 396======
-trtype: loop
-subnqn: blktests-subsystem-395
-=====Discovery Log Entry 397======
-trtype: loop
-subnqn: blktests-subsystem-396
-=====Discovery Log Entry 398======
-trtype: loop
-subnqn: blktests-subsystem-397
-=====Discovery Log Entry 399======
-trtype: loop
-subnqn: blktests-subsystem-398
-=====Discovery Log Entry 400======
-trtype: loop
-subnqn: blktests-subsystem-399
-=====Discovery Log Entry 401======
-trtype: loop
-subnqn: blktests-subsystem-400
-=====Discovery Log Entry 402======
-trtype: loop
-subnqn: blktests-subsystem-401
-=====Discovery Log Entry 403======
-trtype: loop
-subnqn: blktests-subsystem-402
-=====Discovery Log Entry 404======
-trtype: loop
-subnqn: blktests-subsystem-403
-=====Discovery Log Entry 405======
-trtype: loop
-subnqn: blktests-subsystem-404
-=====Discovery Log Entry 406======
-trtype: loop
-subnqn: blktests-subsystem-405
-=====Discovery Log Entry 407======
-trtype: loop
-subnqn: blktests-subsystem-406
-=====Discovery Log Entry 408======
-trtype: loop
-subnqn: blktests-subsystem-407
-=====Discovery Log Entry 409======
-trtype: loop
-subnqn: blktests-subsystem-408
-=====Discovery Log Entry 410======
-trtype: loop
-subnqn: blktests-subsystem-409
-=====Discovery Log Entry 411======
-trtype: loop
-subnqn: blktests-subsystem-410
-=====Discovery Log Entry 412======
-trtype: loop
-subnqn: blktests-subsystem-411
-=====Discovery Log Entry 413======
-trtype: loop
-subnqn: blktests-subsystem-412
-=====Discovery Log Entry 414======
-trtype: loop
-subnqn: blktests-subsystem-413
-=====Discovery Log Entry 415======
-trtype: loop
-subnqn: blktests-subsystem-414
-=====Discovery Log Entry 416======
-trtype: loop
-subnqn: blktests-subsystem-415
-=====Discovery Log Entry 417======
-trtype: loop
-subnqn: blktests-subsystem-416
-=====Discovery Log Entry 418======
-trtype: loop
-subnqn: blktests-subsystem-417
-=====Discovery Log Entry 419======
-trtype: loop
-subnqn: blktests-subsystem-418
-=====Discovery Log Entry 420======
-trtype: loop
-subnqn: blktests-subsystem-419
-=====Discovery Log Entry 421======
-trtype: loop
-subnqn: blktests-subsystem-420
-=====Discovery Log Entry 422======
-trtype: loop
-subnqn: blktests-subsystem-421
-=====Discovery Log Entry 423======
-trtype: loop
-subnqn: blktests-subsystem-422
-=====Discovery Log Entry 424======
-trtype: loop
-subnqn: blktests-subsystem-423
-=====Discovery Log Entry 425======
-trtype: loop
-subnqn: blktests-subsystem-424
-=====Discovery Log Entry 426======
-trtype: loop
-subnqn: blktests-subsystem-425
-=====Discovery Log Entry 427======
-trtype: loop
-subnqn: blktests-subsystem-426
-=====Discovery Log Entry 428======
-trtype: loop
-subnqn: blktests-subsystem-427
-=====Discovery Log Entry 429======
-trtype: loop
-subnqn: blktests-subsystem-428
-=====Discovery Log Entry 430======
-trtype: loop
-subnqn: blktests-subsystem-429
-=====Discovery Log Entry 431======
-trtype: loop
-subnqn: blktests-subsystem-430
-=====Discovery Log Entry 432======
-trtype: loop
-subnqn: blktests-subsystem-431
-=====Discovery Log Entry 433======
-trtype: loop
-subnqn: blktests-subsystem-432
-=====Discovery Log Entry 434======
-trtype: loop
-subnqn: blktests-subsystem-433
-=====Discovery Log Entry 435======
-trtype: loop
-subnqn: blktests-subsystem-434
-=====Discovery Log Entry 436======
-trtype: loop
-subnqn: blktests-subsystem-435
-=====Discovery Log Entry 437======
-trtype: loop
-subnqn: blktests-subsystem-436
-=====Discovery Log Entry 438======
-trtype: loop
-subnqn: blktests-subsystem-437
-=====Discovery Log Entry 439======
-trtype: loop
-subnqn: blktests-subsystem-438
-=====Discovery Log Entry 440======
-trtype: loop
-subnqn: blktests-subsystem-439
-=====Discovery Log Entry 441======
-trtype: loop
-subnqn: blktests-subsystem-440
-=====Discovery Log Entry 442======
-trtype: loop
-subnqn: blktests-subsystem-441
-=====Discovery Log Entry 443======
-trtype: loop
-subnqn: blktests-subsystem-442
-=====Discovery Log Entry 444======
-trtype: loop
-subnqn: blktests-subsystem-443
-=====Discovery Log Entry 445======
-trtype: loop
-subnqn: blktests-subsystem-444
-=====Discovery Log Entry 446======
-trtype: loop
-subnqn: blktests-subsystem-445
-=====Discovery Log Entry 447======
-trtype: loop
-subnqn: blktests-subsystem-446
-=====Discovery Log Entry 448======
-trtype: loop
-subnqn: blktests-subsystem-447
-=====Discovery Log Entry 449======
-trtype: loop
-subnqn: blktests-subsystem-448
-=====Discovery Log Entry 450======
-trtype: loop
-subnqn: blktests-subsystem-449
-=====Discovery Log Entry 451======
-trtype: loop
-subnqn: blktests-subsystem-450
-=====Discovery Log Entry 452======
-trtype: loop
-subnqn: blktests-subsystem-451
-=====Discovery Log Entry 453======
-trtype: loop
-subnqn: blktests-subsystem-452
-=====Discovery Log Entry 454======
-trtype: loop
-subnqn: blktests-subsystem-453
-=====Discovery Log Entry 455======
-trtype: loop
-subnqn: blktests-subsystem-454
-=====Discovery Log Entry 456======
-trtype: loop
-subnqn: blktests-subsystem-455
-=====Discovery Log Entry 457======
-trtype: loop
-subnqn: blktests-subsystem-456
-=====Discovery Log Entry 458======
-trtype: loop
-subnqn: blktests-subsystem-457
-=====Discovery Log Entry 459======
-trtype: loop
-subnqn: blktests-subsystem-458
-=====Discovery Log Entry 460======
-trtype: loop
-subnqn: blktests-subsystem-459
-=====Discovery Log Entry 461======
-trtype: loop
-subnqn: blktests-subsystem-460
-=====Discovery Log Entry 462======
-trtype: loop
-subnqn: blktests-subsystem-461
-=====Discovery Log Entry 463======
-trtype: loop
-subnqn: blktests-subsystem-462
-=====Discovery Log Entry 464======
-trtype: loop
-subnqn: blktests-subsystem-463
-=====Discovery Log Entry 465======
-trtype: loop
-subnqn: blktests-subsystem-464
-=====Discovery Log Entry 466======
-trtype: loop
-subnqn: blktests-subsystem-465
-=====Discovery Log Entry 467======
-trtype: loop
-subnqn: blktests-subsystem-466
-=====Discovery Log Entry 468======
-trtype: loop
-subnqn: blktests-subsystem-467
-=====Discovery Log Entry 469======
-trtype: loop
-subnqn: blktests-subsystem-468
-=====Discovery Log Entry 470======
-trtype: loop
-subnqn: blktests-subsystem-469
-=====Discovery Log Entry 471======
-trtype: loop
-subnqn: blktests-subsystem-470
-=====Discovery Log Entry 472======
-trtype: loop
-subnqn: blktests-subsystem-471
-=====Discovery Log Entry 473======
-trtype: loop
-subnqn: blktests-subsystem-472
-=====Discovery Log Entry 474======
-trtype: loop
-subnqn: blktests-subsystem-473
-=====Discovery Log Entry 475======
-trtype: loop
-subnqn: blktests-subsystem-474
-=====Discovery Log Entry 476======
-trtype: loop
-subnqn: blktests-subsystem-475
-=====Discovery Log Entry 477======
-trtype: loop
-subnqn: blktests-subsystem-476
-=====Discovery Log Entry 478======
-trtype: loop
-subnqn: blktests-subsystem-477
-=====Discovery Log Entry 479======
-trtype: loop
-subnqn: blktests-subsystem-478
-=====Discovery Log Entry 480======
-trtype: loop
-subnqn: blktests-subsystem-479
-=====Discovery Log Entry 481======
-trtype: loop
-subnqn: blktests-subsystem-480
-=====Discovery Log Entry 482======
-trtype: loop
-subnqn: blktests-subsystem-481
-=====Discovery Log Entry 483======
-trtype: loop
-subnqn: blktests-subsystem-482
-=====Discovery Log Entry 484======
-trtype: loop
-subnqn: blktests-subsystem-483
-=====Discovery Log Entry 485======
-trtype: loop
-subnqn: blktests-subsystem-484
-=====Discovery Log Entry 486======
-trtype: loop
-subnqn: blktests-subsystem-485
-=====Discovery Log Entry 487======
-trtype: loop
-subnqn: blktests-subsystem-486
-=====Discovery Log Entry 488======
-trtype: loop
-subnqn: blktests-subsystem-487
-=====Discovery Log Entry 489======
-trtype: loop
-subnqn: blktests-subsystem-488
-=====Discovery Log Entry 490======
-trtype: loop
-subnqn: blktests-subsystem-489
-=====Discovery Log Entry 491======
-trtype: loop
-subnqn: blktests-subsystem-490
-=====Discovery Log Entry 492======
-trtype: loop
-subnqn: blktests-subsystem-491
-=====Discovery Log Entry 493======
-trtype: loop
-subnqn: blktests-subsystem-492
-=====Discovery Log Entry 494======
-trtype: loop
-subnqn: blktests-subsystem-493
-=====Discovery Log Entry 495======
-trtype: loop
-subnqn: blktests-subsystem-494
-=====Discovery Log Entry 496======
-trtype: loop
-subnqn: blktests-subsystem-495
-=====Discovery Log Entry 497======
-trtype: loop
-subnqn: blktests-subsystem-496
-=====Discovery Log Entry 498======
-trtype: loop
-subnqn: blktests-subsystem-497
-=====Discovery Log Entry 499======
-trtype: loop
-subnqn: blktests-subsystem-498
-=====Discovery Log Entry 500======
-trtype: loop
-subnqn: blktests-subsystem-499
-=====Discovery Log Entry 501======
-trtype: loop
-subnqn: blktests-subsystem-500
-=====Discovery Log Entry 502======
-trtype: loop
-subnqn: blktests-subsystem-501
-=====Discovery Log Entry 503======
-trtype: loop
-subnqn: blktests-subsystem-502
-=====Discovery Log Entry 504======
-trtype: loop
-subnqn: blktests-subsystem-503
-=====Discovery Log Entry 505======
-trtype: loop
-subnqn: blktests-subsystem-504
-=====Discovery Log Entry 506======
-trtype: loop
-subnqn: blktests-subsystem-505
-=====Discovery Log Entry 507======
-trtype: loop
-subnqn: blktests-subsystem-506
-=====Discovery Log Entry 508======
-trtype: loop
-subnqn: blktests-subsystem-507
-=====Discovery Log Entry 509======
-trtype: loop
-subnqn: blktests-subsystem-508
-=====Discovery Log Entry 510======
-trtype: loop
-subnqn: blktests-subsystem-509
-=====Discovery Log Entry 511======
-trtype: loop
-subnqn: blktests-subsystem-510
-=====Discovery Log Entry 512======
-trtype: loop
-subnqn: blktests-subsystem-511
-=====Discovery Log Entry 513======
-trtype: loop
-subnqn: blktests-subsystem-512
-=====Discovery Log Entry 514======
-trtype: loop
-subnqn: blktests-subsystem-513
-=====Discovery Log Entry 515======
-trtype: loop
-subnqn: blktests-subsystem-514
-=====Discovery Log Entry 516======
-trtype: loop
-subnqn: blktests-subsystem-515
-=====Discovery Log Entry 517======
-trtype: loop
-subnqn: blktests-subsystem-516
-=====Discovery Log Entry 518======
-trtype: loop
-subnqn: blktests-subsystem-517
-=====Discovery Log Entry 519======
-trtype: loop
-subnqn: blktests-subsystem-518
-=====Discovery Log Entry 520======
-trtype: loop
-subnqn: blktests-subsystem-519
-=====Discovery Log Entry 521======
-trtype: loop
-subnqn: blktests-subsystem-520
-=====Discovery Log Entry 522======
-trtype: loop
-subnqn: blktests-subsystem-521
-=====Discovery Log Entry 523======
-trtype: loop
-subnqn: blktests-subsystem-522
-=====Discovery Log Entry 524======
-trtype: loop
-subnqn: blktests-subsystem-523
-=====Discovery Log Entry 525======
-trtype: loop
-subnqn: blktests-subsystem-524
-=====Discovery Log Entry 526======
-trtype: loop
-subnqn: blktests-subsystem-525
-=====Discovery Log Entry 527======
-trtype: loop
-subnqn: blktests-subsystem-526
-=====Discovery Log Entry 528======
-trtype: loop
-subnqn: blktests-subsystem-527
-=====Discovery Log Entry 529======
-trtype: loop
-subnqn: blktests-subsystem-528
-=====Discovery Log Entry 530======
-trtype: loop
-subnqn: blktests-subsystem-529
-=====Discovery Log Entry 531======
-trtype: loop
-subnqn: blktests-subsystem-530
-=====Discovery Log Entry 532======
-trtype: loop
-subnqn: blktests-subsystem-531
-=====Discovery Log Entry 533======
-trtype: loop
-subnqn: blktests-subsystem-532
-=====Discovery Log Entry 534======
-trtype: loop
-subnqn: blktests-subsystem-533
-=====Discovery Log Entry 535======
-trtype: loop
-subnqn: blktests-subsystem-534
-=====Discovery Log Entry 536======
-trtype: loop
-subnqn: blktests-subsystem-535
-=====Discovery Log Entry 537======
-trtype: loop
-subnqn: blktests-subsystem-536
-=====Discovery Log Entry 538======
-trtype: loop
-subnqn: blktests-subsystem-537
-=====Discovery Log Entry 539======
-trtype: loop
-subnqn: blktests-subsystem-538
-=====Discovery Log Entry 540======
-trtype: loop
-subnqn: blktests-subsystem-539
-=====Discovery Log Entry 541======
-trtype: loop
-subnqn: blktests-subsystem-540
-=====Discovery Log Entry 542======
-trtype: loop
-subnqn: blktests-subsystem-541
-=====Discovery Log Entry 543======
-trtype: loop
-subnqn: blktests-subsystem-542
-=====Discovery Log Entry 544======
-trtype: loop
-subnqn: blktests-subsystem-543
-=====Discovery Log Entry 545======
-trtype: loop
-subnqn: blktests-subsystem-544
-=====Discovery Log Entry 546======
-trtype: loop
-subnqn: blktests-subsystem-545
-=====Discovery Log Entry 547======
-trtype: loop
-subnqn: blktests-subsystem-546
-=====Discovery Log Entry 548======
-trtype: loop
-subnqn: blktests-subsystem-547
-=====Discovery Log Entry 549======
-trtype: loop
-subnqn: blktests-subsystem-548
-=====Discovery Log Entry 550======
-trtype: loop
-subnqn: blktests-subsystem-549
-=====Discovery Log Entry 551======
-trtype: loop
-subnqn: blktests-subsystem-550
-=====Discovery Log Entry 552======
-trtype: loop
-subnqn: blktests-subsystem-551
-=====Discovery Log Entry 553======
-trtype: loop
-subnqn: blktests-subsystem-552
-=====Discovery Log Entry 554======
-trtype: loop
-subnqn: blktests-subsystem-553
-=====Discovery Log Entry 555======
-trtype: loop
-subnqn: blktests-subsystem-554
-=====Discovery Log Entry 556======
-trtype: loop
-subnqn: blktests-subsystem-555
-=====Discovery Log Entry 557======
-trtype: loop
-subnqn: blktests-subsystem-556
-=====Discovery Log Entry 558======
-trtype: loop
-subnqn: blktests-subsystem-557
-=====Discovery Log Entry 559======
-trtype: loop
-subnqn: blktests-subsystem-558
-=====Discovery Log Entry 560======
-trtype: loop
-subnqn: blktests-subsystem-559
-=====Discovery Log Entry 561======
-trtype: loop
-subnqn: blktests-subsystem-560
-=====Discovery Log Entry 562======
-trtype: loop
-subnqn: blktests-subsystem-561
-=====Discovery Log Entry 563======
-trtype: loop
-subnqn: blktests-subsystem-562
-=====Discovery Log Entry 564======
-trtype: loop
-subnqn: blktests-subsystem-563
-=====Discovery Log Entry 565======
-trtype: loop
-subnqn: blktests-subsystem-564
-=====Discovery Log Entry 566======
-trtype: loop
-subnqn: blktests-subsystem-565
-=====Discovery Log Entry 567======
-trtype: loop
-subnqn: blktests-subsystem-566
-=====Discovery Log Entry 568======
-trtype: loop
-subnqn: blktests-subsystem-567
-=====Discovery Log Entry 569======
-trtype: loop
-subnqn: blktests-subsystem-568
-=====Discovery Log Entry 570======
-trtype: loop
-subnqn: blktests-subsystem-569
-=====Discovery Log Entry 571======
-trtype: loop
-subnqn: blktests-subsystem-570
-=====Discovery Log Entry 572======
-trtype: loop
-subnqn: blktests-subsystem-571
-=====Discovery Log Entry 573======
-trtype: loop
-subnqn: blktests-subsystem-572
-=====Discovery Log Entry 574======
-trtype: loop
-subnqn: blktests-subsystem-573
-=====Discovery Log Entry 575======
-trtype: loop
-subnqn: blktests-subsystem-574
-=====Discovery Log Entry 576======
-trtype: loop
-subnqn: blktests-subsystem-575
-=====Discovery Log Entry 577======
-trtype: loop
-subnqn: blktests-subsystem-576
-=====Discovery Log Entry 578======
-trtype: loop
-subnqn: blktests-subsystem-577
-=====Discovery Log Entry 579======
-trtype: loop
-subnqn: blktests-subsystem-578
-=====Discovery Log Entry 580======
-trtype: loop
-subnqn: blktests-subsystem-579
-=====Discovery Log Entry 581======
-trtype: loop
-subnqn: blktests-subsystem-580
-=====Discovery Log Entry 582======
-trtype: loop
-subnqn: blktests-subsystem-581
-=====Discovery Log Entry 583======
-trtype: loop
-subnqn: blktests-subsystem-582
-=====Discovery Log Entry 584======
-trtype: loop
-subnqn: blktests-subsystem-583
-=====Discovery Log Entry 585======
-trtype: loop
-subnqn: blktests-subsystem-584
-=====Discovery Log Entry 586======
-trtype: loop
-subnqn: blktests-subsystem-585
-=====Discovery Log Entry 587======
-trtype: loop
-subnqn: blktests-subsystem-586
-=====Discovery Log Entry 588======
-trtype: loop
-subnqn: blktests-subsystem-587
-=====Discovery Log Entry 589======
-trtype: loop
-subnqn: blktests-subsystem-588
-=====Discovery Log Entry 590======
-trtype: loop
-subnqn: blktests-subsystem-589
-=====Discovery Log Entry 591======
-trtype: loop
-subnqn: blktests-subsystem-590
-=====Discovery Log Entry 592======
-trtype: loop
-subnqn: blktests-subsystem-591
-=====Discovery Log Entry 593======
-trtype: loop
-subnqn: blktests-subsystem-592
-=====Discovery Log Entry 594======
-trtype: loop
-subnqn: blktests-subsystem-593
-=====Discovery Log Entry 595======
-trtype: loop
-subnqn: blktests-subsystem-594
-=====Discovery Log Entry 596======
-trtype: loop
-subnqn: blktests-subsystem-595
-=====Discovery Log Entry 597======
-trtype: loop
-subnqn: blktests-subsystem-596
-=====Discovery Log Entry 598======
-trtype: loop
-subnqn: blktests-subsystem-597
-=====Discovery Log Entry 599======
-trtype: loop
-subnqn: blktests-subsystem-598
-=====Discovery Log Entry 600======
-trtype: loop
-subnqn: blktests-subsystem-599
-=====Discovery Log Entry 601======
-trtype: loop
-subnqn: blktests-subsystem-600
-=====Discovery Log Entry 602======
-trtype: loop
-subnqn: blktests-subsystem-601
-=====Discovery Log Entry 603======
-trtype: loop
-subnqn: blktests-subsystem-602
-=====Discovery Log Entry 604======
-trtype: loop
-subnqn: blktests-subsystem-603
-=====Discovery Log Entry 605======
-trtype: loop
-subnqn: blktests-subsystem-604
-=====Discovery Log Entry 606======
-trtype: loop
-subnqn: blktests-subsystem-605
-=====Discovery Log Entry 607======
-trtype: loop
-subnqn: blktests-subsystem-606
-=====Discovery Log Entry 608======
-trtype: loop
-subnqn: blktests-subsystem-607
-=====Discovery Log Entry 609======
-trtype: loop
-subnqn: blktests-subsystem-608
-=====Discovery Log Entry 610======
-trtype: loop
-subnqn: blktests-subsystem-609
-=====Discovery Log Entry 611======
-trtype: loop
-subnqn: blktests-subsystem-610
-=====Discovery Log Entry 612======
-trtype: loop
-subnqn: blktests-subsystem-611
-=====Discovery Log Entry 613======
-trtype: loop
-subnqn: blktests-subsystem-612
-=====Discovery Log Entry 614======
-trtype: loop
-subnqn: blktests-subsystem-613
-=====Discovery Log Entry 615======
-trtype: loop
-subnqn: blktests-subsystem-614
-=====Discovery Log Entry 616======
-trtype: loop
-subnqn: blktests-subsystem-615
-=====Discovery Log Entry 617======
-trtype: loop
-subnqn: blktests-subsystem-616
-=====Discovery Log Entry 618======
-trtype: loop
-subnqn: blktests-subsystem-617
-=====Discovery Log Entry 619======
-trtype: loop
-subnqn: blktests-subsystem-618
-=====Discovery Log Entry 620======
-trtype: loop
-subnqn: blktests-subsystem-619
-=====Discovery Log Entry 621======
-trtype: loop
-subnqn: blktests-subsystem-620
-=====Discovery Log Entry 622======
-trtype: loop
-subnqn: blktests-subsystem-621
-=====Discovery Log Entry 623======
-trtype: loop
-subnqn: blktests-subsystem-622
-=====Discovery Log Entry 624======
-trtype: loop
-subnqn: blktests-subsystem-623
-=====Discovery Log Entry 625======
-trtype: loop
-subnqn: blktests-subsystem-624
-=====Discovery Log Entry 626======
-trtype: loop
-subnqn: blktests-subsystem-625
-=====Discovery Log Entry 627======
-trtype: loop
-subnqn: blktests-subsystem-626
-=====Discovery Log Entry 628======
-trtype: loop
-subnqn: blktests-subsystem-627
-=====Discovery Log Entry 629======
-trtype: loop
-subnqn: blktests-subsystem-628
-=====Discovery Log Entry 630======
-trtype: loop
-subnqn: blktests-subsystem-629
-=====Discovery Log Entry 631======
-trtype: loop
-subnqn: blktests-subsystem-630
-=====Discovery Log Entry 632======
-trtype: loop
-subnqn: blktests-subsystem-631
-=====Discovery Log Entry 633======
-trtype: loop
-subnqn: blktests-subsystem-632
-=====Discovery Log Entry 634======
-trtype: loop
-subnqn: blktests-subsystem-633
-=====Discovery Log Entry 635======
-trtype: loop
-subnqn: blktests-subsystem-634
-=====Discovery Log Entry 636======
-trtype: loop
-subnqn: blktests-subsystem-635
-=====Discovery Log Entry 637======
-trtype: loop
-subnqn: blktests-subsystem-636
-=====Discovery Log Entry 638======
-trtype: loop
-subnqn: blktests-subsystem-637
-=====Discovery Log Entry 639======
-trtype: loop
-subnqn: blktests-subsystem-638
-=====Discovery Log Entry 640======
-trtype: loop
-subnqn: blktests-subsystem-639
-=====Discovery Log Entry 641======
-trtype: loop
-subnqn: blktests-subsystem-640
-=====Discovery Log Entry 642======
-trtype: loop
-subnqn: blktests-subsystem-641
-=====Discovery Log Entry 643======
-trtype: loop
-subnqn: blktests-subsystem-642
-=====Discovery Log Entry 644======
-trtype: loop
-subnqn: blktests-subsystem-643
-=====Discovery Log Entry 645======
-trtype: loop
-subnqn: blktests-subsystem-644
-=====Discovery Log Entry 646======
-trtype: loop
-subnqn: blktests-subsystem-645
-=====Discovery Log Entry 647======
-trtype: loop
-subnqn: blktests-subsystem-646
-=====Discovery Log Entry 648======
-trtype: loop
-subnqn: blktests-subsystem-647
-=====Discovery Log Entry 649======
-trtype: loop
-subnqn: blktests-subsystem-648
-=====Discovery Log Entry 650======
-trtype: loop
-subnqn: blktests-subsystem-649
-=====Discovery Log Entry 651======
-trtype: loop
-subnqn: blktests-subsystem-650
-=====Discovery Log Entry 652======
-trtype: loop
-subnqn: blktests-subsystem-651
-=====Discovery Log Entry 653======
-trtype: loop
-subnqn: blktests-subsystem-652
-=====Discovery Log Entry 654======
-trtype: loop
-subnqn: blktests-subsystem-653
-=====Discovery Log Entry 655======
-trtype: loop
-subnqn: blktests-subsystem-654
-=====Discovery Log Entry 656======
-trtype: loop
-subnqn: blktests-subsystem-655
-=====Discovery Log Entry 657======
-trtype: loop
-subnqn: blktests-subsystem-656
-=====Discovery Log Entry 658======
-trtype: loop
-subnqn: blktests-subsystem-657
-=====Discovery Log Entry 659======
-trtype: loop
-subnqn: blktests-subsystem-658
-=====Discovery Log Entry 660======
-trtype: loop
-subnqn: blktests-subsystem-659
-=====Discovery Log Entry 661======
-trtype: loop
-subnqn: blktests-subsystem-660
-=====Discovery Log Entry 662======
-trtype: loop
-subnqn: blktests-subsystem-661
-=====Discovery Log Entry 663======
-trtype: loop
-subnqn: blktests-subsystem-662
-=====Discovery Log Entry 664======
-trtype: loop
-subnqn: blktests-subsystem-663
-=====Discovery Log Entry 665======
-trtype: loop
-subnqn: blktests-subsystem-664
-=====Discovery Log Entry 666======
-trtype: loop
-subnqn: blktests-subsystem-665
-=====Discovery Log Entry 667======
-trtype: loop
-subnqn: blktests-subsystem-666
-=====Discovery Log Entry 668======
-trtype: loop
-subnqn: blktests-subsystem-667
-=====Discovery Log Entry 669======
-trtype: loop
-subnqn: blktests-subsystem-668
-=====Discovery Log Entry 670======
-trtype: loop
-subnqn: blktests-subsystem-669
-=====Discovery Log Entry 671======
-trtype: loop
-subnqn: blktests-subsystem-670
-=====Discovery Log Entry 672======
-trtype: loop
-subnqn: blktests-subsystem-671
-=====Discovery Log Entry 673======
-trtype: loop
-subnqn: blktests-subsystem-672
-=====Discovery Log Entry 674======
-trtype: loop
-subnqn: blktests-subsystem-673
-=====Discovery Log Entry 675======
-trtype: loop
-subnqn: blktests-subsystem-674
-=====Discovery Log Entry 676======
-trtype: loop
-subnqn: blktests-subsystem-675
-=====Discovery Log Entry 677======
-trtype: loop
-subnqn: blktests-subsystem-676
-=====Discovery Log Entry 678======
-trtype: loop
-subnqn: blktests-subsystem-677
-=====Discovery Log Entry 679======
-trtype: loop
-subnqn: blktests-subsystem-678
-=====Discovery Log Entry 680======
-trtype: loop
-subnqn: blktests-subsystem-679
-=====Discovery Log Entry 681======
-trtype: loop
-subnqn: blktests-subsystem-680
-=====Discovery Log Entry 682======
-trtype: loop
-subnqn: blktests-subsystem-681
-=====Discovery Log Entry 683======
-trtype: loop
-subnqn: blktests-subsystem-682
-=====Discovery Log Entry 684======
-trtype: loop
-subnqn: blktests-subsystem-683
-=====Discovery Log Entry 685======
-trtype: loop
-subnqn: blktests-subsystem-684
-=====Discovery Log Entry 686======
-trtype: loop
-subnqn: blktests-subsystem-685
-=====Discovery Log Entry 687======
-trtype: loop
-subnqn: blktests-subsystem-686
-=====Discovery Log Entry 688======
-trtype: loop
-subnqn: blktests-subsystem-687
-=====Discovery Log Entry 689======
-trtype: loop
-subnqn: blktests-subsystem-688
-=====Discovery Log Entry 690======
-trtype: loop
-subnqn: blktests-subsystem-689
-=====Discovery Log Entry 691======
-trtype: loop
-subnqn: blktests-subsystem-690
-=====Discovery Log Entry 692======
-trtype: loop
-subnqn: blktests-subsystem-691
-=====Discovery Log Entry 693======
-trtype: loop
-subnqn: blktests-subsystem-692
-=====Discovery Log Entry 694======
-trtype: loop
-subnqn: blktests-subsystem-693
-=====Discovery Log Entry 695======
-trtype: loop
-subnqn: blktests-subsystem-694
-=====Discovery Log Entry 696======
-trtype: loop
-subnqn: blktests-subsystem-695
-=====Discovery Log Entry 697======
-trtype: loop
-subnqn: blktests-subsystem-696
-=====Discovery Log Entry 698======
-trtype: loop
-subnqn: blktests-subsystem-697
-=====Discovery Log Entry 699======
-trtype: loop
-subnqn: blktests-subsystem-698
-=====Discovery Log Entry 700======
-trtype: loop
-subnqn: blktests-subsystem-699
-=====Discovery Log Entry 701======
-trtype: loop
-subnqn: blktests-subsystem-700
-=====Discovery Log Entry 702======
-trtype: loop
-subnqn: blktests-subsystem-701
-=====Discovery Log Entry 703======
-trtype: loop
-subnqn: blktests-subsystem-702
-=====Discovery Log Entry 704======
-trtype: loop
-subnqn: blktests-subsystem-703
-=====Discovery Log Entry 705======
-trtype: loop
-subnqn: blktests-subsystem-704
-=====Discovery Log Entry 706======
-trtype: loop
-subnqn: blktests-subsystem-705
-=====Discovery Log Entry 707======
-trtype: loop
-subnqn: blktests-subsystem-706
-=====Discovery Log Entry 708======
-trtype: loop
-subnqn: blktests-subsystem-707
-=====Discovery Log Entry 709======
-trtype: loop
-subnqn: blktests-subsystem-708
-=====Discovery Log Entry 710======
-trtype: loop
-subnqn: blktests-subsystem-709
-=====Discovery Log Entry 711======
-trtype: loop
-subnqn: blktests-subsystem-710
-=====Discovery Log Entry 712======
-trtype: loop
-subnqn: blktests-subsystem-711
-=====Discovery Log Entry 713======
-trtype: loop
-subnqn: blktests-subsystem-712
-=====Discovery Log Entry 714======
-trtype: loop
-subnqn: blktests-subsystem-713
-=====Discovery Log Entry 715======
-trtype: loop
-subnqn: blktests-subsystem-714
-=====Discovery Log Entry 716======
-trtype: loop
-subnqn: blktests-subsystem-715
-=====Discovery Log Entry 717======
-trtype: loop
-subnqn: blktests-subsystem-716
-=====Discovery Log Entry 718======
-trtype: loop
-subnqn: blktests-subsystem-717
-=====Discovery Log Entry 719======
-trtype: loop
-subnqn: blktests-subsystem-718
-=====Discovery Log Entry 720======
-trtype: loop
-subnqn: blktests-subsystem-719
-=====Discovery Log Entry 721======
-trtype: loop
-subnqn: blktests-subsystem-720
-=====Discovery Log Entry 722======
-trtype: loop
-subnqn: blktests-subsystem-721
-=====Discovery Log Entry 723======
-trtype: loop
-subnqn: blktests-subsystem-722
-=====Discovery Log Entry 724======
-trtype: loop
-subnqn: blktests-subsystem-723
-=====Discovery Log Entry 725======
-trtype: loop
-subnqn: blktests-subsystem-724
-=====Discovery Log Entry 726======
-trtype: loop
-subnqn: blktests-subsystem-725
-=====Discovery Log Entry 727======
-trtype: loop
-subnqn: blktests-subsystem-726
-=====Discovery Log Entry 728======
-trtype: loop
-subnqn: blktests-subsystem-727
-=====Discovery Log Entry 729======
-trtype: loop
-subnqn: blktests-subsystem-728
-=====Discovery Log Entry 730======
-trtype: loop
-subnqn: blktests-subsystem-729
-=====Discovery Log Entry 731======
-trtype: loop
-subnqn: blktests-subsystem-730
-=====Discovery Log Entry 732======
-trtype: loop
-subnqn: blktests-subsystem-731
-=====Discovery Log Entry 733======
-trtype: loop
-subnqn: blktests-subsystem-732
-=====Discovery Log Entry 734======
-trtype: loop
-subnqn: blktests-subsystem-733
-=====Discovery Log Entry 735======
-trtype: loop
-subnqn: blktests-subsystem-734
-=====Discovery Log Entry 736======
-trtype: loop
-subnqn: blktests-subsystem-735
-=====Discovery Log Entry 737======
-trtype: loop
-subnqn: blktests-subsystem-736
-=====Discovery Log Entry 738======
-trtype: loop
-subnqn: blktests-subsystem-737
-=====Discovery Log Entry 739======
-trtype: loop
-subnqn: blktests-subsystem-738
-=====Discovery Log Entry 740======
-trtype: loop
-subnqn: blktests-subsystem-739
-=====Discovery Log Entry 741======
-trtype: loop
-subnqn: blktests-subsystem-740
-=====Discovery Log Entry 742======
-trtype: loop
-subnqn: blktests-subsystem-741
-=====Discovery Log Entry 743======
-trtype: loop
-subnqn: blktests-subsystem-742
-=====Discovery Log Entry 744======
-trtype: loop
-subnqn: blktests-subsystem-743
-=====Discovery Log Entry 745======
-trtype: loop
-subnqn: blktests-subsystem-744
-=====Discovery Log Entry 746======
-trtype: loop
-subnqn: blktests-subsystem-745
-=====Discovery Log Entry 747======
-trtype: loop
-subnqn: blktests-subsystem-746
-=====Discovery Log Entry 748======
-trtype: loop
-subnqn: blktests-subsystem-747
-=====Discovery Log Entry 749======
-trtype: loop
-subnqn: blktests-subsystem-748
-=====Discovery Log Entry 750======
-trtype: loop
-subnqn: blktests-subsystem-749
-=====Discovery Log Entry 751======
-trtype: loop
-subnqn: blktests-subsystem-750
-=====Discovery Log Entry 752======
-trtype: loop
-subnqn: blktests-subsystem-751
-=====Discovery Log Entry 753======
-trtype: loop
-subnqn: blktests-subsystem-752
-=====Discovery Log Entry 754======
-trtype: loop
-subnqn: blktests-subsystem-753
-=====Discovery Log Entry 755======
-trtype: loop
-subnqn: blktests-subsystem-754
-=====Discovery Log Entry 756======
-trtype: loop
-subnqn: blktests-subsystem-755
-=====Discovery Log Entry 757======
-trtype: loop
-subnqn: blktests-subsystem-756
-=====Discovery Log Entry 758======
-trtype: loop
-subnqn: blktests-subsystem-757
-=====Discovery Log Entry 759======
-trtype: loop
-subnqn: blktests-subsystem-758
-=====Discovery Log Entry 760======
-trtype: loop
-subnqn: blktests-subsystem-759
-=====Discovery Log Entry 761======
-trtype: loop
-subnqn: blktests-subsystem-760
-=====Discovery Log Entry 762======
-trtype: loop
-subnqn: blktests-subsystem-761
-=====Discovery Log Entry 763======
-trtype: loop
-subnqn: blktests-subsystem-762
-=====Discovery Log Entry 764======
-trtype: loop
-subnqn: blktests-subsystem-763
-=====Discovery Log Entry 765======
-trtype: loop
-subnqn: blktests-subsystem-764
-=====Discovery Log Entry 766======
-trtype: loop
-subnqn: blktests-subsystem-765
-=====Discovery Log Entry 767======
-trtype: loop
-subnqn: blktests-subsystem-766
-=====Discovery Log Entry 768======
-trtype: loop
-subnqn: blktests-subsystem-767
-=====Discovery Log Entry 769======
-trtype: loop
-subnqn: blktests-subsystem-768
-=====Discovery Log Entry 770======
-trtype: loop
-subnqn: blktests-subsystem-769
-=====Discovery Log Entry 771======
-trtype: loop
-subnqn: blktests-subsystem-770
-=====Discovery Log Entry 772======
-trtype: loop
-subnqn: blktests-subsystem-771
-=====Discovery Log Entry 773======
-trtype: loop
-subnqn: blktests-subsystem-772
-=====Discovery Log Entry 774======
-trtype: loop
-subnqn: blktests-subsystem-773
-=====Discovery Log Entry 775======
-trtype: loop
-subnqn: blktests-subsystem-774
-=====Discovery Log Entry 776======
-trtype: loop
-subnqn: blktests-subsystem-775
-=====Discovery Log Entry 777======
-trtype: loop
-subnqn: blktests-subsystem-776
-=====Discovery Log Entry 778======
-trtype: loop
-subnqn: blktests-subsystem-777
-=====Discovery Log Entry 779======
-trtype: loop
-subnqn: blktests-subsystem-778
-=====Discovery Log Entry 780======
-trtype: loop
-subnqn: blktests-subsystem-779
-=====Discovery Log Entry 781======
-trtype: loop
-subnqn: blktests-subsystem-780
-=====Discovery Log Entry 782======
-trtype: loop
-subnqn: blktests-subsystem-781
-=====Discovery Log Entry 783======
-trtype: loop
-subnqn: blktests-subsystem-782
-=====Discovery Log Entry 784======
-trtype: loop
-subnqn: blktests-subsystem-783
-=====Discovery Log Entry 785======
-trtype: loop
-subnqn: blktests-subsystem-784
-=====Discovery Log Entry 786======
-trtype: loop
-subnqn: blktests-subsystem-785
-=====Discovery Log Entry 787======
-trtype: loop
-subnqn: blktests-subsystem-786
-=====Discovery Log Entry 788======
-trtype: loop
-subnqn: blktests-subsystem-787
-=====Discovery Log Entry 789======
-trtype: loop
-subnqn: blktests-subsystem-788
-=====Discovery Log Entry 790======
-trtype: loop
-subnqn: blktests-subsystem-789
-=====Discovery Log Entry 791======
-trtype: loop
-subnqn: blktests-subsystem-790
-=====Discovery Log Entry 792======
-trtype: loop
-subnqn: blktests-subsystem-791
-=====Discovery Log Entry 793======
-trtype: loop
-subnqn: blktests-subsystem-792
-=====Discovery Log Entry 794======
-trtype: loop
-subnqn: blktests-subsystem-793
-=====Discovery Log Entry 795======
-trtype: loop
-subnqn: blktests-subsystem-794
-=====Discovery Log Entry 796======
-trtype: loop
-subnqn: blktests-subsystem-795
-=====Discovery Log Entry 797======
-trtype: loop
-subnqn: blktests-subsystem-796
-=====Discovery Log Entry 798======
-trtype: loop
-subnqn: blktests-subsystem-797
-=====Discovery Log Entry 799======
-trtype: loop
-subnqn: blktests-subsystem-798
-=====Discovery Log Entry 800======
-trtype: loop
-subnqn: blktests-subsystem-799
-=====Discovery Log Entry 801======
-trtype: loop
-subnqn: blktests-subsystem-800
-=====Discovery Log Entry 802======
-trtype: loop
-subnqn: blktests-subsystem-801
-=====Discovery Log Entry 803======
-trtype: loop
-subnqn: blktests-subsystem-802
-=====Discovery Log Entry 804======
-trtype: loop
-subnqn: blktests-subsystem-803
-=====Discovery Log Entry 805======
-trtype: loop
-subnqn: blktests-subsystem-804
-=====Discovery Log Entry 806======
-trtype: loop
-subnqn: blktests-subsystem-805
-=====Discovery Log Entry 807======
-trtype: loop
-subnqn: blktests-subsystem-806
-=====Discovery Log Entry 808======
-trtype: loop
-subnqn: blktests-subsystem-807
-=====Discovery Log Entry 809======
-trtype: loop
-subnqn: blktests-subsystem-808
-=====Discovery Log Entry 810======
-trtype: loop
-subnqn: blktests-subsystem-809
-=====Discovery Log Entry 811======
-trtype: loop
-subnqn: blktests-subsystem-810
-=====Discovery Log Entry 812======
-trtype: loop
-subnqn: blktests-subsystem-811
-=====Discovery Log Entry 813======
-trtype: loop
-subnqn: blktests-subsystem-812
-=====Discovery Log Entry 814======
-trtype: loop
-subnqn: blktests-subsystem-813
-=====Discovery Log Entry 815======
-trtype: loop
-subnqn: blktests-subsystem-814
-=====Discovery Log Entry 816======
-trtype: loop
-subnqn: blktests-subsystem-815
-=====Discovery Log Entry 817======
-trtype: loop
-subnqn: blktests-subsystem-816
-=====Discovery Log Entry 818======
-trtype: loop
-subnqn: blktests-subsystem-817
-=====Discovery Log Entry 819======
-trtype: loop
-subnqn: blktests-subsystem-818
-=====Discovery Log Entry 820======
-trtype: loop
-subnqn: blktests-subsystem-819
-=====Discovery Log Entry 821======
-trtype: loop
-subnqn: blktests-subsystem-820
-=====Discovery Log Entry 822======
-trtype: loop
-subnqn: blktests-subsystem-821
-=====Discovery Log Entry 823======
-trtype: loop
-subnqn: blktests-subsystem-822
-=====Discovery Log Entry 824======
-trtype: loop
-subnqn: blktests-subsystem-823
-=====Discovery Log Entry 825======
-trtype: loop
-subnqn: blktests-subsystem-824
-=====Discovery Log Entry 826======
-trtype: loop
-subnqn: blktests-subsystem-825
-=====Discovery Log Entry 827======
-trtype: loop
-subnqn: blktests-subsystem-826
-=====Discovery Log Entry 828======
-trtype: loop
-subnqn: blktests-subsystem-827
-=====Discovery Log Entry 829======
-trtype: loop
-subnqn: blktests-subsystem-828
-=====Discovery Log Entry 830======
-trtype: loop
-subnqn: blktests-subsystem-829
-=====Discovery Log Entry 831======
-trtype: loop
-subnqn: blktests-subsystem-830
-=====Discovery Log Entry 832======
-trtype: loop
-subnqn: blktests-subsystem-831
-=====Discovery Log Entry 833======
-trtype: loop
-subnqn: blktests-subsystem-832
-=====Discovery Log Entry 834======
-trtype: loop
-subnqn: blktests-subsystem-833
-=====Discovery Log Entry 835======
-trtype: loop
-subnqn: blktests-subsystem-834
-=====Discovery Log Entry 836======
-trtype: loop
-subnqn: blktests-subsystem-835
-=====Discovery Log Entry 837======
-trtype: loop
-subnqn: blktests-subsystem-836
-=====Discovery Log Entry 838======
-trtype: loop
-subnqn: blktests-subsystem-837
-=====Discovery Log Entry 839======
-trtype: loop
-subnqn: blktests-subsystem-838
-=====Discovery Log Entry 840======
-trtype: loop
-subnqn: blktests-subsystem-839
-=====Discovery Log Entry 841======
-trtype: loop
-subnqn: blktests-subsystem-840
-=====Discovery Log Entry 842======
-trtype: loop
-subnqn: blktests-subsystem-841
-=====Discovery Log Entry 843======
-trtype: loop
-subnqn: blktests-subsystem-842
-=====Discovery Log Entry 844======
-trtype: loop
-subnqn: blktests-subsystem-843
-=====Discovery Log Entry 845======
-trtype: loop
-subnqn: blktests-subsystem-844
-=====Discovery Log Entry 846======
-trtype: loop
-subnqn: blktests-subsystem-845
-=====Discovery Log Entry 847======
-trtype: loop
-subnqn: blktests-subsystem-846
-=====Discovery Log Entry 848======
-trtype: loop
-subnqn: blktests-subsystem-847
-=====Discovery Log Entry 849======
-trtype: loop
-subnqn: blktests-subsystem-848
-=====Discovery Log Entry 850======
-trtype: loop
-subnqn: blktests-subsystem-849
-=====Discovery Log Entry 851======
-trtype: loop
-subnqn: blktests-subsystem-850
-=====Discovery Log Entry 852======
-trtype: loop
-subnqn: blktests-subsystem-851
-=====Discovery Log Entry 853======
-trtype: loop
-subnqn: blktests-subsystem-852
-=====Discovery Log Entry 854======
-trtype: loop
-subnqn: blktests-subsystem-853
-=====Discovery Log Entry 855======
-trtype: loop
-subnqn: blktests-subsystem-854
-=====Discovery Log Entry 856======
-trtype: loop
-subnqn: blktests-subsystem-855
-=====Discovery Log Entry 857======
-trtype: loop
-subnqn: blktests-subsystem-856
-=====Discovery Log Entry 858======
-trtype: loop
-subnqn: blktests-subsystem-857
-=====Discovery Log Entry 859======
-trtype: loop
-subnqn: blktests-subsystem-858
-=====Discovery Log Entry 860======
-trtype: loop
-subnqn: blktests-subsystem-859
-=====Discovery Log Entry 861======
-trtype: loop
-subnqn: blktests-subsystem-860
-=====Discovery Log Entry 862======
-trtype: loop
-subnqn: blktests-subsystem-861
-=====Discovery Log Entry 863======
-trtype: loop
-subnqn: blktests-subsystem-862
-=====Discovery Log Entry 864======
-trtype: loop
-subnqn: blktests-subsystem-863
-=====Discovery Log Entry 865======
-trtype: loop
-subnqn: blktests-subsystem-864
-=====Discovery Log Entry 866======
-trtype: loop
-subnqn: blktests-subsystem-865
-=====Discovery Log Entry 867======
-trtype: loop
-subnqn: blktests-subsystem-866
-=====Discovery Log Entry 868======
-trtype: loop
-subnqn: blktests-subsystem-867
-=====Discovery Log Entry 869======
-trtype: loop
-subnqn: blktests-subsystem-868
-=====Discovery Log Entry 870======
-trtype: loop
-subnqn: blktests-subsystem-869
-=====Discovery Log Entry 871======
-trtype: loop
-subnqn: blktests-subsystem-870
-=====Discovery Log Entry 872======
-trtype: loop
-subnqn: blktests-subsystem-871
-=====Discovery Log Entry 873======
-trtype: loop
-subnqn: blktests-subsystem-872
-=====Discovery Log Entry 874======
-trtype: loop
-subnqn: blktests-subsystem-873
-=====Discovery Log Entry 875======
-trtype: loop
-subnqn: blktests-subsystem-874
-=====Discovery Log Entry 876======
-trtype: loop
-subnqn: blktests-subsystem-875
-=====Discovery Log Entry 877======
-trtype: loop
-subnqn: blktests-subsystem-876
-=====Discovery Log Entry 878======
-trtype: loop
-subnqn: blktests-subsystem-877
-=====Discovery Log Entry 879======
-trtype: loop
-subnqn: blktests-subsystem-878
-=====Discovery Log Entry 880======
-trtype: loop
-subnqn: blktests-subsystem-879
-=====Discovery Log Entry 881======
-trtype: loop
-subnqn: blktests-subsystem-880
-=====Discovery Log Entry 882======
-trtype: loop
-subnqn: blktests-subsystem-881
-=====Discovery Log Entry 883======
-trtype: loop
-subnqn: blktests-subsystem-882
-=====Discovery Log Entry 884======
-trtype: loop
-subnqn: blktests-subsystem-883
-=====Discovery Log Entry 885======
-trtype: loop
-subnqn: blktests-subsystem-884
-=====Discovery Log Entry 886======
-trtype: loop
-subnqn: blktests-subsystem-885
-=====Discovery Log Entry 887======
-trtype: loop
-subnqn: blktests-subsystem-886
-=====Discovery Log Entry 888======
-trtype: loop
-subnqn: blktests-subsystem-887
-=====Discovery Log Entry 889======
-trtype: loop
-subnqn: blktests-subsystem-888
-=====Discovery Log Entry 890======
-trtype: loop
-subnqn: blktests-subsystem-889
-=====Discovery Log Entry 891======
-trtype: loop
-subnqn: blktests-subsystem-890
-=====Discovery Log Entry 892======
-trtype: loop
-subnqn: blktests-subsystem-891
-=====Discovery Log Entry 893======
-trtype: loop
-subnqn: blktests-subsystem-892
-=====Discovery Log Entry 894======
-trtype: loop
-subnqn: blktests-subsystem-893
-=====Discovery Log Entry 895======
-trtype: loop
-subnqn: blktests-subsystem-894
-=====Discovery Log Entry 896======
-trtype: loop
-subnqn: blktests-subsystem-895
-=====Discovery Log Entry 897======
-trtype: loop
-subnqn: blktests-subsystem-896
-=====Discovery Log Entry 898======
-trtype: loop
-subnqn: blktests-subsystem-897
-=====Discovery Log Entry 899======
-trtype: loop
-subnqn: blktests-subsystem-898
-=====Discovery Log Entry 900======
-trtype: loop
-subnqn: blktests-subsystem-899
-=====Discovery Log Entry 901======
-trtype: loop
-subnqn: blktests-subsystem-900
-=====Discovery Log Entry 902======
-trtype: loop
-subnqn: blktests-subsystem-901
-=====Discovery Log Entry 903======
-trtype: loop
-subnqn: blktests-subsystem-902
-=====Discovery Log Entry 904======
-trtype: loop
-subnqn: blktests-subsystem-903
-=====Discovery Log Entry 905======
-trtype: loop
-subnqn: blktests-subsystem-904
-=====Discovery Log Entry 906======
-trtype: loop
-subnqn: blktests-subsystem-905
-=====Discovery Log Entry 907======
-trtype: loop
-subnqn: blktests-subsystem-906
-=====Discovery Log Entry 908======
-trtype: loop
-subnqn: blktests-subsystem-907
-=====Discovery Log Entry 909======
-trtype: loop
-subnqn: blktests-subsystem-908
-=====Discovery Log Entry 910======
-trtype: loop
-subnqn: blktests-subsystem-909
-=====Discovery Log Entry 911======
-trtype: loop
-subnqn: blktests-subsystem-910
-=====Discovery Log Entry 912======
-trtype: loop
-subnqn: blktests-subsystem-911
-=====Discovery Log Entry 913======
-trtype: loop
-subnqn: blktests-subsystem-912
-=====Discovery Log Entry 914======
-trtype: loop
-subnqn: blktests-subsystem-913
-=====Discovery Log Entry 915======
-trtype: loop
-subnqn: blktests-subsystem-914
-=====Discovery Log Entry 916======
-trtype: loop
-subnqn: blktests-subsystem-915
-=====Discovery Log Entry 917======
-trtype: loop
-subnqn: blktests-subsystem-916
-=====Discovery Log Entry 918======
-trtype: loop
-subnqn: blktests-subsystem-917
-=====Discovery Log Entry 919======
-trtype: loop
-subnqn: blktests-subsystem-918
-=====Discovery Log Entry 920======
-trtype: loop
-subnqn: blktests-subsystem-919
-=====Discovery Log Entry 921======
-trtype: loop
-subnqn: blktests-subsystem-920
-=====Discovery Log Entry 922======
-trtype: loop
-subnqn: blktests-subsystem-921
-=====Discovery Log Entry 923======
-trtype: loop
-subnqn: blktests-subsystem-922
-=====Discovery Log Entry 924======
-trtype: loop
-subnqn: blktests-subsystem-923
-=====Discovery Log Entry 925======
-trtype: loop
-subnqn: blktests-subsystem-924
-=====Discovery Log Entry 926======
-trtype: loop
-subnqn: blktests-subsystem-925
-=====Discovery Log Entry 927======
-trtype: loop
-subnqn: blktests-subsystem-926
-=====Discovery Log Entry 928======
-trtype: loop
-subnqn: blktests-subsystem-927
-=====Discovery Log Entry 929======
-trtype: loop
-subnqn: blktests-subsystem-928
-=====Discovery Log Entry 930======
-trtype: loop
-subnqn: blktests-subsystem-929
-=====Discovery Log Entry 931======
-trtype: loop
-subnqn: blktests-subsystem-930
-=====Discovery Log Entry 932======
-trtype: loop
-subnqn: blktests-subsystem-931
-=====Discovery Log Entry 933======
-trtype: loop
-subnqn: blktests-subsystem-932
-=====Discovery Log Entry 934======
-trtype: loop
-subnqn: blktests-subsystem-933
-=====Discovery Log Entry 935======
-trtype: loop
-subnqn: blktests-subsystem-934
-=====Discovery Log Entry 936======
-trtype: loop
-subnqn: blktests-subsystem-935
-=====Discovery Log Entry 937======
-trtype: loop
-subnqn: blktests-subsystem-936
-=====Discovery Log Entry 938======
-trtype: loop
-subnqn: blktests-subsystem-937
-=====Discovery Log Entry 939======
-trtype: loop
-subnqn: blktests-subsystem-938
-=====Discovery Log Entry 940======
-trtype: loop
-subnqn: blktests-subsystem-939
-=====Discovery Log Entry 941======
-trtype: loop
-subnqn: blktests-subsystem-940
-=====Discovery Log Entry 942======
-trtype: loop
-subnqn: blktests-subsystem-941
-=====Discovery Log Entry 943======
-trtype: loop
-subnqn: blktests-subsystem-942
-=====Discovery Log Entry 944======
-trtype: loop
-subnqn: blktests-subsystem-943
-=====Discovery Log Entry 945======
-trtype: loop
-subnqn: blktests-subsystem-944
-=====Discovery Log Entry 946======
-trtype: loop
-subnqn: blktests-subsystem-945
-=====Discovery Log Entry 947======
-trtype: loop
-subnqn: blktests-subsystem-946
-=====Discovery Log Entry 948======
-trtype: loop
-subnqn: blktests-subsystem-947
-=====Discovery Log Entry 949======
-trtype: loop
-subnqn: blktests-subsystem-948
-=====Discovery Log Entry 950======
-trtype: loop
-subnqn: blktests-subsystem-949
-=====Discovery Log Entry 951======
-trtype: loop
-subnqn: blktests-subsystem-950
-=====Discovery Log Entry 952======
-trtype: loop
-subnqn: blktests-subsystem-951
-=====Discovery Log Entry 953======
-trtype: loop
-subnqn: blktests-subsystem-952
-=====Discovery Log Entry 954======
-trtype: loop
-subnqn: blktests-subsystem-953
-=====Discovery Log Entry 955======
-trtype: loop
-subnqn: blktests-subsystem-954
-=====Discovery Log Entry 956======
-trtype: loop
-subnqn: blktests-subsystem-955
-=====Discovery Log Entry 957======
-trtype: loop
-subnqn: blktests-subsystem-956
-=====Discovery Log Entry 958======
-trtype: loop
-subnqn: blktests-subsystem-957
-=====Discovery Log Entry 959======
-trtype: loop
-subnqn: blktests-subsystem-958
-=====Discovery Log Entry 960======
-trtype: loop
-subnqn: blktests-subsystem-959
-=====Discovery Log Entry 961======
-trtype: loop
-subnqn: blktests-subsystem-960
-=====Discovery Log Entry 962======
-trtype: loop
-subnqn: blktests-subsystem-961
-=====Discovery Log Entry 963======
-trtype: loop
-subnqn: blktests-subsystem-962
-=====Discovery Log Entry 964======
-trtype: loop
-subnqn: blktests-subsystem-963
-=====Discovery Log Entry 965======
-trtype: loop
-subnqn: blktests-subsystem-964
-=====Discovery Log Entry 966======
-trtype: loop
-subnqn: blktests-subsystem-965
-=====Discovery Log Entry 967======
-trtype: loop
-subnqn: blktests-subsystem-966
-=====Discovery Log Entry 968======
-trtype: loop
-subnqn: blktests-subsystem-967
-=====Discovery Log Entry 969======
-trtype: loop
-subnqn: blktests-subsystem-968
-=====Discovery Log Entry 970======
-trtype: loop
-subnqn: blktests-subsystem-969
-=====Discovery Log Entry 971======
-trtype: loop
-subnqn: blktests-subsystem-970
-=====Discovery Log Entry 972======
-trtype: loop
-subnqn: blktests-subsystem-971
-=====Discovery Log Entry 973======
-trtype: loop
-subnqn: blktests-subsystem-972
-=====Discovery Log Entry 974======
-trtype: loop
-subnqn: blktests-subsystem-973
-=====Discovery Log Entry 975======
-trtype: loop
-subnqn: blktests-subsystem-974
-=====Discovery Log Entry 976======
-trtype: loop
-subnqn: blktests-subsystem-975
-=====Discovery Log Entry 977======
-trtype: loop
-subnqn: blktests-subsystem-976
-=====Discovery Log Entry 978======
-trtype: loop
-subnqn: blktests-subsystem-977
-=====Discovery Log Entry 979======
-trtype: loop
-subnqn: blktests-subsystem-978
-=====Discovery Log Entry 980======
-trtype: loop
-subnqn: blktests-subsystem-979
-=====Discovery Log Entry 981======
-trtype: loop
-subnqn: blktests-subsystem-980
-=====Discovery Log Entry 982======
-trtype: loop
-subnqn: blktests-subsystem-981
-=====Discovery Log Entry 983======
-trtype: loop
-subnqn: blktests-subsystem-982
-=====Discovery Log Entry 984======
-trtype: loop
-subnqn: blktests-subsystem-983
-=====Discovery Log Entry 985======
-trtype: loop
-subnqn: blktests-subsystem-984
-=====Discovery Log Entry 986======
-trtype: loop
-subnqn: blktests-subsystem-985
-=====Discovery Log Entry 987======
-trtype: loop
-subnqn: blktests-subsystem-986
-=====Discovery Log Entry 988======
-trtype: loop
-subnqn: blktests-subsystem-987
-=====Discovery Log Entry 989======
-trtype: loop
-subnqn: blktests-subsystem-988
-=====Discovery Log Entry 990======
-trtype: loop
-subnqn: blktests-subsystem-989
-=====Discovery Log Entry 991======
-trtype: loop
-subnqn: blktests-subsystem-990
-=====Discovery Log Entry 992======
-trtype: loop
-subnqn: blktests-subsystem-991
-=====Discovery Log Entry 993======
-trtype: loop
-subnqn: blktests-subsystem-992
-=====Discovery Log Entry 994======
-trtype: loop
-subnqn: blktests-subsystem-993
-=====Discovery Log Entry 995======
-trtype: loop
-subnqn: blktests-subsystem-994
-=====Discovery Log Entry 996======
-trtype: loop
-subnqn: blktests-subsystem-995
-=====Discovery Log Entry 997======
-trtype: loop
-subnqn: blktests-subsystem-996
-=====Discovery Log Entry 998======
-trtype: loop
-subnqn: blktests-subsystem-997
-=====Discovery Log Entry 999======
-trtype: loop
-subnqn: blktests-subsystem-998
-=====Discovery Log Entry 1000======
-trtype: loop
-subnqn: blktests-subsystem-999
Test complete
diff --git a/tests/nvme/030 b/tests/nvme/030
index 20fef696e565..cfcdcbe6be23 100755
--- a/tests/nvme/030
+++ b/tests/nvme/030
@@ -15,20 +15,6 @@ requires() {
_require_nvme_trtype_is_fabrics
}

-
-checkgenctr() {
- local last=$1
- local msg=$2
- local genctr
-
- genctr=$(_discovery_genctr)
- if (( "${genctr}" <= "${last}" )); then
- echo "Generation counter not incremented when ${msg} (${genctr} <= ${last})"
- fi
-
- echo "${genctr}"
-}
-
test() {
local port
local genctr
@@ -48,20 +34,20 @@ test() {
_create_nvmet_subsystem "${subsys}2" "$(losetup -f)"
_add_nvmet_subsys_to_port "${port}" "${subsys}2"

- genctr=$(checkgenctr "${genctr}" "adding a subsystem to a port")
+ genctr=$(_check_genctr "${genctr}" "adding a subsystem to a port")

echo 0 > "${NVMET_CFS}/subsystems/${subsys}2/attr_allow_any_host"

- genctr=$(checkgenctr "${genctr}" "clearing attr_allow_any_host")
+ genctr=$(_check_genctr "${genctr}" "clearing attr_allow_any_host")

echo 1 > "${NVMET_CFS}/subsystems/${subsys}2/attr_allow_any_host"

- genctr=$(checkgenctr "${genctr}" "setting attr_allow_any_host")
+ genctr=$(_check_genctr "${genctr}" "setting attr_allow_any_host")

_remove_nvmet_subsystem_from_port "${port}" "${subsys}2"
_remove_nvmet_subsystem "${subsys}2"

- genctr=$(checkgenctr "${genctr}" "removing a subsystem from a port")
+ genctr=$(_check_genctr "${genctr}" "removing a subsystem from a port")

_remove_nvmet_subsystem_from_port "${port}" "${subsys}1"
_remove_nvmet_subsystem "${subsys}1"
diff --git a/tests/nvme/rc b/tests/nvme/rc
index 268418e5b3e0..a14458d5b80f 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -745,6 +745,19 @@ _discovery_genctr() {
sed -n -e 's/^.*Generation counter \([0-9]\+\).*$/\1/p'
}

+_check_genctr() {
+ local last=$1
+ local msg=$2
+ local genctr
+
+ genctr=$(_discovery_genctr)
+ if (( "${genctr}" <= "${last}" )); then
+ echo "Generation counter not incremented when ${msg} (${genctr} <= ${last})"
+ fi
+
+ echo "${genctr}"
+}
+
declare -A NS_DEV_FAULT_INJECT_SAVE
declare -A CTRL_DEV_FAULT_INJECT_SAVE

--
2.40.0

2023-05-03 09:31:30

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 02/12] nvme: Do not hard code device size for dd test

On 5/3/23 01:02, Daniel Wagner wrote:
> Read the block device sizes instead hard coding them,
> so that the device size can be configurable in future.
>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
>

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-05-03 09:31:48

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 03/12] common/xfs: Make size argument optional for _xfs_run_fio_verify_io

On 5/3/23 01:02, Daniel Wagner wrote:
> Make the size argument optional by reading the filesystem info. The
> caller doesn't have to guess (or calculate) how big the max IO size.
> The log data structure of XFS is reducing the capacity.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
>

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-05-03 09:33:06

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 04/12] common/xfs: Limit fio size job to fit into xfs fs

On 5/3/23 01:02, Daniel Wagner wrote:
> The usable capacity of the filesystem is less than the raw
> partition/device size due to the additional meta/log data.
>
> Ensure that the job size for fio is not exceeding the limits.
>
> Because we have hard coded the path where we mount the filesystem
> and don't want to expose this, we just update max size inside
> _xfs_run_fio_verify_io(). No need to leak this into the caller.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> common/xfs | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/common/xfs b/common/xfs
> index 413c2820ffaf..37ce85878df2 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -37,6 +37,9 @@ _xfs_run_fio_verify_io() {
> sz_mb="${avail_mb}"
> else
> sz_mb="$(convert_to_mb "${sz}")"
> + if [[ "${sz_mb}" -gt "${avail_mb}" ]]; then
> + sz_mb="${avail_mb}"
> + fi
> fi
>
> _run_fio_verify_io --size="${sz_mb}m" --directory="${mount_dir}/"


this is exactly how it should to start with, the only
is now we are silently reducing the fio job size maybe that is okay ?

or we should error out here instead of being smart ?

-ck


2023-05-03 09:33:51

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 06/12] Documentation: Add info on nvme_tr_type

On 5/3/23 01:02, Daniel Wagner wrote:
> Mention that the nvme tests can be parametrized.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> Documentation/running-tests.md | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/running-tests.md b/Documentation/running-tests.md
> index 3550f377f487..7e827fba7ac0 100644
> --- a/Documentation/running-tests.md
> +++ b/Documentation/running-tests.md
> @@ -98,6 +98,13 @@ requires that the kernel be compiled with `CONFIG_BLK_DEV_ZONED` enabled.
> RUN_ZONED_TESTS=1
> ```
>
> +### NVMe test parameterizing
> +
> +The NVMe tests can be additionally parameterized via environment variables.
> +
> +- nvme_tr_type: 'loop' (default), 'tcp', 'rdma' and 'fc'
> + Run the tests with the given transport.
> +
> ### Running nvme-rdma nvmeof-mp srp tests
>
> Most of these tests will use the rdma_rxe (soft-RoCE) driver by default. The siw (soft-iWARP) driver is also supported.

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-05-03 09:34:00

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 07/12] nvme: Make test image size configurable

On 5/3/23 01:02, Daniel Wagner wrote:
> The reduce the overall runtime of the testsuite by making the default
> size of the test image small. For verification jobs, the default can be
> overwriten via the newly introduced nvme_img_size environment variable.
>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
>

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-05-03 09:42:57

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 08/12] nvme/rc: Add minimal test image size requirement

On 5/3/23 01:02, Daniel Wagner wrote:
> Some tests need a minimal test image size to work correctly. Thus add a
> helper to check the size and update these tests accordingly.
>
> The image minimum is 4M because some of the test have hard coded values.
> All tests which use the xfs fio verification job have a minimum
> requirement of 350M impossed by the xfs filesystem.
>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> tests/nvme/012 | 1 +
>

thanks for documenting minimum limit imposed by fio, look good.


Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-05-03 09:44:43

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 09/12] common/fio: Limit number of random jobs

On 5/3/23 01:02, Daniel Wagner wrote:
> Limit the number of random threads to 32 for big machines. This still
> gives enough randomness but limits the resource usage.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---

I don't think we should change this, the point of all the tests is
to not limit the resources but use threads at least equal to
$(nproc), see recent patches from lenovo they have 448 cores,
limiting 32 is < 10% CPUs and that is really small number for
a large machine if we decide to run tests on that machine ...

-ck


2023-05-03 09:46:39

by Daniel Wagner

[permalink] [raw]
Subject: Re: [PATCH blktests v3 04/12] common/xfs: Limit fio size job to fit into xfs fs

On Wed, May 03, 2023 at 09:29:04AM +0000, Chaitanya Kulkarni wrote:
> On 5/3/23 01:02, Daniel Wagner wrote:
> > The usable capacity of the filesystem is less than the raw
> > partition/device size due to the additional meta/log data.
> >
> > Ensure that the job size for fio is not exceeding the limits.
> >
> > Because we have hard coded the path where we mount the filesystem
> > and don't want to expose this, we just update max size inside
> > _xfs_run_fio_verify_io(). No need to leak this into the caller.
> >
> > Signed-off-by: Daniel Wagner <[email protected]>
> > ---
> > common/xfs | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/common/xfs b/common/xfs
> > index 413c2820ffaf..37ce85878df2 100644
> > --- a/common/xfs
> > +++ b/common/xfs
> > @@ -37,6 +37,9 @@ _xfs_run_fio_verify_io() {
> > sz_mb="${avail_mb}"
> > else
> > sz_mb="$(convert_to_mb "${sz}")"
> > + if [[ "${sz_mb}" -gt "${avail_mb}" ]]; then
> > + sz_mb="${avail_mb}"
> > + fi
> > fi
> >
> > _run_fio_verify_io --size="${sz_mb}m" --directory="${mount_dir}/"
>
>
> this is exactly how it should to start with, the only
> is now we are silently reducing the fio job size maybe that is okay ?
>
> or we should error out here instead of being smart ?

The problem I try to solve here is that on the caller side (nvme/035) we don't
know yet the usable filesystem size. We only the size of the nvme_img_size.

If we want to move this logic to the caller side we need split
_xfs_run_fio_verify_io() into steps. The first step which creates the fileystem
and the second one which runs fio.

I don't know if this is worth doing it though.

2023-05-03 09:49:16

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 12/12] nvme: Make the number iterations configurable

On 5/3/23 01:02, Daniel Wagner wrote:
> Some tests hard code high values of iterations. This makes them run
> relatively long compared to the other tests. Introduce a new environment
> variable nvme_num_iter to allow tune the runtime.
>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> D

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-05-03 11:05:36

by Daniel Wagner

[permalink] [raw]
Subject: Re: [PATCH blktests v3 09/12] common/fio: Limit number of random jobs

On Wed, May 03, 2023 at 09:41:37AM +0000, Chaitanya Kulkarni wrote:
> On 5/3/23 01:02, Daniel Wagner wrote:
> > Limit the number of random threads to 32 for big machines. This still
> > gives enough randomness but limits the resource usage.
> >
> > Signed-off-by: Daniel Wagner <[email protected]>
> > ---
>
> I don't think we should change this, the point of all the tests is
> to not limit the resources but use threads at least equal to
> $(nproc), see recent patches from lenovo they have 448 cores,
> limiting 32 is < 10% CPUs and that is really small number for
> a large machine if we decide to run tests on that machine ...

I just wonder how handle the limits for the job size. Hannes asked to limit it
to 32 CPUs so that the job size doesn't get small, e.g. nvme_img_size=16M job
size per job with 448 CPUs is roughly 36kB. Is this good, bad or does it even
make sense? I don't know.

My question is what should the policy be? Should we reject configuration which
try to run too small jobs sizes? Reject anything below 1M for example? Or is
there a metric which we could as base for a limit calculation (disk geometry)?

2023-05-04 05:55:46

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH blktests v3 09/12] common/fio: Limit number of random jobs

On 5/3/23 04:01, Daniel Wagner wrote:
> On Wed, May 03, 2023 at 09:41:37AM +0000, Chaitanya Kulkarni wrote:
>> On 5/3/23 01:02, Daniel Wagner wrote:
>>> Limit the number of random threads to 32 for big machines. This still
>>> gives enough randomness but limits the resource usage.
>>>
>>> Signed-off-by: Daniel Wagner <[email protected]>
>>> ---
>> I don't think we should change this, the point of all the tests is
>> to not limit the resources but use threads at least equal to
>> $(nproc), see recent patches from lenovo they have 448 cores,
>> limiting 32 is < 10% CPUs and that is really small number for
>> a large machine if we decide to run tests on that machine ...
> I just wonder how handle the limits for the job size. Hannes asked to limit it
> to 32 CPUs so that the job size doesn't get small, e.g. nvme_img_size=16M job
> size per job with 448 CPUs is roughly 36kB. Is this good, bad or does it even
> make sense? I don't know.

16M is very small number ..

from my experience with smaller I/O sizes we don't see the lokdeps
that we see with the large I/O sizes hence it is a bad idea to use small
I/O sizes and limiting the jobs to hard coded 32 number ...

> My question is what should the policy be? Should we reject configuration which
> try to run too small jobs sizes? Reject anything below 1M for example? Or is
> there a metric which we could as base for a limit calculation (disk geometry)?

the basic requirement here is we need to run the I/O from every processor,
so let's keep --numjobs=($nproc) constant now and let the user set job
size..
in this particular case for NVMe we set the size 1G and that is
sufficient since
numbjobs are set to nproc and with this series user can set the size
based on
a particular arch ...

See [1] if you are interested in how to quantify small or large job size.

For this series to merge let's keep is simple and not worry about erroring
out on a particular job size but just keeping the nproc as it is ...

-ck

Ideally in past what I've done is  :-
1. Accept the % of the CPU cores that we want to keep it busy.
2. Accept the % of the disk space we want to exercise test.
3. Use the combination of the #1 and #2 to spread out the
   job size across the number of jobs.

with above design one doesn't have to assume what is small or what it large
job size and system gets tested according to user's expectations such as
50% CPUs are busy on 80% disk size or 100% CPUs are busy with 50% of
disk size.


2023-05-04 06:24:57

by Daniel Wagner

[permalink] [raw]
Subject: Re: [PATCH blktests v3 09/12] common/fio: Limit number of random jobs

On Thu, May 04, 2023 at 05:16:34AM +0000, Chaitanya Kulkarni wrote:
> For this series to merge let's keep is simple and not worry about erroring
> out on a particular job size but just keeping the nproc as it is ...

Works for me and as you pointed out, it avoids regressions with the default
values. Anyone who is tinkering with nvme_img_size should be aware of the
implications. I'll add a note about this to the documentation.

2023-05-07 23:33:34

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 07/12] nvme: Make test image size configurable

Please find three nit comments in line.

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> The reduce the overall runtime of the testsuite by making the default
> size of the test image small. For verification jobs, the default can be
> overwriten via the newly introduced nvme_img_size environment variable.
>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> Documentation/running-tests.md | 3 +++
> tests/nvme/004 | 2 +-
> tests/nvme/005 | 2 +-
> tests/nvme/006 | 2 +-
> tests/nvme/007 | 2 +-
> tests/nvme/008 | 2 +-
> tests/nvme/009 | 2 +-
> tests/nvme/010 | 5 +++--
> tests/nvme/011 | 5 +++--
> tests/nvme/012 | 2 +-
> tests/nvme/013 | 2 +-
> tests/nvme/014 | 2 +-
> tests/nvme/015 | 2 +-
> tests/nvme/017 | 2 +-
> tests/nvme/018 | 2 +-
> tests/nvme/019 | 2 +-
> tests/nvme/020 | 2 +-
> tests/nvme/021 | 2 +-
> tests/nvme/022 | 2 +-
> tests/nvme/023 | 2 +-
> tests/nvme/024 | 2 +-
> tests/nvme/025 | 2 +-
> tests/nvme/026 | 2 +-
> tests/nvme/027 | 2 +-
> tests/nvme/028 | 2 +-
> tests/nvme/029 | 3 ++-
> tests/nvme/031 | 2 +-
> tests/nvme/032 | 1 -
> tests/nvme/034 | 2 +-
> tests/nvme/035 | 4 ++--
> tests/nvme/040 | 2 +-
> tests/nvme/041 | 2 +-
> tests/nvme/042 | 2 +-
> tests/nvme/043 | 2 +-
> tests/nvme/044 | 2 +-
> tests/nvme/045 | 2 +-
> tests/nvme/047 | 2 +-
> tests/nvme/048 | 2 +-
> tests/nvme/rc | 1 +
> 39 files changed, 46 insertions(+), 40 deletions(-)
>
> diff --git a/Documentation/running-tests.md b/Documentation/running-tests.md
> index 7e827fba7ac0..6b34a253fd97 100644
> --- a/Documentation/running-tests.md
> +++ b/Documentation/running-tests.md
> @@ -104,6 +104,9 @@ The NVMe tests can be additionally parameterized via environment variables.
>
> - nvme_tr_type: 'loop' (default), 'tcp', 'rdma' and 'fc'
> Run the tests with the given transport.
> +- nvme_img_size: '1G' (default)
> + Run the tests with given image size in bytes. 'm' and 'g' postfix

It would be the better to list all of 'm', 'M', 'g' and 'G', since '1G' is the
default value.

> + are supported.
>
> ### Running nvme-rdma nvmeof-mp srp tests
>
> diff --git a/tests/nvme/004 b/tests/nvme/004
> index 9dda538b1ac0..cab98ff44326 100755
> --- a/tests/nvme/004
> +++ b/tests/nvme/004
> @@ -25,7 +25,7 @@ test() {
> local port
> port="$(_create_nvmet_port "${nvme_trtype}")"
>
> - truncate -s 1G "$TMPDIR/img"
> + truncate -s "${nvme_img_size}" "$TMPDIR/img"
>
> local loop_dev
> loop_dev="$(losetup -f --show "$TMPDIR/img")"
> diff --git a/tests/nvme/005 b/tests/nvme/005
> index de567a74a891..8e15a13f3794 100755
> --- a/tests/nvme/005
> +++ b/tests/nvme/005
> @@ -24,7 +24,7 @@ test() {
> local port
> port="$(_create_nvmet_port "${nvme_trtype}")"
>
> - truncate -s 1G "$TMPDIR/img"
> + truncate -s "${nvme_img_size}" "$TMPDIR/img"
>
> local loop_dev
> loop_dev="$(losetup -f --show "$TMPDIR/img")"
> diff --git a/tests/nvme/006 b/tests/nvme/006
> index d993861c06ba..ea0db93791a7 100755
> --- a/tests/nvme/006
> +++ b/tests/nvme/006
> @@ -24,7 +24,7 @@ test() {
>
> _setup_nvmet
>
> - truncate -s 1G "$TMPDIR/img"
> + truncate -s "${nvme_img_size}" "$TMPDIR/img"
>
> loop_dev="$(losetup -f --show "$TMPDIR/img")"
>
> diff --git a/tests/nvme/007 b/tests/nvme/007
> index d53100f3ff7b..243a79f5a254 100755
> --- a/tests/nvme/007
> +++ b/tests/nvme/007
> @@ -25,7 +25,7 @@ test() {
>
> file_path="${TMPDIR}/img"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/008 b/tests/nvme/008
> index 5568fe46e463..5abc4240ca46 100755
> --- a/tests/nvme/008
> +++ b/tests/nvme/008
> @@ -26,7 +26,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> diff --git a/tests/nvme/009 b/tests/nvme/009
> index 2814c79164ee..491d3c809ab0 100755
> --- a/tests/nvme/009
> +++ b/tests/nvme/009
> @@ -24,7 +24,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/010 b/tests/nvme/010
> index b7b1d5188e9b..805f80d40620 100755
> --- a/tests/nvme/010
> +++ b/tests/nvme/010
> @@ -26,7 +26,7 @@ test() {
> local file_path="${TMPDIR}/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> @@ -41,7 +41,8 @@ test() {
> cat "/sys/block/${nvmedev}n1/uuid"
> cat "/sys/block/${nvmedev}n1/wwid"
>
> - _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1"
> + _run_fio_verify_io --size=${nvme_img_size} \

ShellCheck compains no double quotes in the line above.

> + --filename="/dev/${nvmedev}n1"
>
> _nvme_disconnect_subsys "${subsys_name}"
>
> diff --git a/tests/nvme/011 b/tests/nvme/011
> index 4bfe9af084e4..da8cbac11124 100755
> --- a/tests/nvme/011
> +++ b/tests/nvme/011
> @@ -26,7 +26,7 @@ test() {
> local file_path="${TMPDIR}/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> @@ -39,7 +39,8 @@ test() {
> cat "/sys/block/${nvmedev}n1/uuid"
> cat "/sys/block/${nvmedev}n1/wwid"
>
> - _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1"
> + _run_fio_verify_io --size="${nvme_img_size}" \
> + --filename="/dev/${nvmedev}n1"
>
> _nvme_disconnect_subsys "${subsys_name}"
>
> diff --git a/tests/nvme/012 b/tests/nvme/012
> index c9d24388306d..ecf44fcb5a51 100755
> --- a/tests/nvme/012
> +++ b/tests/nvme/012
> @@ -29,7 +29,7 @@ test() {
> local file_path="${TMPDIR}/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> diff --git a/tests/nvme/013 b/tests/nvme/013
> index 265b6968fd34..e249add46295 100755
> --- a/tests/nvme/013
> +++ b/tests/nvme/013
> @@ -28,7 +28,7 @@ test() {
>
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/014 b/tests/nvme/014
> index 875e99eea346..55d920f2660b 100755
> --- a/tests/nvme/014
> +++ b/tests/nvme/014
> @@ -29,7 +29,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> diff --git a/tests/nvme/015 b/tests/nvme/015
> index 8cb343e1d31c..071141380e43 100755
> --- a/tests/nvme/015
> +++ b/tests/nvme/015
> @@ -28,7 +28,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/017 b/tests/nvme/017
> index f2a95cf276cb..0248aee9bc41 100755
> --- a/tests/nvme/017
> +++ b/tests/nvme/017
> @@ -25,7 +25,7 @@ test() {
>
> file_path="${TMPDIR}/img"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/018 b/tests/nvme/018
> index 315e79534348..78e9b2bb94d8 100755
> --- a/tests/nvme/018
> +++ b/tests/nvme/018
> @@ -26,7 +26,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/019 b/tests/nvme/019
> index 4cb3509a12b2..9fff8ccaac9c 100755
> --- a/tests/nvme/019
> +++ b/tests/nvme/019
> @@ -28,7 +28,7 @@ test() {
> local nblk_range="10,10,10,10,10,10,10,10,10,10"
> local sblk_range="100,200,300,400,500,600,700,800,900,1000"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> diff --git a/tests/nvme/020 b/tests/nvme/020
> index 16fdfcc94918..1966d5925213 100755
> --- a/tests/nvme/020
> +++ b/tests/nvme/020
> @@ -26,7 +26,7 @@ test() {
> local nblk_range="10,10,10,10,10,10,10,10,10,10"
> local sblk_range="100,200,300,400,500,600,700,800,900,1000"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/021 b/tests/nvme/021
> index 6ee0af1fe158..1fefc0fbca00 100755
> --- a/tests/nvme/021
> +++ b/tests/nvme/021
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/022 b/tests/nvme/022
> index 1d76ffa44178..1ff915786f86 100755
> --- a/tests/nvme/022
> +++ b/tests/nvme/022
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/023 b/tests/nvme/023
> index b65be07edc38..90316230a3d7 100755
> --- a/tests/nvme/023
> +++ b/tests/nvme/023
> @@ -26,7 +26,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> diff --git a/tests/nvme/024 b/tests/nvme/024
> index f756797d6f29..384a8266e741 100755
> --- a/tests/nvme/024
> +++ b/tests/nvme/024
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/025 b/tests/nvme/025
> index 941bf36f67fb..815223d1c28d 100755
> --- a/tests/nvme/025
> +++ b/tests/nvme/025
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/026 b/tests/nvme/026
> index c3f06c2a377c..d2203f19f026 100755
> --- a/tests/nvme/026
> +++ b/tests/nvme/026
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/027 b/tests/nvme/027
> index 0ad663ace811..97fe70e78344 100755
> --- a/tests/nvme/027
> +++ b/tests/nvme/027
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/028 b/tests/nvme/028
> index 7de977a81213..c539620bee28 100755
> --- a/tests/nvme/028
> +++ b/tests/nvme/028
> @@ -25,7 +25,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> _create_nvmet_subsystem "${subsys_name}" "${file_path}" \
> "91fdba0d-f87b-4c25-b80f-db7be1418b9e"
> diff --git a/tests/nvme/029 b/tests/nvme/029
> index f8b4cbbb9156..1808b7b0edf1 100755
> --- a/tests/nvme/029
> +++ b/tests/nvme/029
> @@ -14,6 +14,7 @@ requires() {
> _nvme_requires
> _have_loop
> _require_nvme_trtype_is_fabrics
> + _require_test_dev_size 1M

The line above is added here, and removed in the next patch. I suppose these
are left over from the working code.

> }
>
> test_user_io()
> @@ -59,7 +60,7 @@ test() {
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> - truncate -s 1G "${file_path}"
> + truncate -s "${nvme_img_size}" "${file_path}"
>
> loop_dev="$(losetup -f --show "${file_path}")"
>
> diff --git a/tests/nvme/031 b/tests/nvme/031
> index 4e1798246db1..e70898819a86 100755
> --- a/tests/nvme/031
> +++ b/tests/nvme/031
> @@ -33,7 +33,7 @@ test() {
>
> _setup_nvmet
>
> - truncate -s 1G "$TMPDIR/img"
> + truncate -s "${nvme_img_size}" "$TMPDIR/img"
>
> loop_dev="$(losetup -f --show "$TMPDIR/img")"
>
> diff --git a/tests/nvme/032 b/tests/nvme/032
> index 2e4b7f0760c7..46bbff25e70d 100755
> --- a/tests/nvme/032
> +++ b/tests/nvme/032
> @@ -40,7 +40,6 @@ test_device() {
> # start fio job
> _run_fio_rand_io --filename="$TEST_DEV" \
> --group_reporting --time_based --runtime=-1 &> /dev/null &
> -
> sleep 5
>
> if [[ ! -d "$sysfs" ]]; then

The hunk above does not look required.

2023-05-07 23:36:10

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 02/12] nvme: Do not hard code device size for dd test

One nit: I suggest "nvme/{014,015}" as the commit title prefix. It will clarify
which test cases the commit touches.

2023-05-07 23:39:22

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 06/12] Documentation: Add info on nvme_tr_type

Oh, thank you for adding this missing piece! Please find a nit below.

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> Mention that the nvme tests can be parametrized.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> Documentation/running-tests.md | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/running-tests.md b/Documentation/running-tests.md
> index 3550f377f487..7e827fba7ac0 100644
> --- a/Documentation/running-tests.md
> +++ b/Documentation/running-tests.md
> @@ -98,6 +98,13 @@ requires that the kernel be compiled with `CONFIG_BLK_DEV_ZONED` enabled.
> RUN_ZONED_TESTS=1
> ```
>
> +### NVMe test parameterizing
> +
> +The NVMe tests can be additionally parameterized via environment variables.
> +
> +- nvme_tr_type: 'loop' (default), 'tcp', 'rdma' and 'fc'

nvme_tr_type should be nvme_trtype. Same for the commit title.

> + Run the tests with the given transport.
> +
> ### Running nvme-rdma nvmeof-mp srp tests
>
> Most of these tests will use the rdma_rxe (soft-RoCE) driver by default. The siw (soft-iWARP) driver is also supported.
> --
> 2.40.0
>

2023-05-07 23:41:06

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 11/12] nvme/rc: Move discovery generation counter code to rc

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> Move the discovery generation counter code to rc so that we can reuse
> it in 002.

The last #12 patch no longer touches nvme/002, then I'm not so sure this patch
is valuable. IMO, the lengthy 002.out has the role to check all of the 1000
times discoveries are successful. So it looks the better to keep current
nvme/002 as is.

2023-05-07 23:46:48

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 08/12] nvme/rc: Add minimal test image size requirement

Nit: the commit title subject can be "nvme: " since it touches both nvme/rc and
nvme test cases.

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> Some tests need a minimal test image size to work correctly. Thus add a
> helper to check the size and update these tests accordingly.
>
> The image minimum is 4M because some of the test have hard coded values.
> All tests which use the xfs fio verification job have a minimum
> requirement of 350M impossed by the xfs filesystem.
>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> tests/nvme/012 | 1 +
> tests/nvme/013 | 1 +
> tests/nvme/029 | 1 -
> tests/nvme/045 | 2 +-
> tests/nvme/rc | 15 +++++++++++++++
> 5 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/tests/nvme/012 b/tests/nvme/012
> index ecf44fcb5a51..efe227538c57 100755
> --- a/tests/nvme/012
> +++ b/tests/nvme/012
> @@ -16,6 +16,7 @@ requires() {
> _have_fio
> _have_loop
> _require_nvme_trtype_is_fabrics
> + _require_nvme_test_img_size 350m
> }
>
> test() {
> diff --git a/tests/nvme/013 b/tests/nvme/013
> index e249add46295..14e646a19c47 100755
> --- a/tests/nvme/013
> +++ b/tests/nvme/013
> @@ -15,6 +15,7 @@ requires() {
> _have_xfs
> _have_fio
> _require_nvme_trtype_is_fabrics
> + _require_nvme_test_img_size 350m
> }
>
> test() {
> diff --git a/tests/nvme/029 b/tests/nvme/029
> index 1808b7b0edf1..c6d38b42af70 100755
> --- a/tests/nvme/029
> +++ b/tests/nvme/029
> @@ -14,7 +14,6 @@ requires() {
> _nvme_requires
> _have_loop
> _require_nvme_trtype_is_fabrics
> - _require_test_dev_size 1M

As I mentioned for the previous patch, this line was added and removed.

> }
>
> test_user_io()
> diff --git a/tests/nvme/045 b/tests/nvme/045
> index 7c51da27b5f1..99012f6bed8f 100755
> --- a/tests/nvme/045
> +++ b/tests/nvme/045
> @@ -120,7 +120,7 @@ test() {
>
> nvmedev=$(_find_nvme_dev "${subsys_name}")
>
> - _run_fio_rand_io --size=8m --filename="/dev/${nvmedev}n1"
> + _run_fio_rand_io --size=4m --filename="/dev/${nvmedev}n1"
>
> _nvme_disconnect_subsys "${subsys_name}"
>
> diff --git a/tests/nvme/rc b/tests/nvme/rc
> index 51dde39c2966..0b4d5f6570d6 100644
> --- a/tests/nvme/rc
> +++ b/tests/nvme/rc
> @@ -21,6 +21,7 @@ nvme_img_size=${nvme_img_size:-"1G"}
>
> _nvme_requires() {
> _have_program nvme
> + _require_nvme_test_img_size 4m
> case ${nvme_trtype} in
> loop)
> _have_driver nvme-loop
> @@ -94,6 +95,20 @@ _require_test_dev_is_nvme() {
> return 0
> }
>
> +_require_nvme_test_img_size() {
> + local require_sz_mb
> + local nvme_img_size_mb
> +
> + require_sz_mb="$(convert_to_mb "$1")"
> + nvme_img_size_mb="$(convert_to_mb "${nvme_img_size}")"
> +
> + if (( "${nvme_img_size_mb}" < "$require_sz_mb" )); then

FYI, in bash arithmetic operation (( )), we don't need to add "${}" for
variables. Code below should work.

if ((nvme_img_size_mb < require_sz_mb)); then

> + SKIP_REASONS+=("nvme_img_size must be at least ${require_sz_mb}m")
> + return 1
> + fi
> + return 0
> +}
> +
> _require_nvme_trtype() {
> local trtype
> for trtype in "$@"; do
> --
> 2.40.0
>

2023-05-07 23:46:51

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 05/12] nvme: Use runtime fio background jobs

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> The fio jobs are supposed to run long in background during the test.
> Instead relying on a job size use explicit runtime for this.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> tests/nvme/032 | 4 ++--
> tests/nvme/040 | 9 +++++++--

Nit: I suggest "nvme/{032,040}" as the commit title prefix.

> 2 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/tests/nvme/032 b/tests/nvme/032
> index 017d4a339971..2e4b7f0760c7 100755
> --- a/tests/nvme/032
> +++ b/tests/nvme/032
> @@ -38,8 +38,8 @@ test_device() {
> sysfs="/sys/bus/pci/devices/${pdev}"
>
> # start fio job
> - _run_fio_rand_io --filename="$TEST_DEV" --size=1g \
> - --group_reporting &> /dev/null &
> + _run_fio_rand_io --filename="$TEST_DEV" \
> + --group_reporting --time_based --runtime=-1 &> /dev/null &

Nit: I checked fio man page, and did not find meaning of negative value for the
--runtime option. I also checked fio code, it looks that -1 is handled as
ULONG_MAX by type cast from singed long long to unsigned long long. Assuming
such negative values for the options are not well defined, --runtime=1d or
--runtime=365d would be the better to mean 'infinite runtime'.

>
> sleep 5
>
> diff --git a/tests/nvme/040 b/tests/nvme/040
> index 04bd726cd309..05b4f5472ef5 100755
> --- a/tests/nvme/040
> +++ b/tests/nvme/040
> @@ -21,6 +21,7 @@ test() {
> local port
> local loop_dev
> local nvmedev
> + local fio_pid
>
> echo "Running ${TEST_NAME}"
>
> @@ -37,8 +38,10 @@ test() {
>
> # start fio job
> echo "starting background fio"
> - _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size=1g \
> - --group_reporting --ramp_time=5 &> /dev/null &
> + _run_fio_rand_io --filename="/dev/${nvmedev}n1" \
> + --group_reporting --ramp_time=5 \
> + --time_based --runtime=-1 &> /dev/null &

Same as above.

> + fio_pid=$!
> sleep 5
>
> # do reset/remove operation
> @@ -48,6 +51,8 @@ test() {
> echo "deleting controller"
> _nvme_delete_ctrl "${nvmedev}"
>
> + { kill "${fio_pid}"; wait; } &> /dev/null
> +
> _remove_nvmet_subsystem_from_port "${port}" "${subsys}"
> _remove_nvmet_subsystem "${subsys}"
> _remove_nvmet_port "${port}"
> --
> 2.40.0
>

2023-05-07 23:47:57

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 10/12] nvme/rc: Calculate IO size for random fio jobs

The commit title prefix could be "nvme: ". And please find a question in line.

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> _nvme_calc_run_io_size() returns the jobs size for _run_fio_rand_io()
> function. The jobs size is the size per job, thus we have to divide
> through the number of CPUs.
>
> Signed-off-by: Daniel Wagner <[email protected]>
> ---
> tests/nvme/045 | 4 +++-
> tests/nvme/047 | 6 ++++--
> tests/nvme/rc | 10 ++++++++++
> 3 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/tests/nvme/045 b/tests/nvme/045
> index 99012f6bed8f..f50087cccb6a 100755
> --- a/tests/nvme/045
> +++ b/tests/nvme/045
> @@ -31,6 +31,7 @@ test() {
> local ctrlkey
> local new_ctrlkey
> local ctrldev
> + local rand_io_size
>
> echo "Running ${TEST_NAME}"
>
> @@ -120,7 +121,8 @@ test() {
>
> nvmedev=$(_find_nvme_dev "${subsys_name}")
>
> - _run_fio_rand_io --size=4m --filename="/dev/${nvmedev}n1"
> + rand_io_size="$(_nvme_calc_rand_io_size 4m)"
> + _run_fio_rand_io --size="${rand_io_size}" --filename="/dev/${nvmedev}n1"
>
> _nvme_disconnect_subsys "${subsys_name}"
>
> diff --git a/tests/nvme/047 b/tests/nvme/047
> index b5a8d469a983..6a7599bc2e91 100755
> --- a/tests/nvme/047
> +++ b/tests/nvme/047
> @@ -25,6 +25,7 @@ test() {
> local port
> local nvmedev
> local loop_dev
> + local rand_io_size
> local file_path="$TMPDIR/img"
> local subsys_name="blktests-subsystem-1"
>
> @@ -42,7 +43,8 @@ test() {
>
> nvmedev=$(_find_nvme_dev "${subsys_name}")
>
> - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
> + rand_io_size="$(_nvme_calc_rand_io_size 4M)"
> + _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}"

Here, _xfs_run_fio_verify_io is replaced with _run_fio_rand_io. May I confirm
that this replacement does not affect this test case? Same question for the hunk
below.

>
> _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
>
> @@ -50,7 +52,7 @@ test() {
> --nr-write-queues 1 \
> --nr-poll-queues 1 || echo FAIL
>
> - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
> + _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}"

>
> _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
>
> diff --git a/tests/nvme/rc b/tests/nvme/rc
> index 0b4d5f6570d6..268418e5b3e0 100644
> --- a/tests/nvme/rc
> +++ b/tests/nvme/rc
> @@ -150,6 +150,16 @@ _test_dev_nvme_nsid() {
> cat "${TEST_DEV_SYSFS}/nsid"
> }
>
> +_nvme_calc_rand_io_size() {
> + local img_size_mb
> + local io_size_kb
> +
> + img_size_mb="$(convert_to_mb "$1")"
> + io_size_kb="$(((img_size_mb * 1024) / $(OMP_THREAD_LIMIT=32 nproc)))"
> +
> + echo "${io_size_kb}k"
> +}
> +
> _nvme_fcloop_add_rport() {
> local local_wwnn="$1"
> local local_wwpn="$2"
> --
> 2.40.0
>

2023-05-10 17:30:36

by Daniel Wagner

[permalink] [raw]
Subject: Re: [PATCH blktests v3 10/12] nvme/rc: Calculate IO size for random fio jobs

On Sun, May 07, 2023 at 11:31:10PM +0000, Shinichiro Kawasaki wrote:
> - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL
> > + rand_io_size="$(_nvme_calc_rand_io_size 4M)"
> > + _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}"
>
> Here, _xfs_run_fio_verify_io is replaced with _run_fio_rand_io. May I confirm
> that this replacement does not affect this test case? Same question for the hunk
> below.

This is on purpose. The test just wants only verify that IO is still working.
Because _xfs_run_fio_verify_io has the minimum requirement of 350M for
nvme_img_size. When I wrote the test I didn't know this and thus this change.

I'll update the commit message to include this info.

2023-05-10 17:38:25

by Daniel Wagner

[permalink] [raw]
Subject: Re: [PATCH blktests v3 11/12] nvme/rc: Move discovery generation counter code to rc

On Sun, May 07, 2023 at 11:34:51PM +0000, Shinichiro Kawasaki wrote:
> On May 03, 2023 / 10:02, Daniel Wagner wrote:
> > Move the discovery generation counter code to rc so that we can reuse
> > it in 002.
>
> The last #12 patch no longer touches nvme/002, then I'm not so sure this patch
> is valuable. IMO, the lengthy 002.out has the role to check all of the 1000
> times discoveries are successful. So it looks the better to keep current
> nvme/002 as is.

While we don't update the counter anymore, I still think it's worthwhile to
do some cleanup. We have two tests which do the same thing so why not use common
code?

2023-05-11 16:46:49

by Shinichiro Kawasaki

[permalink] [raw]
Subject: Re: [PATCH blktests v3 11/12] nvme/rc: Move discovery generation counter code to rc

On May 10, 2023 / 19:24, Daniel Wagner wrote:
> On Sun, May 07, 2023 at 11:34:51PM +0000, Shinichiro Kawasaki wrote:
> > On May 03, 2023 / 10:02, Daniel Wagner wrote:
> > > Move the discovery generation counter code to rc so that we can reuse
> > > it in 002.
> >
> > The last #12 patch no longer touches nvme/002, then I'm not so sure this patch
> > is valuable. IMO, the lengthy 002.out has the role to check all of the 1000
> > times discoveries are successful. So it looks the better to keep current
> > nvme/002 as is.
>
> While we don't update the counter anymore, I still think it's worthwhile to
> do some cleanup. We have two tests which do the same thing so why not use common
> code?

Now nvme/002 checks 1000 discovery logs, and nvme/030 doesn't. For the common
code clean up, this patch removes the 1000 logs check from nvme/002. It looks
for me the check to remove has some value. Do you think the check is
meaningless?