Re: Apparent serious progressive ext4 data corruption bug in 3.6.3 (and other stable branches?)
From: Eric Sandeen <hidden>
Date: 2012-10-27 18:30:37
Also in:
lkml
On 10/27/12 7:45 AM, Nix wrote:
[nfs people purged from Cc] On 27 Oct 2012, Theodore Ts'o verbalised:quoted
Huh? It's not turned on by default. If you mount with no mount options, journal checksums are *not* turned on.?! it's turned on for me, and though I use weird mount options I don't use that one:
journal_async_commit implies journal_checksum:
{Opt_journal_async_commit, (EXT4_MOUNT_JOURNAL_ASYNC_COMMIT |
EXT4_MOUNT_JOURNAL_CHECKSUM), MOPT_SET},
journal_checksum seems to have broken, at least for me, between 3.3 & 3.4, I think I've narrowed down the commit but not sure yet what the flaw is, will investigate & report back later. Busy Saturday.
So anyway, turning on journal_async_commit (notionally unsafe) enables journal_checksum (apparently broken).
-Eric
/dev/main/var /var ext4 defaults,nobarrier,usrquota,grpquota,nosuid,nodev,relatime,journal_async_commit,commit=30,user_xattr,acl 1 2 Default mount options: (none) /dev/mapper/main-var /var ext4 rw,nosuid,nodev,relatime,journal_checksum,journal_async_commit,nobarrier,quota,usrquota,grpquota,commit=30,stripe=16,data=ordered,usrquota,grpquota 0 0 ... Ah! it's turned on by journal_async_commit. OK, that alone argues against use of journal_async_commit, tested or not, and I'd not have turned it on if I'd noticed that. (So, the combinations I'll be trying for effect on this bug are: journal_async_commit (as now) journal_checksum none Technically to investigate all possibilities we should try journal_async_commit,no_journal_checksum, but this seems so unlikely to have ever been tested by anyone that it's not worth looking into...)