diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-17 15:05:26 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-21 20:15:04 -0400 |
commit | 15f969326ee296f7b7faf7704105a99fa02c288d (patch) | |
tree | 30c25795e64cb003c9613494bfbe16c3eee43d0a /fs/bcachefs/backpointers.h | |
parent | 06977ea82b5df669c833399b4b8e2f163a8bcfbc (diff) |
bcachefs: Improve bucket_bitmap code
Add some more helpers, and mismatches is now a superset of the empty
bitmap - simplifies most checks.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/backpointers.h')
-rw-r--r-- | fs/bcachefs/backpointers.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/bcachefs/backpointers.h b/fs/bcachefs/backpointers.h index f57098c32143..fe7149a2fbf5 100644 --- a/fs/bcachefs/backpointers.h +++ b/fs/bcachefs/backpointers.h @@ -188,6 +188,13 @@ int bch2_check_btree_backpointers(struct bch_fs *); int bch2_check_extents_to_backpointers(struct bch_fs *); int bch2_check_backpointers_to_extents(struct bch_fs *); +static inline bool bch2_bucket_bitmap_test(struct bucket_bitmap *b, u64 i) +{ + unsigned long *bitmap = READ_ONCE(b->buckets); + return bitmap && test_bit(i, bitmap); +} + +int bch2_bucket_bitmap_resize(struct bucket_bitmap *, u64, u64); void bch2_bucket_bitmap_free(struct bucket_bitmap *); #endif /* _BCACHEFS_BACKPOINTERS_BACKGROUND_H */ |