• Hou Pengyang's avatar
    f2fs: remove unsafe bitmap checking · 6bfaf7b1
    Hou Pengyang authored
    proc A:                      proc B:
    - writeback_sb_inodes
    - __writeback_single_inode
    - do_writepages
    - f2fs_write_node_pages
    - f2fs_balance_fs_bg         - write_checkpoint
    - build_free_nids            - flush_nat_entries
    - __build_free_nids          - __flush_nat_entry_set
    - ra_meta_pages              - get_next_nat_page
    - current_nat_addr           - set_to_next_nat
    [do nat_bitmap checking]     - f2fs_change_bit
    
    For proc A, nat_bitmap and nat_bitmap_mir would be compared without lock_op and
    nm_i->nat_tree_lock, while proc B is changing nat_bitmap/nat_bitmap_ver in cp.
    
    So it is normal for nat_bitmap/nat_bitmap diffrence under such scenario.
    
    This patch fix this by removing the monitoring point.
    
    [Fix: 599a09b2 f2fs: check in-memory nat version bitmap]
    Signed-off-by: default avatarHou Pengyang <houpengyang@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    6bfaf7b1
node.h 12.3 KB