diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-09-05 22:30:40 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-09-05 22:30:40 -0400 |
commit | 6cd9b45189323245550168f044d9859ef54e1179 (patch) | |
tree | d790f08501eb5838e3f16af7228b597362ef75c5 /fs | |
parent | 9c08efd02b827e6ee2a6e5a751045c6c6bd484d4 (diff) |
bcachefs: fix allocator stripingalloc
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/alloc.c | 3 |
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, |