]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commita4ff7c942f3578eb7d36513462a1f8ff3ec453bb
tree709f8bdc50a3a1d47632047eb3670b4a4a6ff045
parent7bd4142a125a5cd4182808553c2b3c14d5b27c96
Revert "ext4: Remove journal_checksum mount option and enable it by default"

This reverts commit d7d2d7a4e24129847ac80cdcf14ea4e57107231b, 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