summaryrefslogtreecommitdiff
path: root/e2fsck/journal.c
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2014-09-08 16:12:35 -0700
committerTheodore Ts'o <tytso@mit.edu>2014-09-11 12:40:55 -0400
commite690eae5134f9ac101c49a8ca0e096da186da067 (patch)
tree9374b37dc9f9e51d5eae60e7e8a71994614fdc02 /e2fsck/journal.c
parent3727a0e745e426802f8e829ab2d47523f7c6de81 (diff)
downloade2fsprogs-e690eae5134f9ac101c49a8ca0e096da186da067.tar.gz
misc: zero s_jnl_blocks when removing internal journal
When we're removing the internal journal (broken journal, turning it off, or adding an external journal), zero s_jnl_blocks so that they can't be picked up by accident later. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Cc: TR Reardon <thomas_reardon@hotmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'e2fsck/journal.c')
-rw-r--r--e2fsck/journal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index 16bd757e..d12e3176 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -549,6 +549,7 @@ static errcode_t e2fsck_journal_fix_bad_inode(e2fsck_t ctx,
"filesystem is now ext2 only ***\n\n");
sb->s_feature_compat &= ~EXT3_FEATURE_COMPAT_HAS_JOURNAL;
sb->s_journal_inum = 0;
+ memset(sb->s_jnl_blocks, 0, sizeof(sb->s_jnl_blocks));
ctx->flags |= E2F_FLAG_JOURNAL_INODE;
ctx->fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY;
e2fsck_clear_recover(ctx, 1);