bcachefs: Be more careful in bch2_bkey_to_text()
This is used to print keys that failed bch2_bkey_invalid(), so be more careful with k->type. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
committed by
Kent Overstreet
parent
1640647c04
commit
6150116181
@ -181,8 +181,12 @@ void bch2_bpos_to_text(struct printbuf *out, struct bpos pos)
|
|||||||
void bch2_bkey_to_text(struct printbuf *out, const struct bkey *k)
|
void bch2_bkey_to_text(struct printbuf *out, const struct bkey *k)
|
||||||
{
|
{
|
||||||
if (k) {
|
if (k) {
|
||||||
pr_buf(out, "u64s %u type %s ", k->u64s,
|
pr_buf(out, "u64s %u type ", k->u64s);
|
||||||
bch2_bkey_types[k->type]);
|
|
||||||
|
if (k->type < KEY_TYPE_MAX)
|
||||||
|
pr_buf(out, "%s ", bch2_bkey_types[k->type]);
|
||||||
|
else
|
||||||
|
pr_buf(out, "%u ", k->type);
|
||||||
|
|
||||||
bch2_bpos_to_text(out, k->p);
|
bch2_bpos_to_text(out, k->p);
|
||||||
|
|
||||||
@ -196,10 +200,14 @@ void bch2_bkey_to_text(struct printbuf *out, const struct bkey *k)
|
|||||||
void bch2_val_to_text(struct printbuf *out, struct bch_fs *c,
|
void bch2_val_to_text(struct printbuf *out, struct bch_fs *c,
|
||||||
struct bkey_s_c k)
|
struct bkey_s_c k)
|
||||||
{
|
{
|
||||||
const struct bkey_ops *ops = &bch2_bkey_ops[k.k->type];
|
if (k.k->type < KEY_TYPE_MAX) {
|
||||||
|
const struct bkey_ops *ops = &bch2_bkey_ops[k.k->type];
|
||||||
|
|
||||||
if (likely(ops->val_to_text))
|
if (likely(ops->val_to_text))
|
||||||
ops->val_to_text(out, c, k);
|
ops->val_to_text(out, c, k);
|
||||||
|
} else {
|
||||||
|
pr_buf(out, "(invalid type %u)", k.k->type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void bch2_bkey_val_to_text(struct printbuf *out, struct bch_fs *c,
|
void bch2_bkey_val_to_text(struct printbuf *out, struct bch_fs *c,
|
||||||
|
Reference in New Issue
Block a user