[Pkg-sysvinit-devel] Superblock time check causes problems for fsck in initramfs

Ben Hutchings ben at decadent.org.uk
Tue Mar 31 02:14:53 UTC 2015


On Sun, 2015-03-29 at 04:29 +0200, Michael Biebl wrote:
> Hi Ben!
> 
> On Mon, 27 Oct 2014 22:51:53 +0000 Ben Hutchings <ben at decadent.org.uk>
> wrote:
> > Package: e2fsprogs
> > Version: 1.42.12-1
> > Severity: important
> > Tags: upstream
> > 
> > We discussed this previously in person, but unfortunately the proposed
> > solution doesn't work.
> > 
> > The plan for jessie (yes I know it's late) is to mount and fsck the
> > root and (if separate) /usr filesystems from initramfs code, before
> > handing over to the real init system.
> > 
> > e2fsck complains if the superblock write time is in the future, and
> > because the RTC is set to local time on some systems, we are doing the
> > necessary correction of system time in the initramfs.  This is
> > undesirable because changing the time zone may now require an
> > initramfs rebuild.
> > 
> > You said that this check could be disabled in a configuration file,
> > e2fsck.conf, and we can create that in the initramfs.  This works in
> > so far as it suppresses warnings while the initramfs code is running.
> > Unfortunately, every init system currently still checks the root
> > file-system again.  If the RTC is set to local time and that is east
> > of UTC, the first fsck sets the write time in the future, and the
> > second fsck warns.
> > 
> > Please disable this warning by default.
> 
> First of all, thanks for pushing forward on this issue in initramfs-tools.
> 
> I was wondering, if an alternative to disabling the superblock time
> check in e2fsprogs,

By the way, Lennart Poettering told me that other distributions have
done that, though I haven't checked whether it is done with a
configuration file or a patch to the code.

> it wouldn't be better to just skip the fsck of / (and /usr, if separate).
> For that, initramfs-tools could create a flag file for / and /usr in
> /run and we'd update systemd-fsck-root.service and systemd-fsck at .service
> and add a Condition= which checks for that flag file.
> (suggestion, let's call them /run/fsck/root and /run/fsck/usr)
> 
> 
> The sysv init scripts could do something similar (therefore CCed).

Not easily - they currently rely on the fsck binary to iterate over all
filesystems, and don't have any logic to do so themselves.  (That's why
initramfs-tools still doesn't mount /usr if it's going to hand over to
sysvinit.)

> What do you think?

I'm not convinced.

Ben.

-- 
Ben Hutchings
If at first you don't succeed, you're doing about average.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/attachments/20150331/31e5946a/attachment.sig>


More information about the Pkg-sysvinit-devel mailing list