From d0445e131e3ff1a68492f7f6e754cd672db4774d Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 17 Aug 2023 16:35:58 -0400 Subject: bcachefs: Fix divide by zero in rebalance_work() This fixes https://github.com/koverstreet/bcachefs-tools/issues/159 Signed-off-by: Kent Overstreet --- fs/bcachefs/rebalance.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'fs/bcachefs/rebalance.c') diff --git a/fs/bcachefs/rebalance.c b/fs/bcachefs/rebalance.c index c3d577236ce2..15ce3ecba0ba 100644 --- a/fs/bcachefs/rebalance.c +++ b/fs/bcachefs/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); -- cgit v1.2.3