summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_iter.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-05-30 11:59:30 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:10:03 +0300
commit49c7cd9d8d5545cf45ef91f548d25b6dd23c72c7 (patch)
treec2052d739855b978d365667d088146777c01e99b /fs/bcachefs/btree_iter.c
parentbb125baf512bffef19c510f1c53353a378537070 (diff)
downloadlinux-49c7cd9d8d5545cf45ef91f548d25b6dd23c72c7.tar.xz
bcachefs: More drop_locks_do() conversions
Using drop_locks_do() ensures that every unlock() is paired with a relock(), with proper error checking. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_iter.c')
-rw-r--r--fs/bcachefs/btree_iter.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c
index 9072819176de..e8fec59dac02 100644
--- a/fs/bcachefs/btree_iter.c
+++ b/fs/bcachefs/btree_iter.c
@@ -2892,9 +2892,7 @@ u32 bch2_trans_begin(struct btree_trans *trans)
if (!trans->restarted &&
(need_resched() ||
now - trans->last_begin_time > BTREE_TRANS_MAX_LOCK_HOLD_TIME_NS)) {
- bch2_trans_unlock(trans);
- cond_resched();
- bch2_trans_relock(trans);
+ drop_locks_do(trans, (cond_resched(), 0));
now = local_clock();
}
trans->last_begin_time = now;