summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-01-10 13:38:09 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2021-01-10 13:38:09 -0500
commit728cc57c841287b2e379ed7e4f2cc720f7562f93 (patch)
treefcd4ae18ccac9c05c312e996c33e0a42397b9633
parentfcf8a0889c125511ae841960c73df62237ab05a7 (diff)
bcachefs: Fix bch2_replicas_gc2
This fixes a regression introduced by "bcachefs: Refactor filesystem usage accounting". We have to include all the replicas entries that have any of the entries for different journal entries nonzero, we can't skip them if they sum to zero. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/replicas.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/bcachefs/replicas.c b/fs/bcachefs/replicas.c
index d37d173f3ba6..b1d8db677c1c 100644
--- a/fs/bcachefs/replicas.c
+++ b/fs/bcachefs/replicas.c
@@ -598,7 +598,11 @@ retry:
cpu_replicas_entry(&c->replicas, i);
if (e->data_type == BCH_DATA_journal ||
- bch2_fs_usage_read_one(c, &c->usage_base->replicas[i]))
+ c->usage_base->replicas[i] ||
+ percpu_u64_get(&c->usage[0]->replicas[i]) ||
+ percpu_u64_get(&c->usage[1]->replicas[i]) ||
+ percpu_u64_get(&c->usage[2]->replicas[i]) ||
+ percpu_u64_get(&c->usage[3]->replicas[i]))
memcpy(cpu_replicas_entry(&new, new.nr++),
e, new.entry_size);
}