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 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..
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?
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