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:
parent
d59ca7e8c0
commit
ffc76edbbe
@ -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 @@ failed_to_evacuate:
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user