summaryrefslogtreecommitdiff
path: root/fs/bcachefs/movinggc.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-08-01 14:26:55 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2018-12-27 11:38:19 -0500
commit6d0d47ef63c87ce1229990a5c43092e0b29e011a (patch)
tree4c808974997c2052194c840eedf72ddca3a87d79 /fs/bcachefs/movinggc.c
parent88208e7c1a272b0aad28bf80b2c5a723cfae24b5 (diff)
bcachefs: Better calculation of copygc threshold
Diffstat (limited to 'fs/bcachefs/movinggc.c')
-rw-r--r--fs/bcachefs/movinggc.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/bcachefs/movinggc.c b/fs/bcachefs/movinggc.c
index 7bef456110f1..d414ee94cc2c 100644
--- a/fs/bcachefs/movinggc.c
+++ b/fs/bcachefs/movinggc.c
@@ -227,16 +227,10 @@ static int bch2_copygc_thread(void *arg)
last = atomic_long_read(&clock->now);
- reserve = div64_u64((ca->mi.nbuckets - ca->mi.first_bucket) *
- ca->mi.bucket_size *
- c->opts.gc_reserve_percent, 200);
+ reserve = ca->copygc_threshold;
usage = bch2_dev_usage_read(c, ca);
- /*
- * don't start copygc until less than half the gc reserve is
- * available:
- */
available = __dev_buckets_available(ca, usage) *
ca->mi.bucket_size;
if (available > reserve) {