mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: save domain status after set the blkio parameters
After set the blkio parameters for running domain, save the change into live xml is needed to survive restarting the libvirtd, same story with bug 1146511, meanwhile add call qemuDomainObjBeginJob/qemuDomainObjEndJob in qemuDomainSetBlkioParameters Signed-off-by: Shanzhi Yu <shyu@redhat.com>
This commit is contained in:
parent
b9f1f46470
commit
bde879c184
@ -8097,15 +8097,18 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
|
||||
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
||||
goto cleanup;
|
||||
|
||||
if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virDomainLiveConfigHelperMethod(caps, driver->xmlopt, vm, &flags,
|
||||
&persistentDef) < 0)
|
||||
goto cleanup;
|
||||
goto endjob;
|
||||
|
||||
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_BLKIO)) {
|
||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("blkio cgroup isn't mounted"));
|
||||
goto cleanup;
|
||||
goto endjob;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8198,9 +8201,12 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
|
||||
VIR_FREE(devices);
|
||||
}
|
||||
}
|
||||
|
||||
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm) < 0)
|
||||
goto endjob;
|
||||
}
|
||||
if (ret < 0)
|
||||
goto cleanup;
|
||||
goto endjob;
|
||||
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
||||
/* Clang can't see that if we get here, persistentDef was set. */
|
||||
sa_assert(persistentDef);
|
||||
@ -8238,6 +8244,10 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
endjob:
|
||||
if (!qemuDomainObjEndJob(driver, vm))
|
||||
vm = NULL;
|
||||
|
||||
cleanup:
|
||||
if (vm)
|
||||
virObjectUnlock(vm);
|
||||
|
Loading…
x
Reference in New Issue
Block a user