projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5bf9db0
)
bcachefs: evacuate_bucket() no longer moves cached ptrs
author
Kent Overstreet
<kent.overstreet@linux.dev>
Fri, 10 Mar 2023 23:00:10 +0000
(18:00 -0500)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:56 +0000
(17:09 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/move.c
patch
|
blob
|
blame
|
history
diff --git
a/fs/bcachefs/move.c
b/fs/bcachefs/move.c
index 681d134f2e438405072e660bfaef958cf4532cae..de10f388b8d3173054b6d1640a7a67d7dde57060 100644
(file)
--- 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++;
}