return domain;
}
+void virDomainObjAssignDef(virDomainObjPtr domain,
+ const virDomainDefPtr def,
+ bool live)
+{
+ if (!virDomainObjIsActive(domain)) {
+ if (live) {
+ /* save current configuration to be restored on domain shutdown */
+ if (!domain->newDef)
+ domain->newDef = domain->def;
+ domain->def = def;
+ } else {
+ virDomainDefFree(domain->def);
+ domain->def = def;
+ }
+ } else {
+ virDomainDefFree(domain->newDef);
+ domain->newDef = def;
+ }
+}
+
virDomainObjPtr virDomainAssignDef(virCapsPtr caps,
virDomainObjListPtr doms,
const virDomainDefPtr def,
char uuidstr[VIR_UUID_STRING_BUFLEN];
if ((domain = virDomainFindByUUID(doms, def->uuid))) {
- if (!virDomainObjIsActive(domain)) {
- if (live) {
- /* save current configuration to be restored on domain shutdown */
- if (!domain->newDef)
- domain->newDef = domain->def;
- domain->def = def;
- } else {
- virDomainDefFree(domain->def);
- domain->def = def;
- }
- } else {
- virDomainDefFree(domain->newDef);
- domain->newDef = def;
- }
-
+ virDomainObjAssignDef(domain, def, live);
return domain;
}
virDomainObjListPtr doms,
const virDomainDefPtr def,
bool live);
+void virDomainObjAssignDef(virDomainObjPtr domain,
+ const virDomainDefPtr def,
+ bool live);
void virDomainRemoveInactive(virDomainObjListPtr doms,
virDomainObjPtr dom);