diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-04 00:36:43 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-04 00:45:28 -0400 |
commit | 0a155fc5df1ef1717b6514471d9a70704ff00454 (patch) | |
tree | 019b6e054fdead8e519cfb823c09a2c0ebc5e41c | |
parent | cb8869da4e7be92b2698011bc4fc0cc76ef72851 (diff) |
backpointer assertionsbackpointer_debug
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/backpointers.c | 7 |
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); |