So the udev data for /dev/nvme0n1 is:
/devices/virtual/nvme-subsystem/nvme-subsys0/nvme0n1 N: nvme0n1 L: 0 S: disk/by-id/nvme-SAMSUNG_MZPLL3T2HAJQ-00005_S4CCNE0M300015 S: disk/by-id/nvme-eui.344343304d3000150025384500000004 E: DEVPATH=/devices/virtual/nvme-subsystem/nvme-subsys0/nvme0n1 E: SUBSYSTEM=block E: DEVNAME=/dev/nvme0n1 E: DEVTYPE=disk E: MAJOR=259 E: MINOR=1 E: USEC_INITIALIZED=5210525 E: MPATH_SBIN_PATH=/sbin E: DM_MULTIPATH_DEVICE_PATH=0 E: ID_SERIAL_SHORT=S4CCNE0M300015 E: ID_WWN=eui.344343304d3000150025384500000004 E: ID_MODEL=SAMSUNG MZPLL3T2HAJQ-00005 E: ID_REVISION=GPJA0B3Q E: ID_SERIAL=SAMSUNG MZPLL3T2HAJQ-00005_S4CCNE0M300015 E: ID_PART_TABLE_UUID=4bac57b7-307b-4b0e-a853-e0232c6fb955 E: ID_PART_TABLE_TYPE=gpt E: DEVLINKS=/dev/disk/by-id/nvme-SAMSUNG_MZPLL3T2HAJQ-00005_S4CCNE0M300015 /dev/disk/by-id/nvme-eui.344343304d3000150025384500000004 E: TAGS=:systemd:
The specific problem we have here is that when scanning for physical disks, we filter out DEVPATHs that start with /devices/virtual, because you know, we're looking for physical disks. Maybe we should only filter on /devices/virtual/block instead?
So the udev data for /dev/nvme0n1 is:
/devices/ virtual/ nvme-subsystem/ nvme-subsys0/ nvme0n1 id/nvme- SAMSUNG_ MZPLL3T2HAJQ- 00005_S4CCNE0M3 00015 id/nvme- eui.344343304d3 000150025384500 000004 /devices/ virtual/ nvme-subsystem/ nvme-subsys0/ nvme0n1 /dev/nvme0n1 D=5210525 PATH=/sbin DEVICE_ PATH=0 SHORT=S4CCNE0M3 00015 eui.344343304d3 000150025384500 000004 GPJA0B3Q 00005_S4CCNE0M3 00015 TABLE_UUID= 4bac57b7- 307b-4b0e- a853-e0232c6fb9 55 TABLE_TYPE= gpt /dev/disk/ by-id/nvme- SAMSUNG_ MZPLL3T2HAJQ- 00005_S4CCNE0M3 00015 /dev/disk/ by-id/nvme- eui.344343304d3 000150025384500 000004
N: nvme0n1
L: 0
S: disk/by-
S: disk/by-
E: DEVPATH=
E: SUBSYSTEM=block
E: DEVNAME=
E: DEVTYPE=disk
E: MAJOR=259
E: MINOR=1
E: USEC_INITIALIZE
E: MPATH_SBIN_
E: DM_MULTIPATH_
E: ID_SERIAL_
E: ID_WWN=
E: ID_MODEL=SAMSUNG MZPLL3T2HAJQ-00005
E: ID_REVISION=
E: ID_SERIAL=SAMSUNG MZPLL3T2HAJQ-
E: ID_PART_
E: ID_PART_
E: DEVLINKS=
E: TAGS=:systemd:
The specific problem we have here is that when scanning for physical disks, we filter out DEVPATHs that start with /devices/virtual, because you know, we're looking for physical disks. Maybe we should only filter on /devices/ virtual/ block instead?