All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] f2fs-tools: set segment_count in super block correctly
@ 2016-02-03  5:29 Fan Li
  2016-02-04  2:51 ` Junling Zheng
  0 siblings, 1 reply; 9+ messages in thread
From: Fan Li @ 2016-02-03  5:29 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 the 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 first 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..3366302 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] 9+ messages in thread

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-03  5:29 [PATCH v2] f2fs-tools: set segment_count in super block correctly Fan Li
@ 2016-02-04  2:51 ` Junling Zheng
  2016-02-04  9:33   ` Fan Li
  0 siblings, 1 reply; 9+ messages in thread
From: Junling Zheng @ 2016-02-04  2:51 UTC (permalink / raw)
  To: Fan Li, 'Jaegeuk Kim', heyunlei; +Cc: linux-f2fs-devel

On 2016/2/3 13:29, 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 the disk space isn't aligned with section,

Hi Fan, Hi Kim:

I'm uncertain about which unit the disk space should be aligned with? section or zone?

It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for main area)

from Yunlei had changed the aligning unit from section to zone.

So, should segment_count in superblock be aligned with zone rather than section?

Thanks,

Junling

> 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 first 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..3366302 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;
> 



------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-04  2:51 ` Junling Zheng
@ 2016-02-04  9:33   ` Fan Li
  2016-02-04  9:53     ` Junling Zheng
  2016-02-06  4:08     ` Jaegeuk Kim
  0 siblings, 2 replies; 9+ messages in thread
From: Fan Li @ 2016-02-04  9:33 UTC (permalink / raw)
  To: 'Junling Zheng', 'Jaegeuk Kim', heyunlei; +Cc: linux-f2fs-devel



> -----Original Message-----
> From: Junling Zheng [mailto:zhengjunling@huawei.com]
> Sent: Thursday, February 04, 2016 10:52 AM
> To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
> Cc: linux-f2fs-devel@lists.sourceforge.net
> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
> 
> On 2016/2/3 13:29, 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 the disk space isn't aligned with
> > section,
> 
> Hi Fan, Hi Kim:
> 
> I'm uncertain about which unit the disk space should be aligned with? section or zone?
> 
> It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for main area)
> 
> from Yunlei had changed the aligning unit from section to zone.
> 
> So, should segment_count in superblock be aligned with zone rather than section?

I'm afraid that my codes of mkfs is too old, it doesn't contain this patch, and it still
uses section size to align main area.

Of course if main area should be aligned with zone, the following patch should be
modified accordingly.

> 
> Thanks,
> 
> Junling
> 
> > 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 first 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..3366302 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;
> >
> 



------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-04  9:33   ` Fan Li
@ 2016-02-04  9:53     ` Junling Zheng
  2016-02-06  4:08     ` Jaegeuk Kim
  1 sibling, 0 replies; 9+ messages in thread
From: Junling Zheng @ 2016-02-04  9:53 UTC (permalink / raw)
  To: Fan Li, 'Jaegeuk Kim', heyunlei, linux-f2fs-devel

On 2016/2/4 17:33, Fan Li wrote:
> 
> 
>> -----Original Message-----
>> From: Junling Zheng [mailto:zhengjunling@huawei.com]
>> Sent: Thursday, February 04, 2016 10:52 AM
>> To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
>> Cc: linux-f2fs-devel@lists.sourceforge.net
>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
>>
>> On 2016/2/3 13:29, 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 the disk space isn't aligned with
>>> section,
>>
>> Hi Fan, Hi Kim:
>>
>> I'm uncertain about which unit the disk space should be aligned with? section or zone?
>>
>> It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for main area)
>>
>> from Yunlei had changed the aligning unit from section to zone.
>>
>> So, should segment_count in superblock be aligned with zone rather than section?
> 
> I'm afraid that my codes of mkfs is too old, it doesn't contain this patch, and it still
> uses section size to align main area.
> 

Yeah, this patch is contained on dev branch, not yet on master:)

