[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