• Kent Overstreet's avatar
    bcachefs: bch_member.btree_allocated_bitmap · 27c15ed2
    Kent Overstreet authored
    This adds a small (64 bit) per-device bitmap that tracks ranges that
    have btree nodes, for accelerating btree node scan if it is ever needed.
    
    - New helpers, bch2_dev_btree_bitmap_marked() and
      bch2_dev_bitmap_mark(), for checking and updating the bitmap
    
    - Interior btree update path updates the bitmaps when required
    
    - The check_allocations pass has a new fsck_err check,
      btree_bitmap_not_marked
    
    - New on disk format version, mi_btree_mitmap, which indicates the new
      bitmap is present
    
    - Upgrade table lists the required recovery pass and expected fsck error
    
    - Btree node scan uses the bitmap to skip ranges if we're on the new
      version
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    27c15ed2
btree_gc.c 51.6 KB