bcachefs: Fix btree lock being incorrectly dropped
authorKent Overstreet <kent.overstreet@gmail.com>
Sun, 20 Dec 2020 02:31:05 +0000 (21:31 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:50 +0000 (17:08 -0400)
commit07bd4c285b79e068d2e6986a4cc60703434f1eed
tree7e669b4df1ce209d687dcfa7f93dae7808708f04
parente323edd6d39094ce021dbb20e513b03ae6ebecbe
bcachefs: Fix btree lock being incorrectly dropped

__btree_trans_get_iter() was using bch2_btree_iter_upgrade, but it
shouldn't have been because on failure bch2_btree_iter_upgrade may drop
locks in other iterators, expecting the transaction to be restarted. But
__btree_trans_get_iter can't return an error to indicate that we need to
restart thet transaction - oops.

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