Commit 6be7fa06 authored by Joern Engel's avatar Joern Engel

[LogFS] Erase new journal segments

If the device contains on old logfs image and the journal is moved to
segment that have never been used by the current logfs and not all
journal segments are erased before the next mount, the old content can
confuse mount code.  To prevent this, always erase the new journal
segments.
Signed-off-by: default avatarJoern Engel <joern@logfs.org>
parent 0943846a
...@@ -823,6 +823,8 @@ void do_logfs_journal_wl_pass(struct super_block *sb) ...@@ -823,6 +823,8 @@ void do_logfs_journal_wl_pass(struct super_block *sb)
logfs_set_segment_reserved(sb, segno); logfs_set_segment_reserved(sb, segno);
err = btree_insert32(head, segno, (void *)1, GFP_KERNEL); err = btree_insert32(head, segno, (void *)1, GFP_KERNEL);
BUG_ON(err); /* mempool should prevent this */ BUG_ON(err); /* mempool should prevent this */
err = logfs_erase_segment(sb, segno, 1);
BUG_ON(err); /* FIXME: remount-ro would be nicer */
} }
/* Manually move journal_area */ /* Manually move journal_area */
freeseg(sb, area->a_segno); freeseg(sb, area->a_segno);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment