On 2017/12/9 14:29, hsiangkao--- via Linux-f2fs-devel wrote:
> Hi Jaegeuk and Chao,
>     I have a minor question about the following code snippet in 
> find_next_free_block recently
>               if (se->valid_blocks == 0 && !(segno % sbi->segs_per_sec)) {
>                       struct seg_entry *se2;
>                       unsigned int i;
> 
>                       for (i = 1; i < sbi->segs_per_sec; i++) {
>                               se2 = get_seg_entry(sbi, segno + i);
>                               if (se2->valid_blocks)
>                                       break;
>                       }
>                       if (i == sbi->segs_per_sec)
>                               return 0;
>               }
>     What does it do if a section has 2 or more segments?

It intends to use free section prior to used one?

>     It seems that it succeeds only if the section is totally free? if not, do 
> SSR instead? I have no idea about that. :(
>     And the code mainly for SSR follows, but I am confused when I associate 
> that with the above...
>               if (se->type == type &&
>                       !f2fs_test_bit(offset, (const char *)se->cur_valid_map))
>                       return 0;
>     Does that indicate segments of a section should have the same type?
>         but I could not find any mechanism to keep segments of a section in 
> the same type.. 

I'm afraid there is no guarantee.

> 
>     And I could not understand what the commit message("fsck.f2fs: LFS 
> alloc_type must have free segment after blkoff") means...
>     Why should the last of segment have no valid block in LFS mode?

LFS tries to do allocation from the first block to the last one in opened 
segment,
so if there is any valid block in that segment, there will be collision anyway.

Thanks,

> 
>     Could you take some time and give me some clues on it... :D
> 
> Thanks a lot.
> 
> Gao Xiang
> [email protected]
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Linux-f2fs-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to