All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] f2fs-tools: set segment_count in super block correctly
@ 2016-02-01  9:23 Fan Li
  2016-02-02  0:30 ` Jaegeuk Kim
  0 siblings, 1 reply; 2+ messages in thread
From: Fan Li @ 2016-02-01  9:23 UTC (permalink / raw)
  To: 'Jaegeuk Kim'; +Cc: linux-f2fs-devel

Now f2fs will check statistics recorded in super block in sanity_check_area_boundary()
during mount,if number of segments per section is greater than 1, and disk space 
isn't aligned with section, 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 section, mkfs didn't 
add the number of excess segments to segment_count_main, but add it to 
segment_count. 
Here align segment_count with section size to prevent such problem.

Signed-off-by: Fan Li <fanofcode.li@samsung.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 66d7342..aab2491 100644
--- a/mkfs/f2fs_format.c
+++ b/mkfs/f2fs_format.c
@@ -174,7 +174,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_sec*config.segs_per_sec);
 
 	set_sb(segment0_blkaddr, zone_align_start_offset / blk_size_bytes);
 	sb->cp_blkaddr = sb->segment0_blkaddr;
-- 
1.7.9.5


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] f2fs-tools: set segment_count in super block correctly
  2016-02-01  9:23 [PATCH] f2fs-tools: set segment_count in super block correctly Fan Li
@ 2016-02-02  0:30 ` Jaegeuk Kim
  0 siblings, 0 replies; 2+ messages in thread
From: Jaegeuk Kim @ 2016-02-02  0:30 UTC (permalink / raw)
  To: Fan Li; +Cc: linux-f2fs-devel

Hi Fan,

On Mon, Feb 01, 2016 at 05:23:33PM +0800, Fan Li wrote:
> Now f2fs will check statistics recorded in super block in sanity_check_area_boundary()
> during mount,if number of segments per section is greater than 1, and disk space 
> isn't aligned with section, 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 section, mkfs didn't 
> add the number of excess segments to segment_count_main, but add it to 
> segment_count. 
> Here align segment_count with section size to prevent such problem.
> 
> Signed-off-by: Fan Li <fanofcode.li@samsung.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 66d7342..aab2491 100644
> --- a/mkfs/f2fs_format.c
> +++ b/mkfs/f2fs_format.c
> @@ -174,7 +174,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_sec*config.segs_per_sec);

Please follow the coding style.

Thanks,

>  
>  	set_sb(segment0_blkaddr, zone_align_start_offset / blk_size_bytes);
>  	sb->cp_blkaddr = sb->segment0_blkaddr;
> -- 
> 1.7.9.5

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-02-02  0:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-01  9:23 [PATCH] f2fs-tools: set segment_count in super block correctly Fan Li
2016-02-02  0:30 ` Jaegeuk Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.