> Of course if main area should be aligned with zone, the following patch should be
> modified accordingly.
> 
>>
>> Thanks,
>>
>> Junling
>>
>>> 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 first 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..3366302 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;
>>>
>>
> 
> 
> 
> .
> 



------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-04  9:33   ` Fan Li
  2016-02-04  9:53     ` Junling Zheng
@ 2016-02-06  4:08     ` Jaegeuk Kim
  2016-02-24  7:57       ` Fan Li
  1 sibling, 1 reply; 9+ messages in thread
From: Jaegeuk Kim @ 2016-02-06  4:08 UTC (permalink / raw)
  To: Fan Li; +Cc: linux-f2fs-devel

Hi Fan,

Could you resubmit the final patch?
I'll remove the previous patch merged into dev branch.

Thanks,

On Thu, Feb 04, 2016 at 05:33:55PM +0800, Fan Li wrote:
> 
> 
> > -----Original Message-----
> > From: Junling Zheng [mailto:zhengjunling@huawei.com]
> > Sent: Thursday, February 04, 2016 10:52 AM
> > To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
> > Cc: linux-f2fs-devel@lists.sourceforge.net
> > Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
> > 
> > On 2016/2/3 13:29, 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 the disk space isn't aligned with
> > > section,
> > 
> > Hi Fan, Hi Kim:
> > 
> > I'm uncertain about which unit the disk space should be aligned with? section or zone?
> > 
> > It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for main area)
> > 
> > from Yunlei had changed the aligning unit from section to zone.
> > 
> > So, should segment_count in superblock be aligned with zone rather than section?
> 
> I'm afraid that my codes of mkfs is too old, it doesn't contain this patch, and it still
> uses section size to align main area.
> 
> Of course if main area should be aligned with zone, the following patch should be
> modified accordingly.
> 
> > 
> > Thanks,
> > 
> > Junling
> > 
> > > 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 first 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..3366302 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;
> > >
> > 
> 

------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-06  4:08     ` Jaegeuk Kim
@ 2016-02-24  7:57       ` Fan Li
  2016-02-24  8:33         ` Junling Zheng
  0 siblings, 1 reply; 9+ messages in thread
From: Fan Li @ 2016-02-24  7:57 UTC (permalink / raw)
  To: 'Jaegeuk Kim'; +Cc: linux-f2fs-devel



> -----Original Message-----
> From: Jaegeuk Kim [mailto:jaegeuk@kernel.org]
> Sent: Saturday, February 06, 2016 12:08 PM
> To: Fan Li
> Cc: 'Junling Zheng'; heyunlei@huawei.com; linux-f2fs-devel@lists.sourceforge.net
> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
> 
> Hi Fan,
> 
> Could you resubmit the final patch?
> I'll remove the previous patch merged into dev branch.

I think removing the patch would be sufficient enough.
Sorry for the trouble. It's my first time to acquire the code of f2fs-tools,
There seems to be a mistake.

> 
> Thanks,
> 
> On Thu, Feb 04, 2016 at 05:33:55PM +0800, Fan Li wrote:
> >
> >
> > > -----Original Message-----
> > > From: Junling Zheng [mailto:zhengjunling@huawei.com]
> > > Sent: Thursday, February 04, 2016 10:52 AM
> > > To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
> > > Cc: linux-f2fs-devel@lists.sourceforge.net
> > > Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in
> > > super block correctly
> > >
> > > On 2016/2/3 13:29, 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 the disk space isn't aligned
> > > > with section,
> > >
> > > Hi Fan, Hi Kim:
> > >
> > > I'm uncertain about which unit the disk space should be aligned with? section or zone?
> > >
> > > It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for
> > > main area)
> > >
> > > from Yunlei had changed the aligning unit from section to zone.
> > >
> > > So, should segment_count in superblock be aligned with zone rather than section?
> >
> > I'm afraid that my codes of mkfs is too old, it doesn't contain this
> > patch, and it still uses section size to align main area.
> >
> > Of course if main area should be aligned with zone, the following
> > patch should be modified accordingly.
> >
> > >
> > > Thanks,
> > >
> > > Junling
> > >
> > > > 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 first 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..3366302 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;
> > > >
> > >
> >


------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-24  7:57       ` Fan Li
@ 2016-02-24  8:33         ` Junling Zheng
  2016-03-01  5:58           ` Fan Li
  0 siblings, 1 reply; 9+ messages in thread
