Comment 4 for bug 1611945

Revision history for this message
Chris Siebenmann (cks) wrote :

Here is the full 'udevadm test' output for two disks on the same port multiplier channel. I can do a disk on a different channel as well if you want.

On 12.04, the sysfs path of the same disk slot is /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/host8/target8:0:0/8:0:0:0/block/sdk (the sdN numbering is inconsistent from boot to boot, which is why we want /dev/disk/by-path names for all of them). We don't have any 14.04 hosts with a port multiplier, so I don't know when the kernel started putting the hostN directory in the /ataN/ directory and thus triggering udev's special ATA disk handling.

('udevadm test /sys/class/block/sdk' on the 12.04 machine says that udev sees this as an ATA and SATA disk; ID_ATA and ID_ATA_SATA are both 1 and ID_BUS is ata. But it winds up with ID_PATH=pci-0000:02:00.0-scsi-2:0:0:0, instead of an ata variant.)

I agree with your analysis that this is affects systemd HEAD. As far as I can see HEAD has nothing in handle_scsi_ata() that would give different names to multiple disks behind the same ATA port. Sadly we have no systems that are running a recent enough systemd that I can report it to them, based on their reporting policies. Is there a bootable live CD of the in-progress next Ubuntu versions? That might have a recent enough systemd that I could boot it on the system in question, verify that its systemd isn't generating the right /dev/disk/by-path results, and report it upstream.