[Bug 1611945] Re: /dev/disk/by-path not properly populated for (e)SATA port multiplier disks
zbyszek
1611945 at bugs.launchpad.net
Thu Aug 11 17:41:43 UTC 2016
Feel free to file the bug directly upstream at
https://github.com/systemd/systemd/issues/new. This is not ubuntu
specific in any way.
(In the future, the same general rule applies: the "two releases" rule
is intended to let us avoid dealing with long-fixed bugs and versions of
systemd that we're no longer actively working on. But if the code is
obviously unchanged between some distro version and upstream, just file
the bug and say so in the bug.)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1611945
Title:
/dev/disk/by-path not properly populated for (e)SATA port multiplier
disks
Status in systemd package in Ubuntu:
New
Bug description:
We have a just-installed Ubuntu 16.04 LTS machine with a number of
disks behind port-multiplier eSATA ports, all of them driven by a SiI
3124 controller (sata_sil24 kernel driver). Our machine sees all disks
on all channels, however under 16.04 only one disk from each channel
shows up in /dev/disk/by-path/ (all disks show up in /dev/disk/by-id
and /dev/disk/by-uuid). For our usage this is a severe defect because
we rotate disks in and out of the external enclosure and rely on
mounting specific slots in the external enclosure through /dev/disk
/by-path.
This did not happen in Ubuntu 12.04 LTS, the release that this machine
was previously running.
According to 'udevadm info --export-db' and 'udevadm test-builtin
path_id' and so on, systemd's udev stuff is assigning all drives
behind the same port the same disk/by-path data (ID_PATH et al). In
'udevadm info /sys/block/sdX', the 'P:' and 'E: DEVPATH=' values show
a difference in the target portion of PCI path, eg:
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/ata1/host0/target0:1:0/0:1:0:0/block/sdb
However the 'S: disk/by-path', 'E: DEVLINKS=', and 'E: ID_PATH'
portions do not. For both devices above, we see:
S: disk/by-path/pci-0000:02:00.0-ata-1
E: ID_PATH=pci-0000:02:00.0-ata-1
Naturally only one device can have a /dev/disk/by-
path/pci-0000:02:00.0-ata-1 symlink, so instead of four disks per
channel in /dev/disk/by-path we see one.
Ubuntu release: 16.04
Package versions from 'apt-cache policy udev systemd':
udev:
Installed: 229-4ubuntu7
systemd:
Installed: 229-4ubuntu7
'journalctl -b' reports that during boot systemd does report some
'appeared twice with different sysfs paths' notes, eg:
Aug 10 13:34:21 verdandi systemd[1]: dev-disk-by\x2dpath-
pci\x2d0000:02:00.0\x2data\x2d1\x2dpart1.device: Dev dev-disk-by
\x2dpath-pci\x2d0000:02:00.0\x2data\x2d1\x2dpart1.device appeared
twice with different sysfs paths
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/ata1/host0/target0:3:0/0:3:0:0/block/sdd/sdd1
and
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/sda1
However it doesn't seem to be reporting this for all port-multiplier
drives and their partitions.
If it would be useful I can attach full 'udevadm info --export-db'
output or the like.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1611945/+subscriptions
More information about the foundations-bugs
mailing list