diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-04-12 18:45:47 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-04-14 20:02:11 -0400 |
commit | 27c15ed297cb71c2e7a839439b5a097081a32605 (patch) | |
tree | 5c17bdfe3f11e178ffda3e2415d21a23b89b723c /fs/bcachefs/super_types.h | |
parent | bdae2a7e6020e1cf864a30dab2af323575569dc7 (diff) | |
download | linux-stable-27c15ed297cb71c2e7a839439b5a097081a32605.tar.gz linux-stable-27c15ed297cb71c2e7a839439b5a097081a32605.tar.bz2 linux-stable-27c15ed297cb71c2e7a839439b5a097081a32605.zip |
bcachefs: bch_member.btree_allocated_bitmap
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: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/super_types.h')
-rw-r--r-- | fs/bcachefs/super_types.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/super_types.h b/fs/bcachefs/super_types.h index ec784d975f66..11bcef170c2c 100644 --- a/fs/bcachefs/super_types.h +++ b/fs/bcachefs/super_types.h @@ -37,6 +37,8 @@ struct bch_member_cpu { u8 durability; u8 freespace_initialized; u8 valid; + u8 btree_bitmap_shift; + u64 btree_allocated_bitmap; }; #endif /* _BCACHEFS_SUPER_TYPES_H */ |