summaryrefslogtreecommitdiff
path: root/fs/bcachefs/sb-errors.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.com>2025-07-31 22:36:25 +0200
committerJiri Kosina <jkosina@suse.com>2025-07-31 22:36:25 +0200
commite9ef810dfee7a2227da9d423aecb0ced35faddbe (patch)
tree52befbbbeacbd9340f90884dee840be3f492d3e1 /fs/bcachefs/sb-errors.c
parent3a1d22bd85381c4e358fc3340e776c3a3223a1d0 (diff)
parent3a807f3ff9eaaeead81576c5a72d226d519a2fe7 (diff)
Merge branch 'for-6.17/amd-sfh' into for-linus
- add support for operating modes (Basavaraj Natikar)
Diffstat (limited to 'fs/bcachefs/sb-errors.c')
-rw-r--r--fs/bcachefs/sb-errors.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/fs/bcachefs/sb-errors.c b/fs/bcachefs/sb-errors.c
index 013a96883b4e..48853efdc105 100644
--- a/fs/bcachefs/sb-errors.c
+++ b/fs/bcachefs/sb-errors.c
@@ -78,6 +78,28 @@ const struct bch_sb_field_ops bch_sb_field_ops_errors = {
.to_text = bch2_sb_errors_to_text,
};
+void bch2_fs_errors_to_text(struct printbuf *out, struct bch_fs *c)
+{
+ if (out->nr_tabstops < 1)
+ printbuf_tabstop_push(out, 48);
+ if (out->nr_tabstops < 2)
+ printbuf_tabstop_push(out, 8);
+ if (out->nr_tabstops < 3)
+ printbuf_tabstop_push(out, 16);
+
+ guard(mutex)(&c->fsck_error_counts_lock);
+
+ bch_sb_errors_cpu *e = &c->fsck_error_counts;
+ darray_for_each(*e, i) {
+ bch2_sb_error_id_to_text(out, i->id);
+ prt_tab(out);
+ prt_u64(out, i->nr);
+ prt_tab(out);
+ bch2_prt_datetime(out, i->last_error_time);
+ prt_newline(out);
+ }
+}
+
void bch2_sb_error_count(struct bch_fs *c, enum bch_sb_error_id err)
{
bch_sb_errors_cpu *e = &c->fsck_error_counts;