• C
    f2fs: fix to search whole dirty segmap when get_victim · 210f41bc
    Chao Yu 提交于
    In ->get_victim we get max_search value from dirty_i->nr_dirty without
    protection of seglist_lock, after that, nr_dirty can be increased/decreased
    before we hold seglist_lock lock.
    Then in main loop we attempt to traverse all dirty section one time to find
    victim section, but it's not accurate to use max_search as the total loop count,
    because we might lose checking several sections or check sections redundantly
    for the case of nr_dirty are increased or decreased previously.
    Signed-off-by: NChao Yu <chao2.yu@samsung.com>
    Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
    210f41bc
gc.c 18.1 KB