From: Fan Li <fanofcode...@samsung.com> Now f2fs will check statistics recorded in super block in sanity_check_area_boundary() during mount. If the number of segments per zone is greater than 1, and the disk space isn't aligned with zone, mount will fail due to following condition:
main_blkaddr + (segment_count_main << log_blocks_per_seg) != segment0_blkaddr + (segment_count << log_blocks_per_seg) This is because when the length of main area isn't aligned with zone, mkfs doesn't add those excess segments to segment_count_main, but adds them to segment_count. Here align segment_count with zone size as well as segment_count_main to prevent such problem. Signed-off-by: Fan Li <fanofcode...@samsung.com> Signed-off-by: Junling Zheng <zhengjunl...@huawei.com> --- mkfs/f2fs_format.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c index 4f38f03..960031e 100644 --- a/mkfs/f2fs_format.c +++ b/mkfs/f2fs_format.c @@ -175,7 +175,8 @@ static int f2fs_prepare_super_block(void) } set_sb(segment_count, (config.total_sectors * config.sector_size - - zone_align_start_offset) / segment_size_bytes); + zone_align_start_offset) / segment_size_bytes / + config.segs_per_zone * config.segs_per_zone); set_sb(segment0_blkaddr, zone_align_start_offset / blk_size_bytes); sb->cp_blkaddr = sb->segment0_blkaddr; -- 1.9.1 ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel