linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Tuomo Valkonen <tuomov@iki.fi>
Cc: linux-kernel@vger.kernel.org
Subject: Re: The ext3 way of journalling
Date: Tue, 8 Jan 2008 13:15:25 -0500	[thread overview]
Message-ID: <20080108181525.GL27800@mit.edu> (raw)
In-Reply-To: <slrnfo7b3a.6m2.tuomov@jolt.modeemi.cs.tut.fi>

On Tue, Jan 08, 2008 at 05:01:30PM +0000, Tuomo Valkonen wrote:
> On 2008-01-08, Andi Kleen <andi@firstfloor.org> wrote:
> > tune2fs -i0 -c0 device      for each file system
> >
> > Yes that should be default, unfortunately it is not. It's one 
> > of the first things I do on new machines.
> 
> I have ages ago increased those counts, but I don't want to
> completely disable them. The problem is that the superblock
> is corrupted to indicate absurd "31352 days since last check".
> Who knows, maybe it would even corrupt those settings.

Newer e2fsprogs display a better message, and you can set an
/etc/e2fsck.conf setting:

[options]
        buggy_init_scripts = 1

That will fix the this issue.  The problem you are facing is that you
have your hardware clock set to ticking localtime, instead of GMT.
Windows ticks localtime, which is a mistake carried over from the
1970's and MS-DOS.  Ticking localtime has all sorts of problems, among
which is if you reboot around the transition between Summer Time (or
Daylight Savings Time, depending on your contry) and normal time, the
OS has no idea whether the DST adjustment has been applied or not.  

It gets even worse if you have multiple operating systems, because
then one OS may have made the adjustment, and other one may no have
made the adjustment.  It's for that reason that if you reboot around
the right time of year, Windows throws up a big dialog box asking you
what the correct time should be.  Genius!

The problem on the Linux side is that some distributions, and Ubuntu
is the worse offender, but probably not the only one, do not correctly
set the system clock before they run fsck.  And if you live east of
GMT, such that your localtime offset is positive instead of negative,
then time can appear to go backwards and e2fsck can't trust the last
superblock check time.  Old versions of e2fsprogs display a funny
large time interval due to an integer overflow bug; that's since been
fixed.  (This bug doesn't support people in the US, because of our
time zone offset, but it tends to affect people in Europe who are
dual-booting with Windows and hance have their hardware clock tick
localtime.)

Now, there are good reasons for doing periodic checks every N mounts
and after M months.  And it has to do with PC class hardware.  (Ted's
aphorism: "PC class hardware is cr*p").  Windows users don't notice it
much because they generally blame the occasional blue screen of death
or corrupted file as an OS bug.  But very often, it is a hardware
issue, particularily on the cheaper PC class machines with no ECC
memory, and cheapest, unshielded hard drive cables from Taiwan that
the manufacturers can find.  Hence, the default is to do periodic
checks, since if you don't a random corruption can cause massive
filesystem corruption leading to massive data loss.

But, if you're confident in your hardware, you can turn that off.
tune2fs -c 0 will disable the number of mounts check, and tune2fs -i 0
will turn of the periodic time-based check.  And given that you have a
Linux distribution with buggy init scripts, that is one way of working
around the problem.

You could also simply change your CMOS/hardware clock to use GMT time,
and not localtime.  But that doesn't work well when you need to
dual-boot with Windows, since Windows doesn't support GMT time for the
hardware clock.

Another approach would involve using the /etc/e2fsck.conf settings
described above, but that will require possibly upgrading the version
of e2fsprogs that you have.  This will be the preferred mechanism
going forward, but perhaps not for the version of e2fsprogs you have
installed on your system.

Finally, I'm sorry this has obviously caused you so much stress.  If
you're happier using some other OS, please use whatever OS you find
makes you happiest.  I find that other deficiencies in Windows caused
my blood pressure to boil when I was forced (for a previous job) to
work on making programs run on Windows.  I consider the fact that I
can spend full-time working on Linux to be a blessing.  But if you
don't feel that way, my condolences, and please do what you need to do
so you can stay in your happy place.

Best regards,

						- Ted

  reply	other threads:[~2008-01-08 18:15 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-08 16:07 The ext3 way of journalling Tuomo Valkonen
2008-01-08 16:35 ` Jan Engelhardt
2008-01-08 16:52   ` Tuomo Valkonen
2008-01-08 17:18     ` Jan Engelhardt
2008-01-08 17:48       ` Tuomo Valkonen
2008-01-08 18:20         ` Jan Engelhardt
2008-01-08 18:32     ` Diego Calleja
2008-01-08 18:42       ` Tuomo Valkonen
2008-01-08 16:39 ` John Stoffel
2008-01-08 16:59   ` Tuomo Valkonen
2008-01-08 21:49     ` John Stoffel
2008-01-09 13:39     ` Mathieu SEGAUD
2008-01-09 14:16       ` Tuomo Valkonen
2008-01-10 13:16         ` Theodore Tso
2008-01-10 13:41           ` Tuomo Valkonen
2008-01-12 15:06             ` Theodore Tso
2008-01-12 19:24               ` Andrey Vul
2008-01-13 22:13               ` Tuomo Valkonen
2008-01-13 22:23                 ` Tuomo Valkonen
2008-01-13 23:11                   ` Theodore Tso
2008-01-14  7:15                     ` Tuomo Valkonen
2008-01-14  9:42                       ` Bernd Petrovitsch
2008-01-14  9:48                         ` Tuomo Valkonen
2008-01-14  9:57                           ` Bernd Petrovitsch
2008-01-14 10:44                             ` Christer Weinigel
2008-01-14 11:11                             ` Tuomo Valkonen
2008-01-14 11:18                               ` Bernd Petrovitsch
2008-01-14 11:27                                 ` Tuomo Valkonen
2008-01-14 10:06                           ` Krzysztof Halasa
2008-01-14 11:03                             ` Tuomo Valkonen
2008-01-14 12:46                               ` Krzysztof Halasa
2008-01-14 16:18                                 ` Lennart Sorensen
2008-01-14 23:13                                   ` Alejandro Riveira Fernández
2008-01-15 16:31                                     ` Lennart Sorensen
2008-01-15  1:09                                   ` Krzysztof Halasa
2008-01-15 16:32                                     ` Lennart Sorensen
2008-01-14 16:10                       ` me
2008-01-14 16:17                         ` Tuomo Valkonen
2008-01-14 22:39                       ` John Hubbard
2008-01-14  0:36                   ` Bernd Eckenfels
2008-01-08 16:48 ` Andre Noll
2008-01-08 17:52   ` Tuomo Valkonen
2008-01-08 18:07     ` Masoud Sharbiani "مسعود شربیانی"
2008-01-08 18:16       ` Tuomo Valkonen
2008-01-08 18:22         ` Alan Cox
2008-01-08 18:11     ` Jan Engelhardt
2008-01-08 18:20       ` Tuomo Valkonen
2008-01-08 18:29     ` Andre Noll
2008-01-08 18:40       ` Tuomo Valkonen
2008-01-08 18:47         ` Alan Cox
2008-01-08 23:06     ` Matthias Schniedermeyer
2008-01-09  7:56       ` Tuomo Valkonen
2008-01-09 10:21         ` Matthias Schniedermeyer
2008-01-09 10:28           ` Matthias Schniedermeyer
2008-01-09 12:30             ` Theodore Tso
2008-01-10 11:30       ` Helge Hafting
2008-01-10 14:02         ` Lennart Sorensen
2008-01-10 14:41         ` Matthias Schniedermeyer
2008-01-09  2:05     ` Bernd Petrovitsch
2008-01-08 16:53 ` Andi Kleen
2008-01-08 17:01   ` Tuomo Valkonen
2008-01-08 18:15     ` Theodore Tso [this message]
2008-01-08 20:51       ` Andi Kleen
2008-01-08 21:03         ` Ondrej Zary
2008-01-08 21:57         ` Theodore Tso
2008-01-09  3:21         ` Kyle Moffett
2008-01-09  7:55           ` Valdis.Kletnieks
2008-01-09 12:49             ` Theodore Tso
2008-01-09  8:00           ` BuraphaLinux Server
2008-01-09  8:21             ` Valdis.Kletnieks
2008-01-09  9:54       ` Martin Schwidefsky
2008-01-09 12:25         ` Theodore Tso
2008-01-09 12:44           ` Michal Schmidt
2008-01-09 13:53           ` Martin Schwidefsky
2008-01-09 19:47             ` Martin Schwidefsky
2008-01-08 21:32 ` Pavel Machek
2008-02-08  4:16 ` Rogelio Serrano
     [not found] <9JpbI-5yi-9@gated-at.bofh.it>
     [not found] ` <9JpEP-6df-25@gated-at.bofh.it>
     [not found]   ` <9JpYc-6Eb-13@gated-at.bofh.it>
     [not found]     ` <9Jqhr-7l9-13@gated-at.bofh.it>
     [not found]       ` <9JqKt-7Z5-9@gated-at.bofh.it>
2008-01-08 22:24         ` Bodo Eggert
     [not found] ` <9Jqri-7ym-17@gated-at.bofh.it>
     [not found]   ` <9JqUn-8bF-15@gated-at.bofh.it>
     [not found]     ` <9JvKj-85h-41@gated-at.bofh.it>
2008-01-11 16:22       ` Bodo Eggert
2008-01-11 18:39         ` Lennart Sorensen
2008-01-12  1:41           ` Bodo Eggert
2008-01-12  7:10             ` TimC
2008-01-12 10:08               ` Matthias Schniedermeyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080108181525.GL27800@mit.edu \
    --to=tytso@mit.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tuomov@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).