units: order service(s) before udevd, not udev-trigger (coldplug)
authorAlan Jenkins <alan.christopher.jenkins@gmail.com>
Tue, 15 Aug 2017 13:22:44 +0000 (14:22 +0100)
committerAlan Jenkins <alan.christopher.jenkins@gmail.com>
Tue, 15 Aug 2017 13:22:44 +0000 (14:22 +0100)
Since hotplugs happen as soon as udevd is started, there is not much sense
in giving udev-trigger an After= dependency on any service.  The device
could be hotplugged before coldplug starts.

This is intended to avoid the race window where we create the hwdb with
the wrong selinux context (then fix it up afterwards).
https://github.com/systemd/systemd/issues/3458#issuecomment-322444107

units/systemd-udev-trigger.service.in
units/systemd-udevd.service.in

index 1e04d11..0c33909 100644 (file)
@@ -10,7 +10,7 @@ Description=udev Coldplug all Devices
 Documentation=man:udev(7) man:systemd-udevd.service(8)
 DefaultDependencies=no
 Wants=systemd-udevd.service
-After=systemd-udevd-kernel.socket systemd-udevd-control.socket systemd-hwdb-update.service
+After=systemd-udevd-kernel.socket systemd-udevd-control.socket
 Before=sysinit.target
 ConditionPathIsReadWrite=/sys
 
index 5860545..3b92c6a 100644 (file)
@@ -9,7 +9,7 @@
 Description=udev Kernel Device Manager
 Documentation=man:systemd-udevd.service(8) man:udev(7)
 DefaultDependencies=no
-After=systemd-sysusers.service
+After=systemd-sysusers.service systemd-hwdb-update.service
 Before=sysinit.target
 ConditionPathIsReadWrite=/sys