add the debian-ubuntu-battery-skip-fsck-bug blogentry
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
This commit is contained in:
parent
021fcc19cb
commit
311a9640c1
1 changed files with 56 additions and 0 deletions
56
blog/debian-ubuntu-fsck-skip-on-battery-bug.mdwn
Normal file
56
blog/debian-ubuntu-fsck-skip-on-battery-bug.mdwn
Normal file
|
@ -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]]
|
Loading…
Reference in a new issue