提交 a7837f92 编写于 作者: M Michal Privoznik

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: NMichal Privoznik <mprivozn@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 604f3ff0
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册