From: Kent Overstreet Date: Thu, 17 Aug 2023 20:35:58 +0000 (-0400) Subject: bcachefs: Fix divide by zero in rebalance_work() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d0445e131e3ff1a68492f7f6e754cd672db4774d;p=linux.git bcachefs: Fix divide by zero in rebalance_work() This fixes https://github.com/koverstreet/bcachefs-tools/issues/159 Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/rebalance.c b/fs/bcachefs/rebalance.c index c3d577236ce2b..15ce3ecba0baf 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);