Re: [PATCH 4/4] nvme: check that EUI/GUID/UUID are globally unique

Stefan
2022-06-06T15:04:46Z

On 2/24/22 20:28, Christoph Hellwig wrote:
> Add a check to verify that the unique identifiers are unique globally
> in addition to the existing check that verifies that they are unique
> inside a single subsystem.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---

Hi list!

(not following nvme-dev, sorry if reported before)

Ran into a boot failure on my workstation today and I traced it to this
commit, reverting it on v5.18.1 makes it work. Quad-nvme boot raid.

I saw some follow-ups adding quirks, so I added NVME_QUIRK_BOGUS_NID to my
drives (1cc1:5350 for reference) and that worked too - if this is ok for an
actual patch let me know.

Prints error "globally duplicate IDs for nsid 1". Symptom is one drive
(appears to be random every boot?) not showing up in /dev/disk/by-id, other 3
are there and accessible. Happens 100%, no chance at mapping my raid.

System info:

# nvme list

Node Generic SN Model Namespace Usage Format FW Rev
------------- ----------- ------------- --------------- --------- ------------------------- ------------- --------
/dev/nvme3n1 /dev/ng3n1 PJ5220001302 XPG GAMMIX S50 1 1.00 TB / 1.00 TB 4 KiB + 0 B EGFM11.2
/dev/nvme2n1 /dev/ng2n1 PJ5220001308 XPG GAMMIX S50 1 1.00 TB / 1.00 TB 4 KiB + 0 B EGFM11.2
/dev/nvme1n1 /dev/ng1n1 PJ3820001439 XPG GAMMIX S50 1 1.00 TB / 1.00 TB 4 KiB + 0 B EGFM11.2
/dev/nvme0n1 /dev/ng0n1 PJ3820001437 XPG GAMMIX S50 1 1.00 TB / 1.00 TB 4 KiB + 0 B EGFM11.2

# cat /sys/class/nvme/nvmeX/nvmeXn1/nsid
1

Out of curiosity, I tried printk'ing the values being compared here, and it's
the same for all drives:

uuid: 00000000-0000-0000-0000-000000000000
nguid: empty?
eui64: random (?), but always same on all drives

Open to provide more info,
Thanks,

~ Stefan