|
@@ -874,9 +874,8 @@ static void get_new_segment(struct f2fs_sb_info *sbi,
|
|
|
|
|
|
|
|
if (!new_sec && ((*newseg + 1) % sbi->segs_per_sec)) {
|
|
if (!new_sec && ((*newseg + 1) % sbi->segs_per_sec)) {
|
|
|
segno = find_next_zero_bit(free_i->free_segmap,
|
|
segno = find_next_zero_bit(free_i->free_segmap,
|
|
|
- MAIN_SEGS(sbi), *newseg + 1);
|
|
|
|
|
- if (segno - *newseg < sbi->segs_per_sec -
|
|
|
|
|
- (*newseg % sbi->segs_per_sec))
|
|
|
|
|
|
|
+ (hint + 1) * sbi->segs_per_sec, *newseg + 1);
|
|
|
|
|
+ if (segno < (hint + 1) * sbi->segs_per_sec)
|
|
|
goto got_it;
|
|
goto got_it;
|
|
|
}
|
|
}
|
|
|
find_other_zone:
|
|
find_other_zone:
|