On 08/08/14 12:53, Henrique de Moraes Holschuh wrote: > On Tue, 05 Aug 2014, Simon McVittie wrote: >> Also, the initramfs-tools patchset includes closing #708000 by fsck'ing >> / and /usr before mounting them. So I'm not sure why initscripts would >> ever need to fsck the root or /usr filesystems any more? > > We do support booting without an initramfs under controlled conditions, so > the need to fsck / outside of the initramfs is real.
Oh yes, sorry, I mis-spoke. initscripts certainly does still need to be able to fsck the root filesystem for the benefit of people with a monolithic kernel, if nothing else. Please see <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652459#175> for my attempt to enumerate all the possible combinations. I think there are eight: if we denote the possibilities by M/I: monolithic kernel vs. initramfs R/U: /usr is on root vs. /usr is its own partition F/-: initramfs fscks and mounts / and /usr (only if I) vs. it does not W/-: initramfs mounts / and /usr rw (only if I & F) vs. it does not then we have MR-- MU-- (not reliable because e.g. awk, udev want /usr) IR-- (removed by fixing #652459, but easy if we need MR-- anyway) IU-- (not reliable because e.g. awk, udev want /usr) IRF- IRFW IUF- IUFW > /usr as a separate partition *and* no initramfs to mount it early is > [unfortunately] a really bad idea on jessie/sid, we don't have to add > support for that outside of the initramfs (but warning the user of the > problem is likely to be a good idea). Indeed. With that in mind, I'm still not quite sure why initscripts would need to fsck /usr any earlier than it does now. Was that perhaps rleigh attempting to provide best-effort support for the deprecated cases MU-- and IU-- (separate /usr with either a monolithic kernel, or an initramfs where #652459 has not been fixed) by mounting /usr as soon as possible in ordinary userland, so that only the critical path from entry-to-userland to checkfs.sh needs to care about whether /usr is separate, allowing the rest of rcS to assume that /usr is mounted? Vaguely relatedly, I see you're a sysvinit/initscripts maintainer. On #697002 I suggested that maybe initscripts' checkfs.sh should use fsck -M (ignore mounted filesystems), like systemd-fsck does, instead of fsck -R (ignore root) as it currently does. That would make it unnecessary to modify util-linux for the "provide /usr early" feature, which could be done entirely via changes to initramfs-tools and initscripts. Any opinion on that? S _______________________________________________ Pkg-sysvinit-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

