All of lore.kernel.org
 help / color / mirror / Atom feed
* [regression] nvme flush failed from v5.13-rc1
@ 2021-05-18 13:23 Yi Zhang
  2021-05-18 14:42 ` Keith Busch
  0 siblings, 1 reply; 2+ messages in thread
From: Yi Zhang @ 2021-05-18 13:23 UTC (permalink / raw)
  To: Keith Busch; +Cc: linux-nvme

Hi
commit[3] add a check to validates nsid which will lead nvme flush
cmd[1] failed as the cmd.nsid will use the default nsid:
NVME_NSID_ALL[2], that finally lead validate failed, any suggestions
to fix it?

[1]
# nvme flush /dev/nvme0n1
flush: Invalid argument
# dmesg
[  802.131609] nvme nvme0: nvme: nsid (4294967295) in cmd does not
match nsid (1) of namespace

[2]
        struct config cfg = {
                .namespace_id = NVME_NSID_ALL,
        };

[3]
commit c881a23fb6f7eb901155d25ba8dd1af0b8c7923b (HEAD, refs/bisect/bad)
Author: Niklas Cassel <niklas.cassel@wdc.com>
Date:   Fri Mar 26 19:48:00 2021 +0000

    nvme: disallow passthru cmd from targeting a nsid != nsid of the block dev


-- 
Best Regards,
  Yi Zhang


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [regression] nvme flush failed from v5.13-rc1
  2021-05-18 13:23 [regression] nvme flush failed from v5.13-rc1 Yi Zhang
@ 2021-05-18 14:42 ` Keith Busch
  0 siblings, 0 replies; 2+ messages in thread
From: Keith Busch @ 2021-05-18 14:42 UTC (permalink / raw)
  To: Yi Zhang; +Cc: linux-nvme

On Tue, May 18, 2021 at 09:23:39PM +0800, Yi Zhang wrote:
> Hi
> commit[3] add a check to validates nsid which will lead nvme flush
> cmd[1] failed as the cmd.nsid will use the default nsid:
> NVME_NSID_ALL[2], that finally lead validate failed, any suggestions
> to fix it?

Flush is the only IO command that accepts a broadcast NSID, but the
kernel now prevents dispatching commands to anything but the NSID of the
block device that you dispatched it. Perhaps the kernel can relax that
requirement and accept "all namespaces" for IO commands (I'll look into
that).

I'll change nvme-cli to default to the block device's NSID, since that
should always work.

> [1]
> # nvme flush /dev/nvme0n1
> flush: Invalid argument
> # dmesg
> [  802.131609] nvme nvme0: nvme: nsid (4294967295) in cmd does not
> match nsid (1) of namespace
> 
> [2]
>         struct config cfg = {
>                 .namespace_id = NVME_NSID_ALL,
>         };
> 
> [3]
> commit c881a23fb6f7eb901155d25ba8dd1af0b8c7923b (HEAD, refs/bisect/bad)
> Author: Niklas Cassel <niklas.cassel@wdc.com>
> Date:   Fri Mar 26 19:48:00 2021 +0000
> 
>     nvme: disallow passthru cmd from targeting a nsid != nsid of the block dev

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-05-18 14:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-18 13:23 [regression] nvme flush failed from v5.13-rc1 Yi Zhang
2021-05-18 14:42 ` Keith Busch

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.