mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 15:51:40 -04:00
bcachefs: Fix bch2_verify_bucket_evacuated()
We were going into an infinite loop when printing out backpointers, due to never incrementing bp_offset - whoops. Also limit the number of backpointers we print to 10; this is debug code and we only need to print a sample, not all of them. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
@@ -627,6 +627,7 @@ void bch2_verify_bucket_evacuated(struct btree_trans *trans, struct bpos bucket,
|
||||
struct printbuf buf = PRINTBUF;
|
||||
struct bch_backpointer bp;
|
||||
u64 bp_offset = 0;
|
||||
unsigned nr_bps = 0;
|
||||
int ret;
|
||||
|
||||
bch2_trans_begin(trans);
|
||||
@@ -688,6 +689,10 @@ void bch2_verify_bucket_evacuated(struct btree_trans *trans, struct bpos bucket,
|
||||
prt_newline(&buf);
|
||||
bch2_bkey_val_to_text(&buf, c, k);
|
||||
bch2_trans_iter_exit(trans, &iter);
|
||||
|
||||
if (++nr_bps > 10)
|
||||
break;
|
||||
bp_offset++;
|
||||
}
|
||||
|
||||
bch2_print_string_as_lines(KERN_ERR, buf.buf);
|
||||
|
||||
Reference in New Issue
Block a user