From: Kent Overstreet Date: Fri, 10 Mar 2023 23:00:10 +0000 (-0500) Subject: bcachefs: evacuate_bucket() no longer moves cached ptrs X-Git-Tag: io_uring-6.7-2023-11-10~119^2~431 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=3f5d3fb4025a7196e75250ecee8b6478f086a145;p=linux-block.git bcachefs: evacuate_bucket() no longer moves cached ptrs Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/move.c b/fs/bcachefs/move.c index 681d134f2e43..de10f388b8d3 100644 --- a/fs/bcachefs/move.c +++ b/fs/bcachefs/move.c @@ -758,8 +758,13 @@ int __bch2_evacuate_bucket(struct btree_trans *trans, data_opts.rewrite_ptrs = 0; bkey_for_each_ptr(bch2_bkey_ptrs_c(k), ptr) { - if (ptr->dev == bucket.inode) + if (ptr->dev == bucket.inode) { data_opts.rewrite_ptrs |= 1U << i; + if (ptr->cached) { + bch2_trans_iter_exit(trans, &iter); + goto next; + } + } i++; }