summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_cache.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-08-20 22:04:15 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2024-08-22 09:07:23 +0300
commit5dbfc4ef72f15508882aff58c307b8425cf037a8 (patch)
treec98745f0a9a47bd254a5c5a8d79150a7f3ee65b1 /fs/bcachefs/btree_cache.c
parent3c5d0b72a8e8c19c960e8fefb7463067e58b6bc4 (diff)
downloadlinux-5dbfc4ef72f15508882aff58c307b8425cf037a8.tar.xz
bcachefs: fix failure to relock in btree_node_fill()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_cache.c')
-rw-r--r--fs/bcachefs/btree_cache.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_cache.c b/fs/bcachefs/btree_cache.c
index 063725ecb2b3..e52a06d3418c 100644
--- a/fs/bcachefs/btree_cache.c
+++ b/fs/bcachefs/btree_cache.c
@@ -873,6 +873,10 @@ static noinline struct btree *bch2_btree_node_fill(struct btree_trans *trans,
bch2_btree_node_read(trans, b, sync);
+ int ret = bch2_trans_relock(trans);
+ if (ret)
+ return ERR_PTR(ret);
+
if (!sync)
return NULL;