On 08.01.2015 18:30, Andrei Borzenkov wrote: > В Thu, 08 Jan 2015 17:12:25 +0100 > Harald Hoyer <harald.ho...@gmail.com> пишет: > >> On 08.01.2015 16:55, Lennart Poettering wrote: >>> On Thu, 08.01.15 16:34, Harald Hoyer (harald.ho...@gmail.com) wrote: >>> >>>> IMHO >>>> >>>> systemd-fsck-root.service should be removed entirely and generated by the >>>> fstab-generator in the real root like all the other mount points. >>> >>> Well, this service *is* special, it needs to run before the other >>> fsck, and it needs different code to find the device to operate on, >>> since udev isn't up yet. It will have to stay I figure... >>> >>>> fstab-generator should create systemd-fsck-root.service for the /sysroot >>>> mountpoint in the initrd, which then will be serialized. >>> >>> Not a fan of overriding things like that... I would prefer to run the >>> same unit files in the initrd and on the host... >>> >>> What about this: we add some code to systemd-fsck that when run >>> without parameters, and within an initrd, it will check the host root? >> > > Yes, I was about to suggest the same at the end. Where I fill uneasy is > hardcoding /dev/root inside of systemd-fsck. In case of dracut this is > basically the only thing that we know for sure. Does every initrd > implementation use it? > > Alternative is to always use /dev/root in systemd-fsck and factor out > current code that checks for root block device into service/generator > that creates it.
Do not use /dev/root and do not rely on it! Please! > >> not sure, if I can follow. When run without parameters and within the initrd, >> it should do nothing. Anything can be root. Maybe it's NFS... and it is not >> mounted yet. >> >> A fake unit could do the same job. > > dracut already performs fsck for root if it is block device. The > suggestion is simply to use different service in this case. And only in > case of root on block device as it does currently. In case of systemd in the initrd, the fstab-generator ensures that fsck is done on root and /usr and any other partition marked with x-initrd.mount. That is _not_ dracut specific. > > Note that if src/shared/generator.c:generator_write_fsck_deps() should > be fixed to emit proper dependency for /sysroot as well; currently it > only does it for / only. > _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel