summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-02-22 19:39:02 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-03-13 11:34:51 -0400
commit53d27992db4c09b07563a6be277a8b5faa2ad915 (patch)
treecde56f4214c2eab7914e873dadf31adefd84b6e7
parentf06233cfa45a5e19d26eefdd98403be566400fa0 (diff)
bcachefs: Don't call bch2_trans_update() unlocked
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/move.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/move.c b/fs/bcachefs/move.c
index e29177cec8a9..dd368a50c6e8 100644
--- a/fs/bcachefs/move.c
+++ b/fs/bcachefs/move.c
@@ -227,7 +227,8 @@ static int bch2_extent_drop_ptrs(struct btree_trans *trans,
if (bkey_deleted(&n->k))
n->k.size = 0;
- return bch2_trans_update(trans, iter, n, BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE) ?:
+ return bch2_trans_relock(trans) ?:
+ bch2_trans_update(trans, iter, n, BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE) ?:
bch2_trans_commit(trans, NULL, NULL, BTREE_INSERT_NOFAIL);
}