bcachefs: Btree locking fix, refactoring
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 23 Nov 2018 10:19:25 +0000 (05:19 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:12 +0000 (17:08 -0400)
commitad7ae8d63fa82e5d713e73a1a6a4ca9728f84898
treed2de2481404dd6314ab26232011e4db56d382793
parentde5bb710f93fb87aef8303336a49d09323286822
bcachefs: Btree locking fix, refactoring

Hit an assertion, probably spurious, indicating an iterator was unlocked
when it shouldn't have been (spurious because it wasn't locked at all
when the caller called btree_insert_at()).

Add a flag, BTREE_ITER_NOUNLOCK, and tighten up the assertions

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_gc.c
fs/bcachefs/btree_iter.c
fs/bcachefs/btree_locking.h
fs/bcachefs/btree_types.h
fs/bcachefs/btree_update_interior.c
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/extents.c