mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
bcachefs: Improve error message when finding wrong btree node
single_device.merge_torture_flakey is, very rarely, finding a btree node that doesn't match the key that points to it: this patch improves the error message to print out more fields from the btree node header, so that we can see what else does or does not match the key. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
5a11b5fe79
commit
483dea4431
|
|
@ -968,12 +968,20 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca,
|
|||
struct bch_btree_ptr_v2 *bp =
|
||||
&bkey_i_to_btree_ptr_v2(&b->key)->v;
|
||||
|
||||
bch2_bpos_to_text(&buf, b->data->min_key);
|
||||
prt_str(&buf, "-");
|
||||
bch2_bpos_to_text(&buf, b->data->max_key);
|
||||
|
||||
btree_err_on(b->data->keys.seq != bp->seq,
|
||||
-BCH_ERR_btree_node_read_err_must_retry,
|
||||
c, ca, b, NULL,
|
||||
btree_node_bad_seq,
|
||||
"got wrong btree node (seq %llx want %llx)",
|
||||
b->data->keys.seq, bp->seq);
|
||||
"got wrong btree node (want %llx got %llx)\n"
|
||||
"got btree %s level %llu pos %s",
|
||||
bp->seq, b->data->keys.seq,
|
||||
bch2_btree_id_str(BTREE_NODE_ID(b->data)),
|
||||
BTREE_NODE_LEVEL(b->data),
|
||||
buf.buf);
|
||||
} else {
|
||||
btree_err_on(!b->data->keys.seq,
|
||||
-BCH_ERR_btree_node_read_err_must_retry,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user