diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-08-12 02:14:54 +0200 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 23:09:38 +0200 |
commit | 5c0bb66ae341c71e5f62c193ea4d7b0cf278a914 (patch) | |
tree | d7b3bcdc29039b2debad1c2bab4d91bb97f885f3 /fs/bcachefs/btree_iter.h | |
parent | bcachefs: Rename lock_held_stats -> btree_transaction_stats (diff) | |
download | linux-5c0bb66ae341c71e5f62c193ea4d7b0cf278a914.tar.xz linux-5c0bb66ae341c71e5f62c193ea4d7b0cf278a914.zip |
bcachefs: Track the maximum btree_paths ever allocated by each transaction
We need a way to check if the machinery for handling btree_paths with in
a transaction is behaving reasonably, as it often has not been - we've
had bugs with transaction path overflows caused by duplicate paths and
plenty of other things.
This patch tracks, per transaction fn, the most btree paths ever
allocated by that transaction and makes it available in debugfs.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_iter.h')
-rw-r--r-- | fs/bcachefs/btree_iter.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_iter.h b/fs/bcachefs/btree_iter.h index 3e3f35e29182..aa4d2a5df34e 100644 --- a/fs/bcachefs/btree_iter.h +++ b/fs/bcachefs/btree_iter.h @@ -571,6 +571,8 @@ __bch2_btree_iter_peek_and_restart(struct btree_trans *trans, /* new multiple iterator interface: */ void bch2_trans_updates_to_text(struct printbuf *, struct btree_trans *); +void bch2_btree_path_to_text(struct printbuf *, struct btree_path *); +void bch2_trans_paths_to_text(struct printbuf *, struct btree_trans *); void bch2_dump_trans_updates(struct btree_trans *); void bch2_dump_trans_paths_updates(struct btree_trans *); void __bch2_trans_init(struct btree_trans *, struct bch_fs *, |