summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-09-05 22:30:40 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2018-09-05 22:30:40 -0400
commit6cd9b45189323245550168f044d9859ef54e1179 (patch)
treed790f08501eb5838e3f16af7228b597362ef75c5
parent9c08efd02b827e6ee2a6e5a751045c6c6bd484d4 (diff)
bcachefs: fix allocator stripingalloc
-rw-r--r--fs/bcachefs/alloc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/bcachefs/alloc.c b/fs/bcachefs/alloc.c
index d303ecee80d8..cf200beb0c24 100644
--- a/fs/bcachefs/alloc.c
+++ b/fs/bcachefs/alloc.c
@@ -1250,7 +1250,6 @@ void bch2_wp_rescale(struct bch_fs *c, struct bch_dev *ca,
u64 free_space_inv = free_space
? div64_u64(1ULL << 48, free_space)
: 1ULL << 48;
- u64 scale = *v / 4;
if (*v + free_space_inv >= *v)
*v += free_space_inv;
@@ -1259,7 +1258,7 @@ void bch2_wp_rescale(struct bch_fs *c, struct bch_dev *ca,
for (v = wp->next_alloc;
v < wp->next_alloc + ARRAY_SIZE(wp->next_alloc); v++)
- *v = *v < scale ? 0 : *v - scale;
+ *v -= *v / 63;
}
static enum bucket_alloc_ret bch2_bucket_alloc_set(struct bch_fs *c,