From 311a9640c102e5cc851717bbef5ae70b21cc88ba Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Tue, 6 Oct 2009 21:43:52 +0200 Subject: [PATCH] add the debian-ubuntu-battery-skip-fsck-bug blogentry Signed-off-by: Nico Schottelius --- ...ebian-ubuntu-fsck-skip-on-battery-bug.mdwn | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 blog/debian-ubuntu-fsck-skip-on-battery-bug.mdwn diff --git a/blog/debian-ubuntu-fsck-skip-on-battery-bug.mdwn b/blog/debian-ubuntu-fsck-skip-on-battery-bug.mdwn new file mode 100644 index 00000000..762313a7 --- /dev/null +++ b/blog/debian-ubuntu-fsck-skip-on-battery-bug.mdwn @@ -0,0 +1,56 @@ +[[!meta title="Ubuntu and Debian skip fsck on battery - a bug"]] + +Everytime I go through the init scripts or init configurations +of the "traditional" (as in having a sequential order and/or +using shell scripts) init systems, there are interesting things to find: + +Not only that probably half of the boottime could be saved if people +move the "if system has x, do y" stuff out of the init system and make +it part of the configuration process, no. +There are also a lot of other interesting quirks within the init configuration, +like this one: + + on_ac_power >/dev/null 2>&1 + if [ "$?" -eq 1 ] + then + log_warning_msg "On battery power, so skipping file system check." + rootcheck=no + fi + +That part is shameless stolen from ***S20checkroot.sh***, +Ubuntu Jaunty (9.04), but it can also be found in Debian. +So if the system is running on battery, this configuration will skip +the filesystem check. + +Now imagine your filesystem **needs** to be checked, because the +user space program ***fsck*** replays the journal and marks the +filesystem as clean. Furthermore, assume that without this filesystem +check the filesystem cannot be mounted read write. + +That is exactly what is done by ***fsck.jfs***, the filesystem check +for JFS filesystems. + +So if you are running Debian or Ubuntu with JFS on the root filesystem, +your system crashed the last time and you bootup on battery the bootup +process will fail, because the root filesystem cannot be mounted +read write. + +Perhaps the authors idea of these lines was to skip senseless +filesystem checks for ext{2,3,4}, which occur after a certain +amount of time. But as it can be seen, this "fix" introduced +a new bug. + +Dear Debian and Ubuntu developers: + + Please do not skip the filesystem check. + All the users with JFS on / of their notebook will thank you! + +I would have fixed that in Debian myself, if there was a +"get a fix integrated in 5 minutes" approach. +But after reading Debian documentation for some hours I did not find it. + +If you find that way [[let me know|about]] and I'll write an article +"How to fix a Debian package in 5 minutes" plus provide a patch +to solve this init misconfiguration issue. + +[[!tag unix]]