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
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel