summaryrefslogtreecommitdiff
path: root/libbcachefs/error.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-08-12 22:46:53 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-08-17 16:09:41 -0400
commite2e14931119598a47b143c0b03af90fba604533b (patch)
treeae8f99341731cca607a9c2eb5588c8ca84b252da /libbcachefs/error.c
parent8b93af8747bd9de6bce60d1da2d6c8f2728f9ce3 (diff)
Update bcachefs sources to e7015d0df31c bcachefs: Simplify bch2_xattr_emit() implementationv1.11.0
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/error.c')
-rw-r--r--libbcachefs/error.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libbcachefs/error.c b/libbcachefs/error.c
index a62b6310..95afa7bf 100644
--- a/libbcachefs/error.c
+++ b/libbcachefs/error.c
@@ -416,6 +416,28 @@ err:
return ret;
}
+int __bch2_bkey_fsck_err(struct bch_fs *c,
+ struct bkey_s_c k,
+ enum bch_fsck_flags flags,
+ enum bch_sb_error_id err,
+ const char *fmt, ...)
+{
+ struct printbuf buf = PRINTBUF;
+ va_list args;
+
+ prt_str(&buf, "invalid bkey ");
+ bch2_bkey_val_to_text(&buf, c, k);
+ prt_str(&buf, "\n ");
+ va_start(args, fmt);
+ prt_vprintf(&buf, fmt, args);
+ va_end(args);
+ prt_str(&buf, ": delete?");
+
+ int ret = __bch2_fsck_err(c, NULL, flags, err, "%s", buf.buf);
+ printbuf_exit(&buf);
+ return ret;
+}
+
void bch2_flush_fsck_errs(struct bch_fs *c)
{
struct fsck_err_state *s, *n;