Thanks for your encouragement. I've now filed this as an issue with
upstream systemd as https://github.com/systemd/systemd/issues/3943 .

** Bug watch added: github.com/systemd/systemd/issues #3943
   https://github.com/systemd/systemd/issues/3943

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to