[systemd-devel] Luks + lvm in initrd, tracking the issue

Luca Bruno lethalman88 at gmail.com
Fri Oct 31 14:57:02 PDT 2014


I've tracked down the issue a little.

sysroot.mount requires/after dev-vg-lv.device.

System start, dev-vg-lv is inactive.
vgchange -a y -> dev-vg-lv active.
vgchange -a n -> dev-vg-lv inactive.
At this point, unit->job of dev-vg-lv is NULL (sometimes also happens when
I don't run vgchange, but I still haven't been able to reproduce it).

When sysroot.mount is started, job_is_runnable[1] checks for AFTER
dependencies that have a non-NULL ->job currently running. But dev-vg-lv is
inactive, thus sysroot.mount fails to start.

That also means the REQUIRES dependency of sysroot.mount to dev-vg-lv did
not trigger the start the dev-vg-lv.device.

Resuming: dev-vg-lv.device is inactive and has no job running, it's
required/after yet it's not started when sysroot.mount is started.

I have no deep knowledge of systemd internals to propose anything so I'd
appreciate some feedback :)

Best regards,

[1] http://lxr.devzen.net/source/xref/systemd/src/core/job.c#429
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20141031/944e83d5/attachment.html>


More information about the systemd-devel mailing list