diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-08-17 17:08:33 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-08-17 17:11:27 -0400 |
commit | 505c326cbe091b105dbdfbe66dae4ad6ee424906 (patch) | |
tree | a7bf3a8ebac5ef648d48489eb87964e79bb2e261 /libbcachefs/rebalance.c | |
parent | 4d04fe42623a2f2b91a75cfa3d3503ab88e48acc (diff) |
Update bcachefs sources to a8115093df bcachefs: Fix divide by zero in rebalance_work()
Diffstat (limited to 'libbcachefs/rebalance.c')
-rw-r--r-- | libbcachefs/rebalance.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libbcachefs/rebalance.c b/libbcachefs/rebalance.c index c3d57723..15ce3ecb 100644 --- a/libbcachefs/rebalance.c +++ b/libbcachefs/rebalance.c @@ -113,6 +113,10 @@ static void rebalance_work_accumulate(struct rebalance_work *w, unsigned percent_full; u64 work = dev_work + unknown_dev; + /* avoid divide by 0 */ + if (!capacity) + return; + if (work < dev_work || work < unknown_dev) work = U64_MAX; work = min(work, capacity); |