mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
bcachefs: debug_check_btree_locking modparam
Don't put btree locking asserts behind CONFIG_BCACHEFS_DEBUG, put them behind a module parameter. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
2842515575
commit
110bb6cb8b
|
|
@ -393,6 +393,8 @@ do { \
|
|||
"Disables rewriting of btree nodes during mark and sweep")\
|
||||
BCH_DEBUG_PARAM(btree_shrinker_disabled, \
|
||||
"Disables the shrinker callback for the btree node cache")\
|
||||
BCH_DEBUG_PARAM(verify_btree_locking, \
|
||||
"Enable additional asserts for btree locking") \
|
||||
BCH_DEBUG_PARAM(verify_btree_ondisk, \
|
||||
"Reread btree nodes at various points to verify the " \
|
||||
"mergesort in the read path against modifications " \
|
||||
|
|
|
|||
|
|
@ -839,9 +839,7 @@ int __bch2_trans_mutex_lock(struct btree_trans *trans,
|
|||
|
||||
/* Debug */
|
||||
|
||||
#ifdef CONFIG_BCACHEFS_DEBUG
|
||||
|
||||
void bch2_btree_path_verify_locks(struct btree_path *path)
|
||||
void __bch2_btree_path_verify_locks(struct btree_path *path)
|
||||
{
|
||||
/*
|
||||
* A path may be uptodate and yet have nothing locked if and only if
|
||||
|
|
@ -882,7 +880,7 @@ static bool bch2_trans_locked(struct btree_trans *trans)
|
|||
return false;
|
||||
}
|
||||
|
||||
void bch2_trans_verify_locks(struct btree_trans *trans)
|
||||
void __bch2_trans_verify_locks(struct btree_trans *trans)
|
||||
{
|
||||
if (!trans->locked) {
|
||||
BUG_ON(bch2_trans_locked(trans));
|
||||
|
|
@ -893,7 +891,5 @@ void bch2_trans_verify_locks(struct btree_trans *trans)
|
|||
unsigned i;
|
||||
|
||||
trans_for_each_path(trans, path, i)
|
||||
bch2_btree_path_verify_locks(path);
|
||||
__bch2_btree_path_verify_locks(path);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -429,12 +429,19 @@ struct six_lock_count bch2_btree_node_lock_counts(struct btree_trans *,
|
|||
|
||||
int bch2_check_for_deadlock(struct btree_trans *, struct printbuf *);
|
||||
|
||||
#ifdef CONFIG_BCACHEFS_DEBUG
|
||||
void bch2_btree_path_verify_locks(struct btree_path *);
|
||||
void bch2_trans_verify_locks(struct btree_trans *);
|
||||
#else
|
||||
static inline void bch2_btree_path_verify_locks(struct btree_path *path) {}
|
||||
static inline void bch2_trans_verify_locks(struct btree_trans *trans) {}
|
||||
#endif
|
||||
void __bch2_btree_path_verify_locks(struct btree_path *);
|
||||
void __bch2_trans_verify_locks(struct btree_trans *);
|
||||
|
||||
static inline void bch2_btree_path_verify_locks(struct btree_path *path)
|
||||
{
|
||||
if (static_branch_unlikely(&bch2_debug_check_btree_locking))
|
||||
__bch2_btree_path_verify_locks(path);
|
||||
}
|
||||
|
||||
static inline void bch2_trans_verify_locks(struct btree_trans *trans)
|
||||
{
|
||||
if (static_branch_unlikely(&bch2_debug_check_btree_locking))
|
||||
__bch2_trans_verify_locks(trans);
|
||||
}
|
||||
|
||||
#endif /* _BCACHEFS_BTREE_LOCKING_H */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user