bcachefs: verify_bucket_evacuated() -> set_btree_iter_dontneed()
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 19 Mar 2023 18:32:23 +0000 (14:32 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:58 +0000 (17:09 -0400)
This should help with excessive 'would deadlock' transaction restarts.

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

index d94cefec988056f441f644deafb6143bc322fd89..ff4a74de728d40ec2cd31314c431972710794474 100644 (file)
@@ -629,6 +629,8 @@ void bch2_verify_bucket_evacuated(struct btree_trans *trans, struct bpos bucket,
        u64 bp_offset = 0;
        int ret;
 
+       bch2_trans_begin(trans);
+
        bch2_trans_iter_init(trans, &iter, BTREE_ID_alloc,
                             bucket, BTREE_ITER_CACHED);
 again:
@@ -649,6 +651,7 @@ again:
                }
        }
 
+       set_btree_iter_dontneed(&iter);
        bch2_trans_iter_exit(trans, &iter);
        return;
 failed_to_evacuate: