On 04/08, Sheng Yong wrote: > Althrough old and new sb have the same value for now, it would be better > to build new checkpoint according to new sb.
May need to add assert, if they're different? > > Signed-off-by: Sheng Yong <shengy...@oppo.com> > --- > fsck/resize.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/fsck/resize.c b/fsck/resize.c > index 049ddd3..1b4ae85 100644 > --- a/fsck/resize.c > +++ b/fsck/resize.c > @@ -481,7 +481,7 @@ static void rebuild_checkpoint(struct f2fs_sb_info *sbi, > set_cp(overprov_segment_count, get_cp(rsvd_segment_count)); > > set_cp(overprov_segment_count, get_cp(overprov_segment_count) + > - 2 * get_sb(segs_per_sec)); > + 2 * get_newsb(segs_per_sec)); > > DBG(0, "Info: Overprovision ratio = %.3lf%%\n", c.new_overprovision); > DBG(0, "Info: Overprovision segments = %u (GC reserved = %u)\n", > @@ -551,11 +551,12 @@ static void rebuild_checkpoint(struct f2fs_sb_info *sbi, > cpu_to_le32(crc); > > /* Write a new checkpoint in the other set */ > - new_cp_blk_no = old_cp_blk_no = get_sb(cp_blkaddr); > + old_cp_blk_no = get_sb(cp_blkaddr); > + new_cp_blk_no = get_newsb(cp_blkaddr); > if (sbi->cur_cp == 2) > old_cp_blk_no += 1 << get_sb(log_blocks_per_seg); > else > - new_cp_blk_no += 1 << get_sb(log_blocks_per_seg); > + new_cp_blk_no += 1 << get_newsb(log_blocks_per_seg); > > /* write first cp */ > ret = dev_write_block(new_cp, new_cp_blk_no++); > -- > 2.40.1 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel