From 6cd9b45189323245550168f044d9859ef54e1179 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Wed, 5 Sep 2018 22:30:40 -0400 Subject: bcachefs: fix allocator striping --- fs/bcachefs/alloc.c | 3 +-- 1 file changed, 1 insertion(+), 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, -- cgit v1.2.3