From: Kay Sievers Date: Mon, 28 Mar 2011 23:14:53 +0000 (+0200) Subject: systemd: do not enable udev-settle.service by default X-Git-Tag: 174~211 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=ce440d1c1bcd9ac05a34bd987bc68744270214d7 systemd: do not enable udev-settle.service by default This barrier service is usually not enabled by default. If enabled, it acts as a barrier for basic.target -- so all later services will wait for udev completely finishing its coldplug run. It might be enabled just unconditionally, or pulled-in on-demand by broken or non-hotplug-aware services that assume a fully populated /dev at startup. --- diff --git a/Makefile.am b/Makefile.am index d8ce4b3f1..df70bf73b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -137,7 +137,6 @@ systemd-install-hook: mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service ln -sf ../udev-trigger.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-trigger.service - ln -sf ../udev-settle.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-settle.service INSTALL_DATA_HOOKS += systemd-install-hook endif diff --git a/NEWS b/NEWS index 63826003e..b86e0bcca 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,13 @@ is preserved for the udev version started in the rootfs. The command 'udevadm info --convert-db' is gone. The udev daemon itself, at startup, converts any old database version if necessary. +The systemd services files have been reorganized. The udev control +socket is bound by systemd and passed to the started udev daemon. +The udev-settle.service is no longer active by default. Services which +can not handle hotplug setups properly need to actively pull it in to +act like a barrier for basic.target. Alternatively the settle service +can be unconditionally 'systemctl'enabled to work-around such services. + The fstab_import callout is no longer built or installed. Udev should not be used to mount, does not watch changes to fstab, and should not mirror fstab values in the udev database. diff --git a/init/udev-settle.service.in b/init/udev-settle.service.in index c5d7e96cb..be06a3935 100644 --- a/init/udev-settle.service.in +++ b/init/udev-settle.service.in @@ -1,3 +1,11 @@ +# This barrier service is usually not enabled by default. If enabled, +# it acts as a barrier for basic.target -- so all later services will +# wait for udev completely finishing its coldplug run. +# +# It might be enabled just unconditionally, or pulled-in on-demand by +# broken or non-hotplug-aware services that assume a fully populated +# /dev at startup. + [Unit] Description=udev Wait for Complete Device Initialization DefaultDependencies=no @@ -8,3 +16,6 @@ Before=basic.target Type=oneshot RemainAfterExit=yes ExecStart=@sbindir@/udevadm settle + +[Install] +WantedBy=basic.target