[PATCH] jbd2: Always set journal superblock checksum when writingout superblock

From: Darrick J. Wong
Date: Fri May 10 2013 - 19:40:24 EST


Add a few missing calls to jbd2_superblock_csum_set just prior to calling
jbd2_write_superblock. This fixes complaints about corrupt journals if
metadata checksumming and journal checksumming are both enabled.

Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
fs/jbd2/journal.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index b6cdc57..a4c7678 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1348,6 +1348,7 @@ void jbd2_journal_update_sb_log_tail(journal_t *journal, tid_t tail_tid,

sb->s_sequence = cpu_to_be32(tail_tid);
sb->s_start = cpu_to_be32(tail_block);
+ jbd2_superblock_csum_set(journal, sb);

jbd2_write_superblock(journal, write_op);

@@ -1381,6 +1382,7 @@ static void jbd2_mark_journal_empty(journal_t *journal)

sb->s_sequence = cpu_to_be32(journal->j_tail_sequence);
sb->s_start = cpu_to_be32(0);
+ jbd2_superblock_csum_set(journal, sb);
read_unlock(&journal->j_state_lock);

jbd2_write_superblock(journal, WRITE_FUA);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/