diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 9e03f1f62e06c70d211d13f9a4905778e3b28c54..67f14fe766a54f6ad8620fc65df4b1e1c29c7f38 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -840,14 +840,16 @@ lxcDomainSetMemoryParameters(virDomainPtr dom, cfg = virLXCDriverGetConfig(driver); if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) < 0 || - !(caps = virLXCDriverGetCapabilities(driver, false)) || - virDomainLiveConfigHelperMethod(caps, driver->xmlopt, - vm, &flags, &vmdef) < 0) + !(caps = virLXCDriverGetCapabilities(driver, false))) goto cleanup; if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) goto cleanup; + if (virDomainLiveConfigHelperMethod(caps, driver->xmlopt, + vm, &flags, &vmdef) < 0) + goto endjob; + if (flags & VIR_DOMAIN_AFFECT_LIVE && !virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_MEMORY)) { virReportError(VIR_ERR_OPERATION_INVALID,