summaryrefslogtreecommitdiff
path: root/libbcachefs/rebalance.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-08-17 17:08:33 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-08-17 17:11:27 -0400
commit505c326cbe091b105dbdfbe66dae4ad6ee424906 (patch)
treea7bf3a8ebac5ef648d48489eb87964e79bb2e261 /libbcachefs/rebalance.c
parent4d04fe42623a2f2b91a75cfa3d3503ab88e48acc (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.c4
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);