diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-04-21 12:04:10 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-04-28 22:42:21 -0400 |
commit | 3ac805875f3b40a5b7a96653ffe957bb9deb6876 (patch) | |
tree | 8577918bd6def2e2f655c2f9d304e9f3dfe6b7f8 | |
parent | 31ff404b29402416e7afbddd4bbaf9c8ae4f35d4 (diff) |
bcachefs: bch2_bio_to_text()
Pretty printer for struct bio, to be used for async object debugging.
This is pretty minimal, we'll add more to it as we discover what we
need.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/util.c | 10 | ||||
-rw-r--r-- | fs/bcachefs/util.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/fs/bcachefs/util.c b/fs/bcachefs/util.c index 6e5d7fc265bd..7e6ebe8cd9ea 100644 --- a/fs/bcachefs/util.c +++ b/fs/bcachefs/util.c @@ -715,6 +715,16 @@ void bch2_corrupt_bio(struct bio *bio) } #endif +void bch2_bio_to_text(struct printbuf *out, struct bio *bio) +{ + prt_printf(out, "bi_remaining:\t%u\n", + atomic_read(&bio->__bi_remaining)); + prt_printf(out, "bi_end_io:\t%ps\n", + bio->bi_end_io); + prt_printf(out, "bi_status:\t%u\n", + bio->bi_status); +} + #if 0 void eytzinger1_test(void) { diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h index 50f7197c67fc..7a93e187a49a 100644 --- a/fs/bcachefs/util.h +++ b/fs/bcachefs/util.h @@ -419,6 +419,8 @@ static inline void bch2_maybe_corrupt_bio(struct bio *bio, unsigned ratio) #define bch2_maybe_corrupt_bio(...) do {} while (0) #endif +void bch2_bio_to_text(struct printbuf *, struct bio *); + static inline void memcpy_u64s_small(void *dst, const void *src, unsigned u64s) { |