[pve-devel] [PATCH manager] fix undefined value warning in resources api call

Wolfgang Bumiller w.bumiller at proxmox.com
Tue Jul 5 14:45:35 CEST 2016


With the new calculation $pe->{maxcpu} was used before being
initialized to zero. Moving the initialization up.
Additionally setting $pe->{cpu} to $entry->{cpu} if maxcpu
is not set seems pointless as with its factor (maxcpu)
initialized to zero it is cancelled out anyway.
---
 PVE/API2/Cluster.pm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/PVE/API2/Cluster.pm b/PVE/API2/Cluster.pm
index aeba934..331e2f7 100644
--- a/PVE/API2/Cluster.pm
+++ b/PVE/API2/Cluster.pm
@@ -203,14 +203,13 @@ __PACKAGE__->register_method({
 			    $pe->{maxmem} = 0 if !$pe->{maxmem};
 			    $pe->{maxmem} += $entry->{maxmem};
 			    $pe->{cpu} = 0 if !$pe->{cpu};
+			    $pe->{maxcpu} = 0 if !$pe->{maxcpu};
 			    # explanation:
 			    # we do not know how much cpus there are in the cluster at this moment
 			    # so we calculate the current % of the cpu
 			    # but we had already the old cpu % before this vm, so:
 			    # new% = (old%*oldmax + cur%*curmax) / (oldmax+curmax)
-			    $pe->{cpu} = $entry->{cpu} if !$pe->{maxcpu};
 			    $pe->{cpu} = (($pe->{cpu} * $pe->{maxcpu}) + ($entry->{cpu} * $entry->{maxcpu})) / ($pe->{maxcpu} + $entry->{maxcpu});
-			    $pe->{maxcpu} = 0 if !$pe->{maxcpu};
 			    $pe->{maxcpu} += $entry->{maxcpu};
 			}
 		    }
-- 
2.1.4





More information about the pve-devel mailing list