On Thursday 21 August 2014 at 22:06:49, Ivan Shapovalov wrote: > On Thursday 21 August 2014 at 01:03:20, Lennart Poettering wrote: > > [...] > > > > > > > > ...missing sysroot's fsck, as well as any other x-initrd mounts and > > > > their fsck instances. > > > > > > > > Seems that sysroot.mount alone isn't sufficient. > > > > > > ...Anything on this? > > > > > > Should we add yet another passive target(s), something like fsck-pre? I > > > don't > > > actually know what is the best way to tackle this. The resume unit shall > > > be > > > activated before any writes to any block devices, including fsck, > > > cryptsetup > > > and whatever else. > > > > Hmm, so I though a bit about this, and I think we should make the > > following changes to systemd: > > > > a) move local-fs-pre.target before all the fsck. This way we can make > > use of it as a barrier against modifications of any fs. > > ...all fsck except the systemd-fsck-root.service, right? It's already ordered > before local-fs-pre.target. > > Makes sense; then the resume unit will be > > Wants=local-fs-pre.target > Before=local-fs-pre.target systemd-fsck-root.service > systemd-remount-fs.service shutdown.target > ConditionPathIsReadWrite=!/ > > However, this breaks when there is a legacy /usr mount without fsck... > src/core/mount.c:mount_add_default_dependencies() does not add > After=local-fs-pre.target if the mount in question is / or /usr. > > Hence, the legacy /usr mount is missed by this scheme.
Actually, I don't pretty understand the reasoning behind skipping the default dependencies on /usr mount (commit b24de9d2, but the commit message doesn't say much). So hypothetically there are three solutions of different ugliness and acceptability: - introduce yet another target (all-fs-pre.t?) - revert b24de9d2 - add explicit Before=usr.mount to the resume unit -- Ivan Shapovalov / intelfx / > > > > > > > b) introduce initrd-fs-pre.target that then plays a similar role, but in > > the initrd. > > Is it neeeded? IIUC, local-fs-pre.target can be used in initramfs as well, > the default dependency on this target is still generated on all mounts. > (except in-initramfs /usr, see the above problem) > > > > > A service that wants to run before any fs is touched should then order > > itself before both and everything should be good. > > > > If this makes sense, I would be happy to take a patch. > > > > I'd be willing to merge a good patch for a generator + mini-tool that > > parse the resume= option into systemd as well, btw. > > I've already implemented the generator and resume tool prototype. Sure, when > we > solve the dependencies problem, I'll submit this for inclusion. > >
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel