unsigned int flags)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
+ virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
char *device = NULL;
virDomainDiskDefPtr disk;
virStorageSourcePtr baseSource = NULL;
QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob = true;
+ if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0)
+ VIR_WARN("Unable to save status on vm %s after state change",
+ vm->def->name);
+
endjob:
qemuDomainObjEndJob(driver, vm);
cleanup:
+ virObjectUnref(cfg);
VIR_FREE(basePath);
VIR_FREE(backingPath);
VIR_FREE(device);
unsigned int flags)
{
virQEMUDriverPtr driver = dom->conn->privateData;
+ virQEMUDriverConfigPtr cfg = NULL;
qemuDomainObjPrivatePtr priv;
virDomainObjPtr vm = NULL;
char *device = NULL;
if (!(vm = qemuDomObjFromDomain(dom)))
goto cleanup;
priv = vm->privateData;
+ cfg = virQEMUDriverGetConfig(driver);
if (virDomainBlockCommitEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
goto endjob;
}
- if (ret == 0)
+ if (ret == 0) {
QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob = true;
-
- if (mirror) {
- if (ret == 0) {
- virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
-
- mirror = NULL;
- if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0)
- VIR_WARN("Unable to save status on vm %s after block job",
- vm->def->name);
- virObjectUnref(cfg);
- } else {
- disk->mirror = NULL;
- disk->mirrorJob = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN;
- }
+ mirror = NULL;
+ } else {
+ disk->mirror = NULL;
+ disk->mirrorJob = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN;
}
+ if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0)
+ VIR_WARN("Unable to save status on vm %s after block job",
+ vm->def->name);
+
endjob:
if (ret < 0 && clean_access) {
virErrorPtr orig_err = virSaveLastError();
VIR_FREE(basePath);
VIR_FREE(backingPath);
VIR_FREE(device);
+ virObjectUnref(cfg);
virDomainObjEndAPI(&vm);
return ret;
}