From: Junling Zheng @ 2016-02-24  8:33 UTC (permalink / raw)
  To: Fan Li, 'Jaegeuk Kim'; +Cc: linux-f2fs-devel

Hi, Fan,

On 2016/2/24 15:57, Fan Li wrote:
> 
> 
>> -----Original Message-----
>> From: Jaegeuk Kim [mailto:jaegeuk@kernel.org]
>> Sent: Saturday, February 06, 2016 12:08 PM
>> To: Fan Li
>> Cc: 'Junling Zheng'; heyunlei@huawei.com; linux-f2fs-devel@lists.sourceforge.net
>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
>>
>> Hi Fan,
>>
>> Could you resubmit the final patch?
>> I'll remove the previous patch merged into dev branch.
> 
> I think removing the patch would be sufficient enough.
> Sorry for the trouble. It's my first time to acquire the code of f2fs-tools,
> There seems to be a mistake.
> 

However, it seems that the problem you mentioned before still exists.

Now, segment_count_main is aligned with zone size, but segment_count not, which may cause:

main_blkaddr + (segment_count_main << log_blocks_per_seg) !=
	segment0_blkaddr + (segment_count << log_blocks_per_seg)

then, mount will fail.

So, we still need to align segment_count with zone size:)

Thanks,

>>
>> Thanks,
>>
>> On Thu, Feb 04, 2016 at 05:33:55PM +0800, Fan Li wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Junling Zheng [mailto:zhengjunling@huawei.com]
>>>> Sent: Thursday, February 04, 2016 10:52 AM
>>>> To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
>>>> Cc: linux-f2fs-devel@lists.sourceforge.net
>>>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in
>>>> super block correctly
>>>>
>>>> On 2016/2/3 13:29, 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 the disk space isn't aligned
>>>>> with section,
>>>>
>>>> Hi Fan, Hi Kim:
>>>>
>>>> I'm uncertain about which unit the disk space should be aligned with? section or zone?
>>>>
>>>> It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for
>>>> main area)
>>>>
>>>> from Yunlei had changed the aligning unit from section to zone.
>>>>
>>>> So, should segment_count in superblock be aligned with zone rather than section?
>>>
>>> I'm afraid that my codes of mkfs is too old, it doesn't contain this
>>> patch, and it still uses section size to align main area.
>>>
>>> Of course if main area should be aligned with zone, the following
>>> patch should be modified accordingly.
>>>
>>>>
>>>> Thanks,
>>>>
>>>> Junling
>>>>
>>>>> 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 first 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..3366302 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;
>>>>>
>>>>
>>>
> 
> 
> .
> 



