[bug report] blktests nvme/047 failed due to /dev/nvme0n1 not created in time
Yi Zhang
yi.zhang at redhat.com
Thu Aug 10 03:21:07 PDT 2023
Hi Daniel/Shinichiro
Thanks for looking into this issue, I checked the 047 code, and we are
missing _find_nvme_dev after the second connect, and the below change
could fix this issue now.
diff --git a/tests/nvme/047 b/tests/nvme/047
index 6a7599b..8c0a024 100755
--- a/tests/nvme/047
+++ b/tests/nvme/047
@@ -52,6 +52,8 @@ test() {
--nr-write-queues 1 \
--nr-poll-queues 1 || echo FAIL
+ nvmedev=$(_find_nvme_dev "${subsys_name}")
+
_run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}"
_nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1
On Thu, Aug 10, 2023 at 5:18 PM Daniel Wagner <dwagner at suse.de> wrote:
>
> On Thu, Aug 10, 2023 at 12:19:39AM +0000, Shinichiro Kawasaki wrote:
> > Yi, could you try and see if it avoids the failure?
> >
> > diff --git a/tests/nvme/rc b/tests/nvme/rc
> > index 4f3a994..005db80 100644
> > --- a/tests/nvme/rc
> > +++ b/tests/nvme/rc
> > @@ -740,7 +740,7 @@ _find_nvme_dev() {
> > if [[ "$subsysnqn" == "$subsys" ]]; then
> > echo "$dev"
> > for ((i = 0; i < 10; i++)); do
> > - if [[ -e /sys/block/$dev/uuid &&
> > + if [[ -e /dev/$dev && -e /sys/block/$dev/uuid &&
> > -e /sys/block/$dev/wwid ]]; then
> > return
> > fi
>
> The path for uuid is not correct. It's needs to be something like
>
> if [[ -e /dev/$dev && -e /sys/block/"${dev}n1"/uuid &&
> -e /sys/block/"${dev}n1"/wwid ]]; then
> return
> fi
>
--
Best Regards,
Yi Zhang
More information about the Linux-nvme
mailing list