bcachefs: Add more assertions for locking btree iterators out of order
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 3 Sep 2021 21:18:57 +0000 (17:18 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:11 +0000 (17:09 -0400)
commit068bcaa589e268fe0bca1f972b3a08a18be8c5dc
treea7ce7f8ba72f74c5174194b5f8f0c003c89686d7
parent807dda8c83620ab0fd1d93bbe8bdc4a289cbd045
bcachefs: Add more assertions for locking btree iterators out of order

btree_path_traverse_all() traverses btree iterators in sorted order, and
thus shouldn't see transaction restarts due to potential deadlocks - but
sometimes we do. This patch adds some more assertions and tracks some
more state to help track this down.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/btree_iter.c
fs/bcachefs/btree_iter.h
fs/bcachefs/btree_key_cache.c
fs/bcachefs/btree_locking.h
fs/bcachefs/btree_types.h