------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-02-24  8:33         ` Junling Zheng
@ 2016-03-01  5:58           ` Fan Li
  2016-03-01  6:27             ` Junling Zheng
  0 siblings, 1 reply; 9+ messages in thread
From: Fan Li @ 2016-03-01  5:58 UTC (permalink / raw)
  To: 'Junling Zheng', 'Jaegeuk Kim'; +Cc: linux-f2fs-devel



> -----Original Message-----
> From: Junling Zheng [mailto:zhengjunling@huawei.com]
> Sent: Wednesday, February 24, 2016 4:34 PM
> To: Fan Li; 'Jaegeuk Kim'
> Cc: heyunlei@huawei.com; linux-f2fs-devel@lists.sourceforge.net
> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
> 
> Hi, Fan,
> 
> On 2016/2/24 15:57, Fan Li wrote:
> >
> >
> >> -----Original Message-----
> >> From: Jaegeuk Kim [mailto:jaegeuk@kernel.org]
> >> Sent: Saturday, February 06, 2016 12:08 PM
> >> To: Fan Li
> >> Cc: 'Junling Zheng'; heyunlei@huawei.com;
> >> linux-f2fs-devel@lists.sourceforge.net
> >> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in
> >> super block correctly
> >>
> >> Hi Fan,
> >>
> >> Could you resubmit the final patch?
> >> I'll remove the previous patch merged into dev branch.
> >
> > I think removing the patch would be sufficient enough.
> > Sorry for the trouble. It's my first time to acquire the code of
> > f2fs-tools, There seems to be a mistake.
> >
> 
> However, it seems that the problem you mentioned before still exists.
> 
> Now, segment_count_main is aligned with zone size, but segment_count not, which may cause:
> 
> main_blkaddr + (segment_count_main << log_blocks_per_seg) !=
> 	segment0_blkaddr + (segment_count << log_blocks_per_seg)
> 
> then, mount will fail.
> 
> So, we still need to align segment_count with zone size:)

According to new mkfs codes, segment_count has already been aligned with zone:
	set_sb(segment_count, (config.total_sectors * config.sector_size -
				zone_align_start_offset) / segment_size_bytes /
				config.segs_per_zone * config.segs_per_zone);

It seems to be OK. What's your test parameters?

> 
> Thanks,
> 
> >>
> >> Thanks,
> >>
> >> On Thu, Feb 04, 2016 at 05:33:55PM +0800, Fan Li wrote:
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Junling Zheng [mailto:zhengjunling@huawei.com]
> >>>> Sent: Thursday, February 04, 2016 10:52 AM
> >>>> To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
> >>>> Cc: linux-f2fs-devel@lists.sourceforge.net
> >>>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in
> >>>> super block correctly
> >>>>
> >>>> On 2016/2/3 13:29, 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 the disk space isn't aligned
> >>>>> with section,
> >>>>
> >>>> Hi Fan, Hi Kim:
> >>>>
> >>>> I'm uncertain about which unit the disk space should be aligned with? section or zone?
> >>>>
> >>>> It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for
> >>>> main area)
> >>>>
> >>>> from Yunlei had changed the aligning unit from section to zone.
> >>>>
> >>>> So, should segment_count in superblock be aligned with zone rather than section?
> >>>
> >>> I'm afraid that my codes of mkfs is too old, it doesn't contain this
> >>> patch, and it still uses section size to align main area.
> >>>
> >>> Of course if main area should be aligned with zone, the following
> >>> patch should be modified accordingly.
> >>>
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Junling
> >>>>
> >>>>> 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 first 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..3366302 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;
> >>>>>
> >>>>
> >>>
> >
> >
> > .
> >
> 



------------------------------------------------------------------------------
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=272487151&iu=/4140

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

* Re: [PATCH v2] f2fs-tools: set segment_count in super block correctly
  2016-03-01  5:58           ` Fan Li
