From: John Garry <john.g.garry@oracle.com>
To: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>,
linux-nvme@lists.infradead.org
Subject: Re: [PATCH blktests v2] nvme/068: check module reference count with patience
Date: Thu, 6 Aug 2026 08:24:34 +0100 [thread overview]
Message-ID: <57644cf9-ecce-4829-b7eb-82375960946e@oracle.com> (raw)
In-Reply-To: <20260806033146.2067433-1-shinichiro.kawasaki@wdc.com>
On 06/08/2026 04:31, Shin'ichiro Kawasaki wrote:
> The test case nvme/068 fails depending on the system it runs on with the failure
> message below: nvme/068 (tr=rdma) (NVMe multipath delayed removal test) [failed]
> runtime .. . 11. 357s --- tests/nvme/068. out 2026-08-03 17: 24: 32. 394566266 +0000
>
>
> The test case nvme/068 fails depending on the system it runs on with
> the failure message below:
>
> nvme/068 (tr=rdma) (NVMe multipath delayed removal test) [failed]
> runtime ... 11.357s
> --- tests/nvme/068.out 2026-08-03 17:24:32.394566266 +0000
> +++ /home/runner/blktests/results/nodev_tr_rdma/nvme/068.out.bad 2026-08-03 18:15:17.461243816 +0000
> @@ -1,3 +1,4 @@
> Running nvme/068
> pwrite: Input/output error
> +module refcount not as original
> Test complete
>
> The test case checks the reference count of the nvme_core module. If the
> count is not the expected value, it fails with the error message.
> However, when the test system is slow, it takes some time until the
> reference count gets updated. When the check is too early, the count
> mismatch happens. To avoid the unexpected failure, repeat the reference
> count check.
>
> Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Just one comment/query below...
> ---
> I ran the test case nvme/068 with the patch using the kernel that does
> not include the commit below:
>
> 3f150f0f010f ("nvme-multipath: put module reference when delayed removal work is canceled")
>
> And I observed the test case failed. When the kernel includes the commit,
> the test case passes. This indicates the patch does not break the
> reference count sanity check capability of the test case.
>
> Changes from v1:
> - Per review comments, handled empty "$refcnt" case and explicit 0 return
>
> tests/nvme/068 | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/tests/nvme/068 b/tests/nvme/068
> index 4aee95b..cab57cd 100755
> --- a/tests/nvme/068
> +++ b/tests/nvme/068
> @@ -27,6 +27,19 @@ _delayed_nvme_reconnect_ctrl() {
> _nvme_connect_subsys
> }
>
> +_check_nvme_core_ref_count() {
> + local refcnt i
> +
> + for ((i = 0; i < 10; i++)); do
> + refcnt=$(_module_use_count nvme_core)
> + if [ "$refcnt" == "" ] || [ "$refcnt" -eq "$refcnt_orig" ]; then
I thought that refcnt_orig was local to test(), so I am unsure how it is
accessible in this function...but it seems to work.
> + return 0
> + fi
> + sleep 1
> + done
> + return 1
> +}
> +
> test() {
> echo "Running ${TEST_NAME}"
>
> @@ -98,8 +111,7 @@ test() {
> if ! _nvmf_wait_for_state "${def_subsysnqn}" "live" ; then
> echo "subsystem did not return"
> fi
> - refcnt=$(_module_use_count nvme_core)
> - if [ "$refcnt" != "" ] && [ "$refcnt" -ne "$refcnt_orig" ]; then
> + if ! _check_nvme_core_ref_count; then
> echo "module refcount not as original"
> fi
>
> --
> 2.54.0
>
next prev parent reply other threads:[~2026-08-06 7:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-06 3:31 [PATCH blktests v2] nvme/068: check module reference count with patience Shin'ichiro Kawasaki
2026-08-06 7:24 ` John Garry [this message]
2026-08-06 11:30 ` Shin'ichiro Kawasaki
2026-08-07 8:32 ` John Garry
2026-08-20 14:01 ` Shin'ichiro Kawasaki
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=57644cf9-ecce-4829-b7eb-82375960946e@oracle.com \
--to=john.g.garry@oracle.com \
--cc=linux-nvme@lists.infradead.org \
--cc=shinichiro.kawasaki@wdc.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.