[Bug 1713536] Re: udev: boot script does not trigger subsystem coldplug
Brian Murray
brian at ubuntu.com
Tue Sep 19 15:24:14 UTC 2017
Hello bugproxy, or anyone else affected,
Accepted systemd into xenial-proposed. The package will build now and be
available at https://launchpad.net/ubuntu/+source/systemd/229-4ubuntu20
in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-xenial to verification-done-xenial. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-xenial. In either case, details of your
testing will help us make a better decision.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: systemd (Ubuntu Xenial)
Status: In Progress => Fix Committed
** Tags removed: verification-done
** Tags added: verification-needed verification-needed-xenial
--
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/1713536
Title:
udev: boot script does not trigger subsystem coldplug
Status in Ubuntu on IBM z Systems:
In Progress
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Xenial:
Fix Committed
Status in systemd source package in Zesty:
Fix Committed
Status in systemd source package in Artful:
Fix Released
Bug description:
[Impact]
subsystems udev rules are not processed on boot, thus resulting in missing devices on boot / before rootfs is mounted.
[Solution]
trigger udev subsystems and devices, in the initramfs, in that order.
[Testcase]
Boot s390x system with chzdev configured devices, and cio_ignore=all kernel command line parameter. The chzdev configured devices should still be discovered on boot.
[Original Bug report]
The udev initramfs-tools boot script does not trigger subsystem "add"
uevents. As a result, udev rules that listen to subsystem "add" events
are never activated. This problem exists on at least Ubuntu 16.04 and
17.10.
On s390, this results in a boot failure if the kernel is configured to
start with an active device black list (kernel parameter
cio_ignore=all,!condev). An example for an affected udev rule looks
like this:
ACTION=="add", SUBSYSTEM=="subsystem", KERNEL=="ccw",
RUN{program}+="/bin/sh -c 'echo free 0009,ec30,ec32,f5f0-f5f2 >
/proc/cio_ignore'"
A proposed fix would be:
Modify /usr/share/initramfs-tools/scripts/init-top/udev:
Replace line
udevadm trigger --action=add
with
udevadm trigger --type=subsystems --action=add
udevadm trigger --type=devices --action=add
This would also be consistent with the steps that the systemd udev
coldplug unit file performs (see /lib/systemd/system/systemd-udev-
trigger.service).
[Regression Potential]
More udev rules will be now triggered, earlier, during initramfs stage of boot rather than post-pivot-root. However, this is inline with current rootfs behaviour and thus should not regress behaviour - simply some rules will get triggered earlier.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1713536/+subscriptions
More information about the foundations-bugs
mailing list