by-path persistent device names overlap the 2nd 4-port section of the controller on top of the first: pci-0000:03:00.0-sas-0x500304800e246e00-lun-0 -> ../../sdc pci-0000:03:00.0-sas-0x500304800e246e00-lun-0-part1 -> ../../sdc1 pci-0000:03:00.0-sas-0x500304800e246e01-lun-0 -> ../../sdd pci-0000:03:00.0-sas-0x500304800e246e01-lun-0-part1 -> ../../sdd1 pci-0000:03:00.0-sas-0x500304800e246e01-lun-0-part2 -> ../../sdg2 pci-0000:03:00.0-sas-0x500304800e246e02-lun-0 -> ../../sde pci-0000:03:00.0-sas-0x500304800e246e02-lun-0-part1 -> ../../sde1 sd[cde] are on ports 6:0-3 and sd[fg] are on ports 7:0-1 where 6 is the first half and 7 is the second half of the "dual" hardware config. Where a link already exists with a particular name, no new one is created to the 2nd half. This is why /dev/sdf is not linked to and why there is an sdg2 but no sdg or sdg1 (they would be the same as sdd and sdd1). /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host6/port-6:1/end_device-6:1/target6:0:1/6:0:1:0/block/sdd /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host7/port-7:1/end_device-7:1/target7:0:1/7:0:1:0/block/sdg E: DEVLINKS=/dev/disk/by-id/ata-M4-CT128M4SSD2_00000000113003152D83 /dev/disk/by-id/wwn-0x500a075103152d83 /dev/disk/by-path/pci-0000:03:00.0-sas-0x500304800e246e01-lun-0 E: DEVLINKS=/dev/disk/by-id/ata-WD_WD30EFRX-68AX9N0_WD-WMC1T1636965 /dev/disk/by-id/wwn-0x50014ee0ae28a327 /dev/disk/by-path/pci-0000:03:00.0-sas-0x500304800e246e01-lun-0 Whatever is determining ID_PATH isn't doing it right in this case. Let me know what additional information I can provide.
This is not really maintained, because none of us understands or uses SAS hardware. The people involved in the original code somehow can't agree on how to do this, and changed the way these links are composed, but it seems it was never solved sufficiently. Sorry, I'm just closing this, as none of us will or can work on fixing it. The longer-term plan for udev is to separate-out all the non-trivial SCSI things and leave it to a separate package maintained by somebody else who is willing and capable to do that. None of us is in the position to do that.
The way that SAS by-path ids are calculated was changed with commit http://cgit.freedesktop.org/systemd/systemd/commit/?id=66bba0e701. It should also fix this problem, please check!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.