summaryrefslogtreecommitdiff
path: root/fs/bcachefs/backpointers.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-10-04 00:36:43 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2022-10-04 00:45:28 -0400
commit0a155fc5df1ef1717b6514471d9a70704ff00454 (patch)
tree019b6e054fdead8e519cfb823c09a2c0ebc5e41c /fs/bcachefs/backpointers.c
parentcb8869da4e7be92b2698011bc4fc0cc76ef72851 (diff)
backpointer assertionsbackpointer_debug
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/backpointers.c')
-rw-r--r--fs/bcachefs/backpointers.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/bcachefs/backpointers.c b/fs/bcachefs/backpointers.c
index 955f3ee96cc0..eda0cc098da9 100644
--- a/fs/bcachefs/backpointers.c
+++ b/fs/bcachefs/backpointers.c
@@ -30,9 +30,12 @@ static inline struct bpos bucket_pos_to_bp(const struct bch_fs *c,
{
struct bch_dev *ca = bch_dev_bkey_exists(c, bucket.inode);
- return POS(bucket.inode,
+ struct bpos ret = POS(bucket.inode,
(bucket_to_sector(ca, bucket.offset) <<
MAX_EXTENT_COMPRESS_RATIO_SHIFT) + bucket_offset);
+
+ BUG_ON(bpos_cmp(bucket, bp_pos_to_bucket(c, ret)));
+ return ret;
}
void bch2_extent_ptr_to_bp(struct bch_fs *c,
@@ -420,6 +423,8 @@ int bch2_get_next_backpointer(struct btree_trans *trans,
size_t i;
int ret;
+ BUG_ON(bpos_cmp(bucket, bp_pos_to_bucket(c, bpos_nosnap_predecessor(bp_end_pos))));
+
bch2_trans_iter_init(trans, &alloc_iter, BTREE_ID_alloc,
bucket, BTREE_ITER_CACHED);
k = bch2_btree_iter_peek_slot(&alloc_iter);