@ 2016-03-01  6:27             ` Junling Zheng
  0 siblings, 0 replies; 9+ messages in thread
From: Junling Zheng @ 2016-03-01  6:27 UTC (permalink / raw)
  To: Fan Li, 'Jaegeuk Kim'; +Cc: linux-f2fs-devel

Hi, Fan,

On 2016/3/1 13:58, Fan Li wrote:
> 
> 
>> -----Original Message-----
>> From: Junling Zheng [mailto:zhengjunling@huawei.com]
>> Sent: Wednesday, February 24, 2016 4:34 PM
>> To: Fan Li; 'Jaegeuk Kim'
>> Cc: heyunlei@huawei.com; linux-f2fs-devel@lists.sourceforge.net
>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in super block correctly
>>
>> Hi, Fan,
>>
>> On 2016/2/24 15:57, Fan Li wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Jaegeuk Kim [mailto:jaegeuk@kernel.org]
>>>> Sent: Saturday, February 06, 2016 12:08 PM
>>>> To: Fan Li
>>>> Cc: 'Junling Zheng'; heyunlei@huawei.com;
>>>> linux-f2fs-devel@lists.sourceforge.net
>>>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in
>>>> super block correctly
>>>>
>>>> Hi Fan,
>>>>
>>>> Could you resubmit the final patch?
>>>> I'll remove the previous patch merged into dev branch.
>>>
>>> I think removing the patch would be sufficient enough.
>>> Sorry for the trouble. It's my first time to acquire the code of
>>> f2fs-tools, There seems to be a mistake.
>>>
>>
>> However, it seems that the problem you mentioned before still exists.
>>
>> Now, segment_count_main is aligned with zone size, but segment_count not, which may cause:
>>
>> main_blkaddr + (segment_count_main << log_blocks_per_seg) !=
>> 	segment0_blkaddr + (segment_count << log_blocks_per_seg)
>>
>> then, mount will fail.
>>
>> So, we still need to align segment_count with zone size:)
> 
> According to new mkfs codes, segment_count has already been aligned with zone:
> 	set_sb(segment_count, (config.total_sectors * config.sector_size -
> 				zone_align_start_offset) / segment_size_bytes /
> 				config.segs_per_zone * config.segs_per_zone);
> 
> It seems to be OK. What's your test parameters?
> 

Sorry, there was a misunderstanding in my words and I also misunderstood your previous reply:(

Currently in the latest code, segment_count has not been aligned with zone yet:

        set_sb(segment_count, (config.total_sectors * config.sector_size -
                                zone_align_start_offset) / segment_size_bytes);

The patch Kim removed was your previous patch, which aligned segment_count with section size,

so I mean that you should resubmit the final patch, which aligns segment_count with zone size:)

Thanks,

>>
>> Thanks,
>>
>>>>
>>>> Thanks,
>>>>
>>>> On Thu, Feb 04, 2016 at 05:33:55PM +0800, Fan Li wrote:
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Junling Zheng [mailto:zhengjunling@huawei.com]
>>>>>> Sent: Thursday, February 04, 2016 10:52 AM
>>>>>> To: Fan Li; 'Jaegeuk Kim'; heyunlei@huawei.com
>>>>>> Cc: linux-f2fs-devel@lists.sourceforge.net
>>>>>> Subject: Re: [f2fs-dev] [PATCH v2] f2fs-tools: set segment_count in
>>>>>> super block correctly
>>>>>>
>>>>>> On 2016/2/3 13:29, 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 the disk space isn't aligned
>>>>>>> with section,
>>>>>>
>>>>>> Hi Fan, Hi Kim:
>>>>>>
>>>>>> I'm uncertain about which unit the disk space should be aligned with? section or zone?
>>>>>>
>>>>>> It looks like commit "e9dfbbb"(mkfs.f2fs: introduce zone align for
>>>>>> main area)
>>>>>>
>>>>>> from Yunlei had changed the aligning unit from section to zone.
>>>>>>
>>>>>> So, should segment_count in superblock be aligned with zone rather than section?
>>>>>
>>>>> I'm afraid that my codes of mkfs is too old, it doesn't contain this
>>>>> patch, and it still uses section size to align main area.
>>>>>
>>>>> Of course if main area should be aligned with zone, the following
>>>>> patch should be modified accordingly.
>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Junling
>>>>>>
>>>>>>> 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 first 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..3366302 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;
>>>>>>>
>>>>>>
>>>>>
>>>
>>>
>>> .
>>>
>>
> 
> 
> 
> .
> 



------------------------------------------------------------------------------
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=272487151&iu=/4140

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

end of thread, other threads:[~2016-03-01  6:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03  5:29 [PATCH v2] f2fs-tools: set segment_count in super block correctly Fan Li
2016-02-04  2:51 ` Junling Zheng
2016-02-04  9:33   ` Fan Li
2016-02-04  9:53     ` Junling Zheng
2016-02-06  4:08     ` Jaegeuk Kim
2016-02-24  7:57       ` Fan Li
2016-02-24  8:33         ` Junling Zheng
2016-03-01  5:58           ` Fan Li
2016-03-01  6:27             ` Junling Zheng

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.