[systemd-devel] What condition(s) do .device units wait for?

Mantas Mikulėnas grawity at gmail.com
Sat Sep 16 06:07:36 UTC 2023


.device units wait for *udev* to broadcast the uevent about that device
being added, which happens after udev has 1. received the initial kernel
uevent (either real or produced by systemd-udev-trigger.service) and 2.
finished processing all its .rules for that device (which means everything
that rules launched from RUN= must have exited, etc).

Only devices that udev rules have tagged with TAG+="systemd" will produce
.device units; generally 99-systemd.rules will add that to disk devices.

If any of the rules have marked the device with ENV{SYSTEMD_READY}="0", the
.device unit will keep waiting until another event removes that.


On Sat, Sep 16, 2023, 07:54 Philip Couling <couling at gmail.com> wrote:

> I'm trying to understand what a system is timing out waiting for a device
> in /etc/fstab when a simple "mount -av" will succeed.
>
> To reach systemd, initramfs has already mounted the device as the base
> layer to an overlay mount used as the root file system, so it's definitely
> ready to use in the Linux kernel. In /etc/fstab, fsck is set to 0.
>
> What condition does systemd wait for that could be timing out on a device
> that's already mounted?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20230916/c0fac462/attachment.htm>


More information about the systemd-devel mailing list