From 0047d5d6e86cf84e71b2503c3939fc97c3ffe8b9 Mon Sep 17 00:00:00 2001 From: Guannan Ren Date: Wed, 6 Mar 2013 00:24:57 +0800 Subject: [PATCH] qemu: update domain live xml for virsh memtune with --live flag virsh subcommand memtune forgot updating domain live xml after setting cgroup value. --- src/qemu/qemu_driver.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 42b8c77b21..32b05229fc 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7303,11 +7303,13 @@ qemuDomainSetMemoryParameters(virDomainPtr dom, } if (set_swap_hard_limit) { - if (flags & VIR_DOMAIN_AFFECT_LIVE && - (rc = virCgroupSetMemSwapHardLimit(group, swap_hard_limit)) < 0) { - virReportSystemError(-rc, "%s", - _("unable to set memory swap_hard_limit tunable")); - goto cleanup; + if (flags & VIR_DOMAIN_AFFECT_LIVE) { + if ((rc = virCgroupSetMemSwapHardLimit(group, swap_hard_limit)) < 0) { + virReportSystemError(-rc, "%s", + _("unable to set memory swap_hard_limit tunable")); + goto cleanup; + } + vm->def->mem.swap_hard_limit = swap_hard_limit; } if (flags & VIR_DOMAIN_AFFECT_CONFIG) @@ -7315,11 +7317,13 @@ qemuDomainSetMemoryParameters(virDomainPtr dom, } if (set_memory_hard_limit) { - if (flags & VIR_DOMAIN_AFFECT_LIVE && - (rc = virCgroupSetMemoryHardLimit(group, memory_hard_limit)) < 0) { - virReportSystemError(-rc, "%s", - _("unable to set memory hard_limit tunable")); - goto cleanup; + if (flags & VIR_DOMAIN_AFFECT_LIVE) { + if ((rc = virCgroupSetMemoryHardLimit(group, memory_hard_limit)) < 0) { + virReportSystemError(-rc, "%s", + _("unable to set memory hard_limit tunable")); + goto cleanup; + } + vm->def->mem.hard_limit = memory_hard_limit; } if (flags & VIR_DOMAIN_AFFECT_CONFIG) @@ -7327,11 +7331,13 @@ qemuDomainSetMemoryParameters(virDomainPtr dom, } if (set_memory_soft_limit) { - if (flags & VIR_DOMAIN_AFFECT_LIVE && - (rc = virCgroupSetMemorySoftLimit(group, memory_soft_limit)) < 0) { - virReportSystemError(-rc, "%s", - _("unable to set memory soft_limit tunable")); - goto cleanup; + if (flags & VIR_DOMAIN_AFFECT_LIVE) { + if ((rc = virCgroupSetMemorySoftLimit(group, memory_soft_limit)) < 0) { + virReportSystemError(-rc, "%s", + _("unable to set memory soft_limit tunable")); + goto cleanup; + } + vm->def->mem.soft_limit = memory_soft_limit; } if (flags & VIR_DOMAIN_AFFECT_CONFIG) -- GitLab