bcachefs: Fix lock ordering under traverse_all()
authorKent Overstreet <kent.overstreet@gmail.com>
Mon, 7 Mar 2022 02:17:43 +0000 (21:17 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:27 +0000 (17:09 -0400)
commit61a66469a4bf63a1357b6af36242682ae339ca2a
tree4faa28e997eb57eeaac3eb273fe4a155a6c16e46
parenta897ef682781824c9b82f01d107d653f3dbf38e5
bcachefs: Fix lock ordering under traverse_all()

traverse_all() traverses btree paths in sorted order, so it should never
see transaction restarts due to lock ordering violations. But some code
in __bch2_btree_path_upgrade(), while necessary when not running under
traverse_all(), was causing some confusing lock ordering violations -
disabling this code under traverse_all() will let us put in some more
assertions.

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