From: Daniel Wagner <dwagner@suse.de>
To: linux-nvme@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
Chaitanya Kulkarni <kch@nvidia.com>,
Shin'ichiro Kawasaki <shinichiro@fastmail.com>,
Sagi Grimberg <sagi@grimberg.me>, Hannes Reinecke <hare@suse.de>,
James Smart <jsmart2021@gmail.com>,
Martin Belanger <Martin.Belanger@dell.com>,
Daniel Wagner <dwagner@suse.de>
Subject: [PATCH blktests v1 1/3] nvme/048: Check for queue count check directly
Date: Tue, 20 Jun 2023 15:27:01 +0200 [thread overview]
Message-ID: <20230620132703.20648-2-dwagner@suse.de> (raw)
In-Reply-To: <20230620132703.20648-1-dwagner@suse.de>
The test monitored the state changes live -> resetting -> connecting ->
live, to figure out the queue count change was successful.
The fc transport is reconnecting very fast and the state transitions
are not observed by the current approach.
So instead trying to monitor the state changes, let's just wait for the
live state and the correct queue number.
As queue count is depending on the number of online CPUs we explicitly
use 1 and 2 for the max_queue count. This means the queue_count value
needs to reach either 2 or 3 (admin queue included).
Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
tests/nvme/048 | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/tests/nvme/048 b/tests/nvme/048
index 81084f0440c2..3dc5169132de 100755
--- a/tests/nvme/048
+++ b/tests/nvme/048
@@ -42,6 +42,26 @@ nvmf_wait_for_state() {
return 0
}
+nvmf_wait_for_queue_count() {
+ local subsys_name="$1"
+ local queue_count="$2"
+ local nvmedev
+
+ nvmedev=$(_find_nvme_dev "${subsys_name}")
+
+ queue_count_file="/sys/class/nvme-fabrics/ctl/${nvmedev}/queue_count"
+
+ nvmf_wait_for_state "${subsys_name}" "live" || return 1
+
+ queue_count=$((queue_count + 1))
+ if grep -q "${queue_count}" "${queue_count_file}"; then
+ return 0
+ fi
+
+ echo "expected queue count ${queue_count} not set"
+ return 1
+}
+
set_nvmet_attr_qid_max() {
local nvmet_subsystem="$1"
local qid_max="$2"
@@ -56,10 +76,7 @@ set_qid_max() {
local qid_max="$3"
set_nvmet_attr_qid_max "${subsys_name}" "${qid_max}"
-
- # Setting qid_max forces a disconnect and the reconntect attempt starts
- nvmf_wait_for_state "${subsys_name}" "connecting" || return 1
- nvmf_wait_for_state "${subsys_name}" "live" || return 1
+ nvmf_wait_for_queue_count "${subsys_name}" "${qid_max}" || return 1
return 0
}
@@ -77,12 +94,8 @@ test() {
_setup_nvmet
- hostid="$(uuidgen)"
- if [ -z "$hostid" ] ; then
- echo "uuidgen failed"
- return 1
- fi
- hostnqn="nqn.2014-08.org.nvmexpress:uuid:${hostid}"
+ hostid="${def_hostid}"
+ hostnqn="${def_hostnqn}"
truncate -s "${nvme_img_size}" "${file_path}"
@@ -103,7 +116,7 @@ test() {
echo FAIL
else
set_qid_max "${port}" "${subsys_name}" 1 || echo FAIL
- set_qid_max "${port}" "${subsys_name}" 128 || echo FAIL
+ set_qid_max "${port}" "${subsys_name}" 2 || echo FAIL
fi
_nvme_disconnect_subsys "${subsys_name}"
--
2.41.0
next prev parent reply other threads:[~2023-06-20 13:27 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-20 13:27 [PATCH blktests v1 0/3] More fixes for FC enabling Daniel Wagner
2023-06-20 13:27 ` Daniel Wagner [this message]
2023-06-20 13:49 ` [PATCH blktests v1 1/3] nvme/048: Check for queue count check directly Sagi Grimberg
2023-06-20 17:37 ` Daniel Wagner
2023-06-21 9:50 ` Sagi Grimberg
2023-06-21 11:19 ` Daniel Wagner
2023-06-27 10:13 ` Shinichiro Kawasaki
2023-06-28 5:52 ` Daniel Wagner
2023-06-20 13:27 ` [PATCH blktests v1 2/3] nvme/rc: Avoid triggering host nvme-cli autoconnect Daniel Wagner
2023-06-20 14:07 ` Sagi Grimberg
2023-06-20 17:43 ` Daniel Wagner
2023-06-21 9:02 ` Daniel Wagner
2023-06-27 10:22 ` Shinichiro Kawasaki
2023-06-28 6:09 ` Daniel Wagner
2023-06-28 10:04 ` Shinichiro Kawasaki
2023-06-28 15:00 ` Daniel Wagner
2023-07-06 16:11 ` Max Gurtovoy
2023-07-10 8:27 ` Daniel Wagner
2023-07-10 9:53 ` Max Gurtovoy
2023-07-10 10:19 ` Daniel Wagner
2023-07-10 12:31 ` Max Gurtovoy
2023-07-10 15:03 ` Daniel Wagner
2023-07-10 16:30 ` Max Gurtovoy
2023-07-12 12:04 ` Daniel Wagner
2023-07-13 0:12 ` Max Gurtovoy
2023-07-13 6:00 ` Hannes Reinecke
2023-07-13 8:49 ` Max Gurtovoy
2023-07-13 10:14 ` Hannes Reinecke
2023-07-13 10:30 ` Daniel Wagner
2023-07-13 10:44 ` Daniel Wagner
2023-07-13 10:50 ` Max Gurtovoy
2023-06-20 13:27 ` [PATCH blktests v1 3/3] nvme/{041,042,043,044,045}: Use default hostnqn and hostid Daniel Wagner
2023-06-27 10:24 ` Shinichiro Kawasaki
2023-07-06 16:06 ` Max Gurtovoy
2023-07-10 8:32 ` Daniel Wagner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230620132703.20648-2-dwagner@suse.de \
--to=dwagner@suse.de \
--cc=Martin.Belanger@dell.com \
--cc=hare@suse.de \
--cc=jsmart2021@gmail.com \
--cc=kch@nvidia.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
--cc=shinichiro@fastmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox