[systemd-devel] Second (erroneous) check of rootfs?

Chris Murphy lists at colorremedies.com
Sat Jan 10 14:31:57 PST 2015


On Sat, Jan 10, 2015 at 6:51 AM, Nikolai Zhubr <n-a-zhubr at yandex.ru> wrote:

>
> Hope someone will come up with a better solution though :)
> (There are lots of systems affected to some degree in the wild already)
>

Yeah it's a bit messy and I really think to some degree this should be
bounced back to the ext developers and say "how do you envision this
working" because doing the right thing for ext4 really burdens
multiple other processes: systemd of course, but also dracut, and then
linux-utils is pulled in since that's where generic fsck is, which
then calls e2fsck. It's at this point really overly complicated.

Windows and OS X by default at boot time do not do fsck. They defer to
the kernel mount code replaying the journal and only if there's
journal inconsistency does this trigger fsck. So I feel like somehow
there needs to be a deference to not doing fsck unless asked, and
maybe that requires the kdbus stuff to get finished first
(speculation)? That way only when kernel code says, yeah no that's not
gonna work, it can then communicate a need for an offline fsck. And
hypothetically it's possible in such a case to unmount root and do a
prescribed (recommended) offline fsck regardless of what filesystem it
is, and if that exits succesfully, resume normal boot. And just do
away with this mount ro and remount rw, and all the stupid fake fsck's
floating around.

Chris Murphy


More information about the systemd-devel mailing list