aboutsummaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_types.h
diff options
context:
space:
mode:
authorGravatar Kent Overstreet <kent.overstreet@gmail.com> 2022-08-11 20:14:54 -0400
committerGravatar Kent Overstreet <kent.overstreet@linux.dev> 2023-10-22 17:09:38 -0400
commit5c0bb66ae341c71e5f62c193ea4d7b0cf278a914 (patch)
treed7b3bcdc29039b2debad1c2bab4d91bb97f885f3 /fs/bcachefs/btree_types.h
parentbcachefs: Rename lock_held_stats -> btree_transaction_stats (diff)
downloadlinux-5c0bb66ae341c71e5f62c193ea4d7b0cf278a914.tar.gz
linux-5c0bb66ae341c71e5f62c193ea4d7b0cf278a914.tar.bz2
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_types.h')
-rw-r--r--fs/bcachefs/btree_types.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_types.h b/fs/bcachefs/btree_types.h
index a49b3cd3baf8..0a5803a3a75d 100644
--- a/fs/bcachefs/btree_types.h
+++ b/fs/bcachefs/btree_types.h
@@ -408,6 +408,7 @@ struct btree_trans {
* extent:
*/
unsigned extra_journal_res;
+ unsigned nr_max_paths;
u64 paths_allocated;