return 0;
}
+static int
+testDomainStartState(virConnectPtr conn,
+ virDomainObjPtr dom)
+{
+ testConnPtr privconn = conn->privateData;
+
+ dom->state = VIR_DOMAIN_RUNNING;
+ dom->def->id = privconn->nextDomID++;
+
+ return 0;
+}
static int testOpenDefault(virConnectPtr conn) {
int u;
&privconn->domains, domdef)))
goto error;
domdef = NULL;
- domobj->def->id = privconn->nextDomID++;
- domobj->state = VIR_DOMAIN_RUNNING;
+
+ if (testDomainStartState(conn, domobj) < 0) {
+ virDomainObjUnlock(domobj);
+ goto error;
+ }
+
domobj->persistent = 1;
virDomainObjUnlock(domobj);
goto error;
}
- dom->state = VIR_DOMAIN_RUNNING;
- dom->def->id = privconn->nextDomID++;
+ if (testDomainStartState(conn, dom) < 0) {
+ virDomainObjUnlock(dom);
+ goto error;
+ }
+
dom->persistent = 1;
virDomainObjUnlock(dom);
}
&privconn->domains, def)))
goto cleanup;
def = NULL;
- dom->state = VIR_DOMAIN_RUNNING;
- dom->def->id = privconn->nextDomID++;
+
+ if (testDomainStartState(conn, dom) < 0)
+ goto cleanup;
event = virDomainEventNewFromObj(dom,
VIR_DOMAIN_EVENT_STARTED,
goto cleanup;
def = NULL;
- dom->state = VIR_DOMAIN_RUNNING;
- dom->def->id = privconn->nextDomID++;
+ if (testDomainStartState(conn, dom) < 0)
+ goto cleanup;
+
event = virDomainEventNewFromObj(dom,
VIR_DOMAIN_EVENT_STARTED,
VIR_DOMAIN_EVENT_STARTED_RESTORED);
goto cleanup;
}
- domain->id = privdom->def->id = privconn->nextDomID++;
- privdom->state = VIR_DOMAIN_RUNNING;
+ if (testDomainStartState(domain->conn, privdom) < 0)
+ goto cleanup;
+ domain->id = privdom->def->id;
+
event = virDomainEventNewFromObj(privdom,
VIR_DOMAIN_EVENT_STARTED,
VIR_DOMAIN_EVENT_STARTED_BOOTED);