c/s 18960 introduced a bug when xend balloons memory. The function
balloon.free requires a reference to a XendDomainInfo object, which is
missing in one call of this function. Attached patch fixes this. Also
replaced the variable name "self" in the (classless) function with
something more descriptive.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Reported-by: Maik Hentsche <maik.hentsche@amd.com>
if self.domid >= 0:
if target > memory_cur:
- balloon.free( (target-memory_cur)*1024 )
+ balloon.free((target - memory_cur) * 1024, self)
self.storeVm("memory", target)
self.storeDom("memory/target", target << 10)
xc.domain_set_target_mem(self.domid,
raise VmError('Failed to query target memory allocation of dom0.')
return kb
-def free(need_mem ,self):
+def free(need_mem, dominfo):
"""Balloon out memory from the privileged domain so that there is the
specified required amount (in KiB) free.
"""
if physinfo['nr_nodes'] > 1 and retries == 0:
oldnode = -1
waitscrub = 1
- vcpus = self.info['cpus'][0]
+ vcpus = dominfo.info['cpus'][0]
for vcpu in vcpus:
nodenum = 0
for node in physinfo['node_to_cpu']: