[libvirt] [PATCH] LXC: Allow setting max mem lower than current mem

For inactive domains, set both current and maximum memory to the specified 'maximum memory' value. This matches the behavior of QEMU driver's SetMaxMemory. https://bugzilla.redhat.com/show_bug.cgi?id=1091132 --- src/lxc/lxc_driver.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 9c006e9..b47ac5e 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -692,9 +692,14 @@ static int lxcDomainSetMaxMemory(virDomainPtr dom, unsigned long newmax) goto cleanup; if (newmax < vm->def->mem.cur_balloon) { - virReportError(VIR_ERR_INVALID_ARG, - "%s", _("Cannot set max memory lower than current memory")); - goto cleanup; + if (!virDomainObjIsActive(vm)) { + vm->def->mem.cur_balloon = newmax; + } else { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("Cannot set max memory lower than current" + " memory for an active domain")); + goto cleanup; + } } vm->def->mem.max_balloon = newmax; -- 1.8.5.5

On 07/07/14 13:20, Ján Tomko wrote:
For inactive domains, set both current and maximum memory to the specified 'maximum memory' value.
This matches the behavior of QEMU driver's SetMaxMemory.
https://bugzilla.redhat.com/show_bug.cgi?id=1091132 --- src/lxc/lxc_driver.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
ACK, Peter
participants (2)
-
Ján Tomko
-
Peter Krempa