Consumer SSD listing namespace as nvme0c0n1 instead of nvme0n1 in /sys/class/ ?
Christoph Hellwig
hch at infradead.org
Thu Dec 15 23:18:48 PST 2022
On Thu, Dec 15, 2022 at 03:27:59PM -0600, Nick Neumann wrote:
> Is the way this device is presenting itself
> incorrect, or is it just an uncommon way of doing things?
Not really incorrect, but unusual and probably suboptimal. The
multi-pathing is enabled if the device sets the bits that it might
have multiple controllers (i.e.g multiple PCIe ports) and that the
namespace is a shared namespace that could be accessed by multiple
controllers. If this is a m.2 device and doesn't support SR-IOV
none of the above can practically happen. But there's nothin in
the spec prohibiting it from setting these bits. And once the bits
are set Linux uses the multi-pathing code to be prepared for the other
controller (path) to show up.
The only downside for you is that there is a bit more overhead in the
I/O path. The overhead is not a lot and should not practically matter
for a flash based device.
More information about the Linux-nvme
mailing list