There may still be problems with this patch. After applying to 3.16.1, I am now getting "can't enable checksumming v2 and v3 at the same time" errors on mount. Initial mount/dismount work fine, but once fs is touched--forcing superblock update--it cannot be mounted anew. Note results from dumpe2fs (without recent patches) Journal backup: inode blocks Checksum type: crc32c Checksum: 0x39141b69 Journal features: journal_incompat_revoke journal_64bit journal_async_commit journal_checksum_v2 FEATURE_I4 Journal size: 128M Journal length: 32768 Journal sequence: 0x00012aa4 Journal start: 0 Journal checksum type: crc32c Journal checksum: 0x3952b695 Seems that the old v2 flag is not cleared on dismount? --- Original Message --- From: "Theodore Ts'o" <tytso@xxxxxxx> Sent: August 25, 2014 10:44 PM To: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> Cc: linux-ext4@xxxxxxxxxxxxxxx, "TR Reardon" <thomas_reardon@xxxxxxxxxxx> Subject: Re: [PATCH 2/2] jbd2: fix descriptor block size handling errors with journal_csum On Fri, Aug 15, 2014 at 01:43:59PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > It turns out that there are some serious problems with the on-disk > format of journal checksum v2. The foremost is that the function to > calculate descriptor tag size returns sizes that are too big. This > causes alignment issues on some architectures and is compounded by the > fact that some parts of jbd2 use the structure size (incorrectly) to > determine the presence of a 64bit journal instead of checking the > feature flags. > > Therefore, introduce journal checksum v3, which enlarges the > descriptor block tag format to allow for full 32-bit checksums of > journal blocks, fix the journal tag function to return the correct > sizes, and fix the jbd2 recovery code to use feature flags to > determine 64bitness. > > Add a few function helpers so we don't have to open-code quite so > many pieces. > > Switching to a 16-byte block size was found to increase journal size > overhead by a maximum of 0.1%, to convert a 32-bit journal with no > checksumming to a 32-bit journal with checksum v3 enabled. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > Reported-by: TR Reardon <thomas_reardon@xxxxxxxxxxx> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html