From e87b0e4a7120eeca1850666351b75bf8ceb9d5c9 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Sun, 4 Sep 2022 01:28:51 -0400 Subject: [PATCH] bcachefs: Fix redundant transaction restart Little bit of tidying up, this makes the counters a little bit clearer as to what's happening. Signed-off-by: Kent Overstreet --- fs/bcachefs/btree_locking.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fs/bcachefs/btree_locking.c b/fs/bcachefs/btree_locking.c index bfe9780aea3ae..08dbc799bb35b 100644 --- a/fs/bcachefs/btree_locking.c +++ b/fs/bcachefs/btree_locking.c @@ -413,14 +413,13 @@ int bch2_trans_relock(struct btree_trans *trans) struct btree_path *path; if (unlikely(trans->restarted)) - return -BCH_ERR_transaction_restart_relock; + return - ((int) trans->restarted); trans_for_each_path(trans, path) if (path->should_be_locked && - bch2_btree_path_relock(trans, path, _RET_IP_)) { + !bch2_btree_path_relock_norestart(trans, path, _RET_IP_)) { trace_and_count(trans->c, trans_restart_relock, trans, _RET_IP_, path); - BUG_ON(!trans->restarted); - return -BCH_ERR_transaction_restart_relock; + return btree_trans_restart(trans, BCH_ERR_transaction_restart_relock); } return 0; } -- 2.30.2