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);