bcachefs: Ensure bch2_btree_node_lock_write_nofail() never fails
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 6 Mar 2023 13:58:02 +0000 (08:58 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:41 +0000 (17:09 -0400)
commit2ec254c098da677295c2487ae36e75a26d557222
treed6c3ffceb92f16978c9e526803a2d8058fa8630b
parent0d7009d7ca99ad9261a7cffcecd515108377a6ac
bcachefs: Ensure bch2_btree_node_lock_write_nofail() never fails

In order for bch2_btree_node_lock_write_nofail() to never produce a
deadlock, we must ensure we're never holding read locks when using it.
Fortunately, it's only used from code paths where any read locks may be
safely dropped.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_locking.c
fs/bcachefs/btree_locking.h