From: Kent Overstreet Date: Fri, 2 Sep 2022 02:56:27 +0000 (-0400) Subject: bcachefs: Improve bch2_btree_trans_to_text() X-Git-Tag: io_uring-6.7-2023-11-10~119^2~768 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=afbc71946861902cfee7bee2b16c8e1570375e0e;p=linux-block.git bcachefs: Improve bch2_btree_trans_to_text() This is just a formatting/readability improvement. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 6f4af13cf9e4..962010230c41 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -2947,8 +2947,8 @@ void bch2_trans_exit(struct btree_trans *trans) } static void __maybe_unused -bch2_btree_path_node_to_text(struct printbuf *out, - struct btree_bkey_cached_common *b) +bch2_btree_bkey_cached_common_to_text(struct printbuf *out, + struct btree_bkey_cached_common *b) { struct six_lock_count c = six_lock_counts(&b->lock); struct task_struct *owner; @@ -2959,11 +2959,13 @@ bch2_btree_path_node_to_text(struct printbuf *out, pid = owner ? owner->pid : 0;; rcu_read_unlock(); - prt_printf(out, " l=%u %s:", - b->level, bch2_btree_ids[b->btree_id]); + prt_tab(out); + prt_printf(out, "%px %c l=%u %s:", b, b->cached ? 'c' : 'b', + b->level, bch2_btree_ids[b->btree_id]); bch2_bpos_to_text(out, btree_node_pos(b)); - prt_printf(out, " locks %u:%u:%u held by pid %u", + prt_tab(out); + prt_printf(out, " locks %u:%u:%u held by pid %u", c.n[0], c.n[1], c.n[2], pid); } @@ -2974,6 +2976,11 @@ void bch2_btree_trans_to_text(struct printbuf *out, struct btree_trans *trans) static char lock_types[] = { 'r', 'i', 'w' }; unsigned l; + if (!out->nr_tabstops) { + printbuf_tabstop_push(out, 16); + printbuf_tabstop_push(out, 32); + } + prt_printf(out, "%i %s\n", trans->locking_wait.task->pid, trans->fn); trans_for_each_path(trans, path) { @@ -2986,24 +2993,26 @@ void bch2_btree_trans_to_text(struct printbuf *out, struct btree_trans *trans) path->level, bch2_btree_ids[path->btree_id]); bch2_bpos_to_text(out, path->pos); - prt_printf(out, "\n"); + prt_newline(out); for (l = 0; l < BTREE_MAX_DEPTH; l++) { if (btree_node_locked(path, l) && !IS_ERR_OR_NULL(b = (void *) READ_ONCE(path->l[l].b))) { prt_printf(out, " %c l=%u ", lock_types[btree_node_locked_type(path, l)], l); - bch2_btree_path_node_to_text(out, b); - prt_printf(out, "\n"); + bch2_btree_bkey_cached_common_to_text(out, b); + prt_newline(out); } } } b = READ_ONCE(trans->locking); if (b) { - prt_printf(out, " locking node "); - bch2_btree_path_node_to_text(out, b); - prt_printf(out, "\n"); + prt_str(out, " want"); + prt_newline(out); + prt_printf(out, " %c", lock_types[trans->locking_wait.lock_want]); + bch2_btree_bkey_cached_common_to_text(out, b); + prt_newline(out); } }