diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-09-25 18:22:54 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-03 23:55:27 -0400 |
commit | 859a661051acdec8b5bc9b026f916cdd1c15be6f (patch) | |
tree | 99a070ae00fd9ae257c991b8f77587e80f98131e | |
parent | 693580c8a733faf181cac809429e4c2f3f056bff (diff) |
bcachefs: btree_err() now uses bch2_print_string_as_lines()
We've seen long error messages get truncated here, so convert to the new
bch2_print_string_as_lines().
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/btree_io.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c index 177fd49d65dd..13ce29750d28 100644 --- a/fs/bcachefs/btree_io.c +++ b/fs/bcachefs/btree_io.c @@ -513,9 +513,11 @@ static void btree_err_msg(struct printbuf *out, struct bch_fs *c, struct btree *b, struct bset *i, unsigned offset, int write) { - prt_printf(out, "error validating btree node "); - if (write) - prt_printf(out, "before write "); + prt_printf(out, bch2_log_msg(c, "")); + if (!write) + prt_str(out, "error validating btree node "); + else + prt_str(out, "corrupt btree node before write "); if (ca) prt_printf(out, "on %s ", ca->name); prt_printf(out, "at btree "); @@ -524,6 +526,7 @@ static void btree_err_msg(struct printbuf *out, struct bch_fs *c, prt_printf(out, "\n node offset %u", b->written); if (i) prt_printf(out, " bset u64s %u", le16_to_cpu(i->u64s)); + prt_str(out, ": "); } enum btree_err_type { @@ -543,7 +546,7 @@ enum btree_validate_ret { struct printbuf out = PRINTBUF; \ \ btree_err_msg(&out, c, ca, b, i, b->written, write); \ - prt_printf(&out, ": " msg, ##__VA_ARGS__); \ + prt_printf(&out, msg, ##__VA_ARGS__); \ \ if (type == BTREE_ERR_FIXABLE && \ write == READ && \ @@ -552,10 +555,10 @@ enum btree_validate_ret { goto out; \ } \ \ + bch2_print_string_as_lines(KERN_ERR, out.buf); \ + \ switch (write) { \ case READ: \ - bch_err(c, "%s", out.buf); \ - \ switch (type) { \ case BTREE_ERR_FIXABLE: \ ret = -BCH_ERR_fsck_errors_not_fixed; \ @@ -575,8 +578,6 @@ enum btree_validate_ret { } \ break; \ case WRITE: \ - bch_err(c, "corrupt metadata before write: %s", out.buf);\ - \ if (bch2_fs_inconsistent(c)) { \ ret = -BCH_ERR_fsck_errors_not_fixed; \ goto fsck_err; \ |