diff options
Diffstat (limited to 'libbcache/alloc.c')
-rw-r--r-- | libbcache/alloc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libbcache/alloc.c b/libbcache/alloc.c index 2392c688..2f892914 100644 --- a/libbcache/alloc.c +++ b/libbcache/alloc.c @@ -154,11 +154,10 @@ static void pd_controllers_update(struct work_struct *work) s64 fragmented = ((stats.buckets_dirty + stats.buckets_cached) << bucket_bits) - - ((stats.sectors_dirty + - stats.sectors_cached) << 9); + ((stats.sectors[S_DIRTY] + + stats.sectors[S_CACHED] ) << 9); - if (fragmented < 0) - fragmented = 0; + fragmented = max(0LL, fragmented); bch_pd_controller_update(&ca->moving_gc_pd, free, fragmented, -1); |