If sbi->cur_cp is 2 and the duplicate_checkpoint function returns in advance because sbi->cp_backuped is set to true, we cannot set sbi->cur_cp to 1.
Signed-off-by: Wang Xiaojun <[email protected]> --- fsck/fsck.c | 3 --- fsck/mount.c | 5 ++--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/fsck/fsck.c b/fsck/fsck.c index 110c1ec..aa77a34 100644 --- a/fsck/fsck.c +++ b/fsck/fsck.c @@ -2383,9 +2383,6 @@ static void fix_checkpoints(struct f2fs_sb_info *sbi) { /* copy valid checkpoint to its mirror position */ duplicate_checkpoint(sbi); - - /* repair checkpoint at CP #0 position */ - sbi->cur_cp = 1; fix_checkpoint(sbi); } diff --git a/fsck/mount.c b/fsck/mount.c index c928a15..295170e 100644 --- a/fsck/mount.c +++ b/fsck/mount.c @@ -2998,6 +2998,8 @@ void duplicate_checkpoint(struct f2fs_sb_info *sbi) ASSERT(ret >= 0); sbi->cp_backuped = 1; + /* repair checkpoint at CP #0 position */ + sbi->cur_cp = 1; MSG(0, "Info: Duplicate valid checkpoint to mirror position " "%llu -> %llu\n", src, dst); @@ -3098,9 +3100,6 @@ void write_checkpoints(struct f2fs_sb_info *sbi) { /* copy valid checkpoint to its mirror position */ duplicate_checkpoint(sbi); - - /* repair checkpoint at CP #0 position */ - sbi->cur_cp = 1; write_checkpoint(sbi); } -- 2.31.1 _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
