Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
libvirt.10484
d2b77608-libxl-maxmem-fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File d2b77608-libxl-maxmem-fix.patch of Package libvirt.10484
commit d2b77608e9e9c23416a9ac93a50054348cb51653 Author: Jim Fehlig <jfehlig@suse.com> Date: Mon Jan 16 10:51:40 2017 -0700 libxl: fix reporting of maximum memory The libxl driver reports different values of maximum memory depending on state of a domain. If inactive, maximum memory value is reported correctly. When active, maximum memory is derived from max_pages value returned by the XEN_SYSCTL_getdomaininfolist sysctl operation. But max_pages can be changed by toolstacks and does not necessarily represent the maximum memory a domain can use during its active lifetime. A better location for determining a domain's maximum memory is the /local/domain/<id>/memory/static-max node in xenstore. This value is set from the libxl_domain_build_info.max_memkb field when creating the domain. Currently it cannot be changed nor can its value be exceeded by a balloon operation. From libvirt's perspective, always reporting maximum memory with virDomainDefGetMemoryTotal() will produce the same results as reading the static-max node in xenstore. Signed-off-by: Jim Fehlig <jfehlig@suse.com> Index: libvirt-1.2.18.4/src/libxl/libxl_driver.c =================================================================== --- libvirt-1.2.18.4.orig/src/libxl/libxl_driver.c +++ libvirt-1.2.18.4/src/libxl/libxl_driver.c @@ -1579,10 +1579,10 @@ libxlDomainGetInfo(virDomainPtr dom, vir if (virDomainGetInfoEnsureACL(dom->conn, vm->def) < 0) goto cleanup; + info->maxMem = virDomainDefGetMemoryActual(vm->def); if (!virDomainObjIsActive(vm)) { info->cpuTime = 0; info->memory = vm->def->mem.cur_balloon; - info->maxMem = virDomainDefGetMemoryActual(vm->def); } else { if (libxl_domain_info(cfg->ctx, &d_info, vm->def->id) != 0) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -1592,7 +1592,6 @@ libxlDomainGetInfo(virDomainPtr dom, vir } info->cpuTime = d_info.cpu_time; info->memory = d_info.current_memkb; - info->maxMem = d_info.max_memkb; } info->state = virDomainObjGetState(vm, NULL);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor