Revert "ext4: Remove journal_checksum mount option and enable it by default"
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Nov 2009 18:15:27 +0000 (10:15 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Nov 2009 18:15:27 +0000 (10:15 -0800)
commitd4da6c9ccf648f3f1cb5bf9d981a62c253d30e28
tree709f8bdc50a3a1d47632047eb3670b4a4a6ff045
parentc35102c3e15f90fe604523a2fbffd9dc158b455a
Revert "ext4: Remove journal_checksum mount option and enable it by default"

This reverts commit d0646f7b636d067d715fab52a2ba9c6f0f46b0d7, as
requested by Eric Sandeen.

It can basically cause an ext4 filesystem to miss recovery (and thus get
mounted with errors) if the journal checksum does not match.

Quoth Eric:

   "My hand-wavy hunch about what is happening is that we're finding a
    bad checksum on the last partially-written transaction, which is
    not surprising, but if we have a wrapped log and we're doing the
    initial scan for head/tail, and we abort scanning on that bad
    checksum, then we are essentially running an unrecovered filesystem.

    But that's hand-wavy and I need to go look at the code.

    We lived without journal checksums on by default until now, and at
    this point they're doing more harm than good, so we should revert
    the default-changing commit until we can fix it and do some good
    power-fail testing with the fixes in place."

See

http://bugzilla.kernel.org/show_bug.cgi?id=14354

for all the gory details.

Requested-by: Eric Sandeen <sandeen@redhat.com>
Cc: Theodore Tso <tytso@mit.edu>
Cc: Alexey Fisher <bug-track@fisher-privat.net>
Cc: Maxim Levitsky <maximlevitsky@gmail.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Mathias Burén <mathias.buren@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/filesystems/ext4.txt
fs/ext4/ext4.h
fs/ext4/super.c