mirror of https://gitee.com/openkylin/libvirt.git
qemuDomainDetachDeviceLiveAndConfig: Avoid overwriting @ret
The fact that we are overwriting @ret multiple times makes it difficult to see what is actually happening here. Follow our traditional pattern where @ret is initialized to -1, and set to 0 only in case we know we succeeded. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
604f3ff0c0
commit
a7837f92cc
|
@ -8710,35 +8710,35 @@ qemuDomainDetachDeviceLiveAndConfig(virQEMUDriverPtr driver,
|
|||
if (!vmdef)
|
||||
goto cleanup;
|
||||
|
||||
if ((ret = qemuDomainDetachDeviceConfig(vmdef, dev, caps,
|
||||
parse_flags,
|
||||
driver->xmlopt)) < 0)
|
||||
if (qemuDomainDetachDeviceConfig(vmdef, dev, caps,
|
||||
parse_flags,
|
||||
driver->xmlopt) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||
if ((ret = qemuDomainDetachDeviceLive(vm, dev_copy, driver)) < 0)
|
||||
if (qemuDomainDetachDeviceLive(vm, dev_copy, driver) < 0)
|
||||
goto cleanup;
|
||||
/*
|
||||
* update domain status forcibly because the domain status may be
|
||||
* changed even if we failed to attach the device. For example,
|
||||
* a new controller may be created.
|
||||
*/
|
||||
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, caps) < 0) {
|
||||
ret = -1;
|
||||
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, caps) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
/* Finally, if no error until here, we can save config. */
|
||||
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
||||
ret = virDomainSaveConfig(cfg->configDir, caps, vmdef);
|
||||
if (!ret) {
|
||||
virDomainObjAssignDef(vm, vmdef, false, NULL);
|
||||
vmdef = NULL;
|
||||
}
|
||||
if (virDomainSaveConfig(cfg->configDir, caps, vmdef) < 0)
|
||||
goto cleanup;
|
||||
|
||||
virDomainObjAssignDef(vm, vmdef, false, NULL);
|
||||
vmdef = NULL;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
virObjectUnref(caps);
|
||||
virObjectUnref(cfg);
|
||||
|
|
Loading…
Reference in New Issue