• Yonggil Song's avatar
    f2fs: avoid victim selection from previous victim section · e219aecf
    Yonggil Song authored
    When f2fs chooses GC victim in large section & LFS mode,
    next_victim_seg[gc_type] is referenced first. After segment is freed,
    next_victim_seg[gc_type] has the next segment number.
    However, next_victim_seg[gc_type] still has the last segment number
    even after the last segment of section is freed. In this case, when f2fs
    chooses a victim for the next GC round, the last segment of previous victim
    section is chosen as a victim.
    
    Initialize next_victim_seg[gc_type] to NULL_SEGNO for the last segment in
    large section.
    
    Fixes: e3080b01 ("f2fs: support subsectional garbage collection")
    Signed-off-by: default avatarYonggil Song <yonggil.song@samsung.com>
    Reviewed-by: default avatarChao Yu <chao@kernel.org>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    e219aecf
gc.c 54.5 KB