From 4e9b2adf86faad9cd2652c5930529be700d220be Mon Sep 17 00:00:00 2001 From: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> Date: Thu, 15 Jan 2026 20:25:33 +0500 Subject: [PATCH] Division by zero if capacity is 0 produces Inf. --- weed/shell/command_volume_balance.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/weed/shell/command_volume_balance.go b/weed/shell/command_volume_balance.go index 1a0db8f88..0643b9bde 100644 --- a/weed/shell/command_volume_balance.go +++ b/weed/shell/command_volume_balance.go @@ -349,6 +349,9 @@ func capacityByFreeVolumeCount(diskType types.DiskType, volumeSizeLimitMb uint64 func (n *Node) localVolumeRatio(capacityFunc CapacityFunc) float64 { capacity, used, isDensityBased := capacityFunc(n.info) + if capacity == 0 { + return 0 + } if isDensityBased { return float64(used) / capacity } @@ -357,6 +360,9 @@ func (n *Node) localVolumeRatio(capacityFunc CapacityFunc) float64 { func (n *Node) localVolumeNextRatio(capacityFunc CapacityFunc) float64 { capacity, used, isDensityBased := capacityFunc(n.info) + if capacity == 0 { + return 0 + } if isDensityBased { return float64(used+1) / capacity }