Thread (4 messages) 4 messages, 2 authors, 2013-05-13

Re: [PATCH] jbd2: Always set journal superblock checksum when writing out superblock

From: Darrick J. Wong <hidden>
Date: 2013-05-13 18:46:22
Also in: linux-fsdevel

On Fri, May 10, 2013 at 10:56:15PM -0600, Andreas Dilger wrote:
On 2013-05-10, at 17:40, "Darrick J. Wong" [off-list ref] wrote:
quoted
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.
Why not just put this call inside jbd2_write_superblock()?
You're right, I was confused and thought j_state_lock also protected the sb.
It doesn't, so we can avoid future programming errors by moving it.  I'll fix
the patch (and go see what mysteries 3.10 provides).

--D
Cheers, Andreas
quoted
Signed-off-by: Darrick J. Wong <redacted>
---
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-ext4" in
the body of a message to majordomo@vger.kernel.org
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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help