mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-08 07:15:46 +00:00
Remove virConnectPtr from all domain XML parsing/formatting APIs
This commit is contained in:
parent
c39554bf49
commit
65842bf669
File diff suppressed because it is too large
Load Diff
@ -751,59 +751,48 @@ void virDomainObjRef(virDomainObjPtr vm);
|
|||||||
/* Returns 1 if the object was freed, 0 if more refs exist */
|
/* Returns 1 if the object was freed, 0 if more refs exist */
|
||||||
int virDomainObjUnref(virDomainObjPtr vm);
|
int virDomainObjUnref(virDomainObjPtr vm);
|
||||||
|
|
||||||
virDomainObjPtr virDomainAssignDef(virConnectPtr conn,
|
virDomainObjPtr virDomainAssignDef(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainObjListPtr doms,
|
virDomainObjListPtr doms,
|
||||||
const virDomainDefPtr def);
|
const virDomainDefPtr def);
|
||||||
void virDomainRemoveInactive(virDomainObjListPtr doms,
|
void virDomainRemoveInactive(virDomainObjListPtr doms,
|
||||||
virDomainObjPtr dom);
|
virDomainObjPtr dom);
|
||||||
|
|
||||||
#ifndef PROXY
|
#ifndef PROXY
|
||||||
virDomainDeviceDefPtr virDomainDeviceDefParse(virConnectPtr conn,
|
virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
const virDomainDefPtr def,
|
const virDomainDefPtr def,
|
||||||
const char *xmlStr,
|
const char *xmlStr,
|
||||||
int flags);
|
int flags);
|
||||||
virDomainDefPtr virDomainDefParseString(virConnectPtr conn,
|
virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
const char *xmlStr,
|
const char *xmlStr,
|
||||||
int flags);
|
int flags);
|
||||||
virDomainDefPtr virDomainDefParseFile(virConnectPtr conn,
|
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
const char *filename,
|
const char *filename,
|
||||||
int flags);
|
int flags);
|
||||||
virDomainDefPtr virDomainDefParseNode(virConnectPtr conn,
|
virDomainDefPtr virDomainDefParseNode(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
xmlDocPtr doc,
|
xmlDocPtr doc,
|
||||||
xmlNodePtr root,
|
xmlNodePtr root,
|
||||||
int flags);
|
int flags);
|
||||||
|
|
||||||
virDomainObjPtr virDomainObjParseFile(virConnectPtr conn,
|
virDomainObjPtr virDomainObjParseFile(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
const char *filename);
|
const char *filename);
|
||||||
virDomainObjPtr virDomainObjParseNode(virConnectPtr conn,
|
virDomainObjPtr virDomainObjParseNode(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
xmlDocPtr xml,
|
xmlDocPtr xml,
|
||||||
xmlNodePtr root);
|
xmlNodePtr root);
|
||||||
|
|
||||||
int virDomainDefAddDiskControllers(virDomainDefPtr def);
|
int virDomainDefAddDiskControllers(virDomainDefPtr def);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
char *virDomainDefFormat(virConnectPtr conn,
|
char *virDomainDefFormat(virDomainDefPtr def,
|
||||||
virDomainDefPtr def,
|
|
||||||
int flags);
|
int flags);
|
||||||
char *virDomainObjFormat(virConnectPtr conn,
|
char *virDomainObjFormat(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainObjPtr obj,
|
virDomainObjPtr obj,
|
||||||
int flags);
|
int flags);
|
||||||
|
|
||||||
int virDomainCpuSetParse(virConnectPtr conn,
|
int virDomainCpuSetParse(const char **str,
|
||||||
const char **str,
|
|
||||||
char sep,
|
char sep,
|
||||||
char *cpuset,
|
char *cpuset,
|
||||||
int maxcpu);
|
int maxcpu);
|
||||||
char *virDomainCpuSetFormat(virConnectPtr conn,
|
char *virDomainCpuSetFormat(char *cpuset,
|
||||||
char *cpuset,
|
|
||||||
int maxcpu);
|
int maxcpu);
|
||||||
|
|
||||||
int virDomainDiskInsert(virDomainDefPtr def,
|
int virDomainDiskInsert(virDomainDefPtr def,
|
||||||
@ -817,16 +806,13 @@ int virDomainControllerInsert(virDomainDefPtr def,
|
|||||||
void virDomainControllerInsertPreAlloced(virDomainDefPtr def,
|
void virDomainControllerInsertPreAlloced(virDomainDefPtr def,
|
||||||
virDomainControllerDefPtr controller);
|
virDomainControllerDefPtr controller);
|
||||||
|
|
||||||
int virDomainSaveXML(virConnectPtr conn,
|
int virDomainSaveXML(const char *configDir,
|
||||||
const char *configDir,
|
|
||||||
virDomainDefPtr def,
|
virDomainDefPtr def,
|
||||||
const char *xml);
|
const char *xml);
|
||||||
|
|
||||||
int virDomainSaveConfig(virConnectPtr conn,
|
int virDomainSaveConfig(const char *configDir,
|
||||||
const char *configDir,
|
|
||||||
virDomainDefPtr def);
|
virDomainDefPtr def);
|
||||||
int virDomainSaveStatus(virConnectPtr conn,
|
int virDomainSaveStatus(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
const char *statusDir,
|
const char *statusDir,
|
||||||
virDomainObjPtr obj);
|
virDomainObjPtr obj);
|
||||||
|
|
||||||
@ -834,8 +820,7 @@ typedef void (*virDomainLoadConfigNotify)(virDomainObjPtr dom,
|
|||||||
int newDomain,
|
int newDomain,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
|
||||||
virDomainObjPtr virDomainLoadConfig(virConnectPtr conn,
|
virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainObjListPtr doms,
|
virDomainObjListPtr doms,
|
||||||
const char *configDir,
|
const char *configDir,
|
||||||
const char *autostartDir,
|
const char *autostartDir,
|
||||||
@ -843,8 +828,7 @@ virDomainObjPtr virDomainLoadConfig(virConnectPtr conn,
|
|||||||
virDomainLoadConfigNotify notify,
|
virDomainLoadConfigNotify notify,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
|
||||||
int virDomainLoadAllConfigs(virConnectPtr conn,
|
int virDomainLoadAllConfigs(virCapsPtr caps,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainObjListPtr doms,
|
virDomainObjListPtr doms,
|
||||||
const char *configDir,
|
const char *configDir,
|
||||||
const char *autostartDir,
|
const char *autostartDir,
|
||||||
@ -852,13 +836,11 @@ int virDomainLoadAllConfigs(virConnectPtr conn,
|
|||||||
virDomainLoadConfigNotify notify,
|
virDomainLoadConfigNotify notify,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
|
||||||
int virDomainDeleteConfig(virConnectPtr conn,
|
int virDomainDeleteConfig(const char *configDir,
|
||||||
const char *configDir,
|
|
||||||
const char *autostartDir,
|
const char *autostartDir,
|
||||||
virDomainObjPtr dom);
|
virDomainObjPtr dom);
|
||||||
|
|
||||||
char *virDomainConfigFile(virConnectPtr conn,
|
char *virDomainConfigFile(const char *dir,
|
||||||
const char *dir,
|
|
||||||
const char *name);
|
const char *name);
|
||||||
|
|
||||||
int virDiskNameToBusDeviceIndex(virDomainDiskDefPtr disk,
|
int virDiskNameToBusDeviceIndex(virDomainDiskDefPtr disk,
|
||||||
|
@ -2182,7 +2182,7 @@ esxDomainDumpXML(virDomainPtr domain, int flags)
|
|||||||
priv->host->apiVersion);
|
priv->host->apiVersion);
|
||||||
|
|
||||||
if (def != NULL) {
|
if (def != NULL) {
|
||||||
xml = virDomainDefFormat(domain->conn, def, flags);
|
xml = virDomainDefFormat(def, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
@ -2225,7 +2225,7 @@ esxDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
|
|||||||
priv->host->apiVersion);
|
priv->host->apiVersion);
|
||||||
|
|
||||||
if (def != NULL) {
|
if (def != NULL) {
|
||||||
xml = virDomainDefFormat(conn, def, VIR_DOMAIN_XML_INACTIVE);
|
xml = virDomainDefFormat(def, VIR_DOMAIN_XML_INACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
@ -2250,7 +2250,7 @@ esxDomainXMLToNative(virConnectPtr conn, const char *nativeFormat,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
def = virDomainDefParseString(conn, priv->caps, domainXml, 0);
|
def = virDomainDefParseString(priv->caps, domainXml, 0);
|
||||||
|
|
||||||
if (def == NULL) {
|
if (def == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -2454,7 +2454,7 @@ esxDomainDefineXML(virConnectPtr conn, const char *xml ATTRIBUTE_UNUSED)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Parse domain XML */
|
/* Parse domain XML */
|
||||||
def = virDomainDefParseString(conn, priv->caps, xml,
|
def = virDomainDefParseString(priv->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
|
|
||||||
if (def == NULL) {
|
if (def == NULL) {
|
||||||
|
@ -742,12 +742,11 @@ int main(int argc, char *argv[])
|
|||||||
if ((caps = lxcCapsInit()) == NULL)
|
if ((caps = lxcCapsInit()) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if ((configFile = virDomainConfigFile(NULL,
|
if ((configFile = virDomainConfigFile(LXC_STATE_DIR,
|
||||||
LXC_STATE_DIR,
|
|
||||||
name)) == NULL)
|
name)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if ((def = virDomainDefParseFile(NULL, caps, configFile,
|
if ((def = virDomainDefParseFile(caps, configFile,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -366,7 +366,7 @@ static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
|
|||||||
int dupVM;
|
int dupVM;
|
||||||
|
|
||||||
lxcDriverLock(driver);
|
lxcDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -379,14 +379,13 @@ static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn, driver->caps,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
&driver->domains, def)))
|
&driver->domains, def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
vm->persistent = 1;
|
vm->persistent = 1;
|
||||||
|
|
||||||
if (virDomainSaveConfig(conn,
|
if (virDomainSaveConfig(driver->configDir,
|
||||||
driver->configDir,
|
|
||||||
vm->newDef ? vm->newDef : vm->def) < 0) {
|
vm->newDef ? vm->newDef : vm->def) < 0) {
|
||||||
virDomainRemoveInactive(&driver->domains, vm);
|
virDomainRemoveInactive(&driver->domains, vm);
|
||||||
vm = NULL;
|
vm = NULL;
|
||||||
@ -440,8 +439,7 @@ static int lxcDomainUndefine(virDomainPtr dom)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainDeleteConfig(dom->conn,
|
if (virDomainDeleteConfig(driver->configDir,
|
||||||
driver->configDir,
|
|
||||||
driver->autostartDir,
|
driver->autostartDir,
|
||||||
vm) < 0)
|
vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -667,8 +665,7 @@ static char *lxcDomainDumpXML(virDomainPtr dom,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = virDomainDefFormat(dom->conn,
|
ret = virDomainDefFormat((flags & VIR_DOMAIN_XML_INACTIVE) &&
|
||||||
(flags & VIR_DOMAIN_XML_INACTIVE) &&
|
|
||||||
vm->newDef ? vm->newDef : vm->def,
|
vm->newDef ? vm->newDef : vm->def,
|
||||||
flags);
|
flags);
|
||||||
|
|
||||||
@ -722,7 +719,7 @@ static int lxcVmCleanup(lxc_driver_t *driver,
|
|||||||
close(priv->monitor);
|
close(priv->monitor);
|
||||||
|
|
||||||
virFileDeletePid(driver->stateDir, vm->def->name);
|
virFileDeletePid(driver->stateDir, vm->def->name);
|
||||||
virDomainDeleteConfig(NULL, driver->stateDir, NULL, vm);
|
virDomainDeleteConfig(driver->stateDir, NULL, vm);
|
||||||
|
|
||||||
vm->state = VIR_DOMAIN_SHUTOFF;
|
vm->state = VIR_DOMAIN_SHUTOFF;
|
||||||
vm->pid = -1;
|
vm->pid = -1;
|
||||||
@ -1220,7 +1217,7 @@ static int lxcVmStart(virConnectPtr conn,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
/* Persist the live configuration now we have veth & tty info */
|
/* Persist the live configuration now we have veth & tty info */
|
||||||
if (virDomainSaveConfig(conn, driver->stateDir, vm->def) < 0)
|
if (virDomainSaveConfig(driver->stateDir, vm->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if ((logfd = open(logfile, O_WRONLY | O_APPEND | O_CREAT,
|
if ((logfd = open(logfile, O_WRONLY | O_APPEND | O_CREAT,
|
||||||
@ -1349,7 +1346,7 @@ lxcDomainCreateAndStart(virConnectPtr conn,
|
|||||||
virDomainEventPtr event = NULL;
|
virDomainEventPtr event = NULL;
|
||||||
|
|
||||||
lxcDriverLock(driver);
|
lxcDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -1363,7 +1360,7 @@ lxcDomainCreateAndStart(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn, driver->caps,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
&driver->domains, def)))
|
&driver->domains, def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
@ -1657,13 +1654,12 @@ lxcReconnectVM(void *payload, const char *name ATTRIBUTE_UNUSED, void *opaque)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((config = virDomainConfigFile(NULL,
|
if ((config = virDomainConfigFile(driver->stateDir,
|
||||||
driver->stateDir,
|
|
||||||
vm->def->name)) == NULL)
|
vm->def->name)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
/* Try and load the live config */
|
/* Try and load the live config */
|
||||||
tmp = virDomainDefParseFile(NULL, driver->caps, config, 0);
|
tmp = virDomainDefParseFile(driver->caps, config, 0);
|
||||||
VIR_FREE(config);
|
VIR_FREE(config);
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
vm->newDef = vm->def;
|
vm->newDef = vm->def;
|
||||||
@ -1761,8 +1757,7 @@ static int lxcStartup(int privileged)
|
|||||||
lxc_driver->caps->privateDataAllocFunc = lxcDomainObjPrivateAlloc;
|
lxc_driver->caps->privateDataAllocFunc = lxcDomainObjPrivateAlloc;
|
||||||
lxc_driver->caps->privateDataFreeFunc = lxcDomainObjPrivateFree;
|
lxc_driver->caps->privateDataFreeFunc = lxcDomainObjPrivateFree;
|
||||||
|
|
||||||
if (virDomainLoadAllConfigs(NULL,
|
if (virDomainLoadAllConfigs(lxc_driver->caps,
|
||||||
lxc_driver->caps,
|
|
||||||
&lxc_driver->domains,
|
&lxc_driver->domains,
|
||||||
lxc_driver->configDir,
|
lxc_driver->configDir,
|
||||||
lxc_driver->autostartDir,
|
lxc_driver->autostartDir,
|
||||||
@ -1806,8 +1801,7 @@ lxcReload(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
lxcDriverLock(lxc_driver);
|
lxcDriverLock(lxc_driver);
|
||||||
virDomainLoadAllConfigs(NULL,
|
virDomainLoadAllConfigs(lxc_driver->caps,
|
||||||
lxc_driver->caps,
|
|
||||||
&lxc_driver->domains,
|
&lxc_driver->domains,
|
||||||
lxc_driver->configDir,
|
lxc_driver->configDir,
|
||||||
lxc_driver->autostartDir,
|
lxc_driver->autostartDir,
|
||||||
@ -2122,11 +2116,11 @@ static int lxcDomainSetAutostart(virDomainPtr dom,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
configFile = virDomainConfigFile(dom->conn, driver->configDir,
|
configFile = virDomainConfigFile(driver->configDir,
|
||||||
vm->def->name);
|
vm->def->name);
|
||||||
if (configFile == NULL)
|
if (configFile == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
autostartLink = virDomainConfigFile(dom->conn, driver->autostartDir,
|
autostartLink = virDomainConfigFile(driver->autostartDir,
|
||||||
vm->def->name);
|
vm->def->name);
|
||||||
if (autostartLink == NULL)
|
if (autostartLink == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2297,7 +2291,7 @@ static int lxcDomainSuspend(virDomainPtr dom)
|
|||||||
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
|
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainSaveStatus(dom->conn, driver->caps, driver->stateDir, vm) < 0)
|
if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -2362,7 +2356,7 @@ static int lxcDomainResume(virDomainPtr dom)
|
|||||||
VIR_DOMAIN_EVENT_RESUMED_UNPAUSED);
|
VIR_DOMAIN_EVENT_RESUMED_UNPAUSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainSaveStatus(dom->conn, driver->caps, driver->stateDir, vm) < 0)
|
if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
|
@ -246,11 +246,11 @@ static virDomainPtr oneDomainDefine(virConnectPtr conn, const char *xml)
|
|||||||
virDomainPtr dom=NULL;
|
virDomainPtr dom=NULL;
|
||||||
|
|
||||||
oneDriverLock(driver);
|
oneDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto return_point;
|
goto return_point;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn, driver->caps,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
&driver->domains, def))) {
|
&driver->domains, def))) {
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
goto return_point;
|
goto return_point;
|
||||||
@ -443,7 +443,7 @@ oneDomainCreateAndStart(virConnectPtr conn,
|
|||||||
int oneid;
|
int oneid;
|
||||||
|
|
||||||
oneDriverLock(driver);
|
oneDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto return_point;
|
goto return_point;
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ oneDomainCreateAndStart(virConnectPtr conn,
|
|||||||
goto return_point;
|
goto return_point;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn, driver->caps,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
&driver->domains, def))) {
|
&driver->domains, def))) {
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
goto return_point;
|
goto return_point;
|
||||||
|
@ -479,7 +479,7 @@ static char *openvzDomainDumpXML(virDomainPtr dom, int flags) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = virDomainDefFormat(dom->conn, vm->def, flags);
|
ret = virDomainDefFormat(vm->def, flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (vm)
|
if (vm)
|
||||||
@ -806,7 +806,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
|
|
||||||
openvzDriverLock(driver);
|
openvzDriverLock(driver);
|
||||||
if ((vmdef = virDomainDefParseString(conn, driver->caps, xml,
|
if ((vmdef = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -824,7 +824,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
vmdef->name);
|
vmdef->name);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (!(vm = virDomainAssignDef(conn, driver->caps,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
&driver->domains, vmdef)))
|
&driver->domains, vmdef)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
vmdef = NULL;
|
vmdef = NULL;
|
||||||
@ -886,7 +886,7 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
const char *progstart[] = {VZCTL, "--quiet", "start", PROGRAM_SENTINAL, NULL};
|
const char *progstart[] = {VZCTL, "--quiet", "start", PROGRAM_SENTINAL, NULL};
|
||||||
|
|
||||||
openvzDriverLock(driver);
|
openvzDriverLock(driver);
|
||||||
if ((vmdef = virDomainDefParseString(conn, driver->caps, xml,
|
if ((vmdef = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -904,7 +904,7 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
vmdef->name);
|
vmdef->name);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (!(vm = virDomainAssignDef(conn, driver->caps,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
&driver->domains, vmdef)))
|
&driver->domains, vmdef)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
vmdef = NULL;
|
vmdef = NULL;
|
||||||
|
@ -1270,7 +1270,7 @@ phypDomainDumpXML(virDomainPtr dom, int flags)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
return virDomainDefFormat(dom->conn, &def, flags);
|
return virDomainDefFormat(&def, flags);
|
||||||
|
|
||||||
err:
|
err:
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -1420,7 +1420,7 @@ phypDomainCreateAndStart(virConnectPtr conn,
|
|||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
char *managed_system = phyp_driver->managed_system;
|
char *managed_system = phyp_driver->managed_system;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(conn, phyp_driver->caps, xml,
|
if (!(def = virDomainDefParseString(phyp_driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_SECURE)))
|
VIR_DOMAIN_XML_SECURE)))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
@ -1158,8 +1158,7 @@ qemudStartup(int privileged) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Get all the running persistent or transient configs first */
|
/* Get all the running persistent or transient configs first */
|
||||||
if (virDomainLoadAllConfigs(NULL,
|
if (virDomainLoadAllConfigs(qemu_driver->caps,
|
||||||
qemu_driver->caps,
|
|
||||||
&qemu_driver->domains,
|
&qemu_driver->domains,
|
||||||
qemu_driver->stateDir,
|
qemu_driver->stateDir,
|
||||||
NULL,
|
NULL,
|
||||||
@ -1169,8 +1168,7 @@ qemudStartup(int privileged) {
|
|||||||
qemuReconnectDomains(qemu_driver);
|
qemuReconnectDomains(qemu_driver);
|
||||||
|
|
||||||
/* Then inactive persistent configs */
|
/* Then inactive persistent configs */
|
||||||
if (virDomainLoadAllConfigs(NULL,
|
if (virDomainLoadAllConfigs(qemu_driver->caps,
|
||||||
qemu_driver->caps,
|
|
||||||
&qemu_driver->domains,
|
&qemu_driver->domains,
|
||||||
qemu_driver->configDir,
|
qemu_driver->configDir,
|
||||||
qemu_driver->autostartDir,
|
qemu_driver->autostartDir,
|
||||||
@ -1219,8 +1217,7 @@ qemudReload(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
qemuDriverLock(qemu_driver);
|
qemuDriverLock(qemu_driver);
|
||||||
virDomainLoadAllConfigs(NULL,
|
virDomainLoadAllConfigs(qemu_driver->caps,
|
||||||
qemu_driver->caps,
|
|
||||||
&qemu_driver->domains,
|
&qemu_driver->domains,
|
||||||
qemu_driver->configDir,
|
qemu_driver->configDir,
|
||||||
qemu_driver->autostartDir,
|
qemu_driver->autostartDir,
|
||||||
@ -2757,7 +2754,7 @@ static int qemudStartVMDaemon(virConnectPtr conn,
|
|||||||
qemuDomainObjExitMonitorWithDriver(driver, vm);
|
qemuDomainObjExitMonitorWithDriver(driver, vm);
|
||||||
|
|
||||||
|
|
||||||
if (virDomainSaveStatus(conn, driver->caps, driver->stateDir, vm) < 0)
|
if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
goto abort;
|
goto abort;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -3305,7 +3302,7 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
|
|||||||
virDomainEventPtr event = NULL;
|
virDomainEventPtr event = NULL;
|
||||||
|
|
||||||
qemuDriverLock(driver);
|
qemuDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -3315,8 +3312,7 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
|
|||||||
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def)))
|
def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -3394,7 +3390,7 @@ static int qemudDomainSuspend(virDomainPtr dom) {
|
|||||||
VIR_DOMAIN_EVENT_SUSPENDED,
|
VIR_DOMAIN_EVENT_SUSPENDED,
|
||||||
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
|
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
|
||||||
}
|
}
|
||||||
if (virDomainSaveStatus(dom->conn, driver->caps, driver->stateDir, vm) < 0)
|
if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -3454,7 +3450,7 @@ static int qemudDomainResume(virDomainPtr dom) {
|
|||||||
VIR_DOMAIN_EVENT_RESUMED,
|
VIR_DOMAIN_EVENT_RESUMED,
|
||||||
VIR_DOMAIN_EVENT_RESUMED_UNPAUSED);
|
VIR_DOMAIN_EVENT_RESUMED_UNPAUSED);
|
||||||
}
|
}
|
||||||
if (virDomainSaveStatus(dom->conn, driver->caps, driver->stateDir, vm) < 0)
|
if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -3878,7 +3874,7 @@ static int qemudDomainSave(virDomainPtr dom,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Get XML for the domain */
|
/* Get XML for the domain */
|
||||||
xml = virDomainDefFormat(dom->conn, vm->def, VIR_DOMAIN_XML_SECURE);
|
xml = virDomainDefFormat(vm->def, VIR_DOMAIN_XML_SECURE);
|
||||||
if (!xml) {
|
if (!xml) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
"%s", _("failed to get domain xml"));
|
"%s", _("failed to get domain xml"));
|
||||||
@ -4501,7 +4497,7 @@ static int qemudDomainRestore(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Create a domain from this XML */
|
/* Create a domain from this XML */
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
"%s", _("failed to parse XML"));
|
"%s", _("failed to parse XML"));
|
||||||
@ -4511,8 +4507,7 @@ static int qemudDomainRestore(virConnectPtr conn,
|
|||||||
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def))) {
|
def))) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
@ -4585,7 +4580,7 @@ static int qemudDomainRestore(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
qemuDomainObjExitMonitorWithDriver(driver, vm);
|
qemuDomainObjExitMonitorWithDriver(driver, vm);
|
||||||
vm->state = VIR_DOMAIN_RUNNING;
|
vm->state = VIR_DOMAIN_RUNNING;
|
||||||
virDomainSaveStatus(conn, driver->caps, driver->stateDir, vm);
|
virDomainSaveStatus(driver->caps, driver->stateDir, vm);
|
||||||
}
|
}
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -4652,8 +4647,7 @@ static char *qemudDomainDumpXML(virDomainPtr dom,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = virDomainDefFormat(dom->conn,
|
ret = virDomainDefFormat((flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef ?
|
||||||
(flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef ?
|
|
||||||
vm->newDef : vm->def,
|
vm->newDef : vm->def,
|
||||||
flags);
|
flags);
|
||||||
|
|
||||||
@ -4684,7 +4678,7 @@ static char *qemuDomainXMLFromNative(virConnectPtr conn,
|
|||||||
if (!def)
|
if (!def)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
xml = virDomainDefFormat(conn, def, VIR_DOMAIN_XML_INACTIVE);
|
xml = virDomainDefFormat(def, VIR_DOMAIN_XML_INACTIVE);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
@ -4716,7 +4710,7 @@ static char *qemuDomainXMLToNative(virConnectPtr conn,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
def = virDomainDefParseString(conn, driver->caps, xmlData, 0);
|
def = virDomainDefParseString(driver->caps, xmlData, 0);
|
||||||
if (!def)
|
if (!def)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -5002,7 +4996,7 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
int dupVM;
|
int dupVM;
|
||||||
|
|
||||||
qemuDriverLock(driver);
|
qemuDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -5015,8 +5009,7 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
if (qemudCanonicalizeMachine(driver, def) < 0)
|
if (qemudCanonicalizeMachine(driver, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def))) {
|
def))) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -5024,8 +5017,7 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
def = NULL;
|
def = NULL;
|
||||||
vm->persistent = 1;
|
vm->persistent = 1;
|
||||||
|
|
||||||
if (virDomainSaveConfig(conn,
|
if (virDomainSaveConfig(driver->configDir,
|
||||||
driver->configDir,
|
|
||||||
vm->newDef ? vm->newDef : vm->def) < 0) {
|
vm->newDef ? vm->newDef : vm->def) < 0) {
|
||||||
virDomainRemoveInactive(&driver->domains,
|
virDomainRemoveInactive(&driver->domains,
|
||||||
vm);
|
vm);
|
||||||
@ -5081,7 +5073,7 @@ static int qemudDomainUndefine(virDomainPtr dom) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainDeleteConfig(dom->conn, driver->configDir, driver->autostartDir, vm) < 0)
|
if (virDomainDeleteConfig(driver->configDir, driver->autostartDir, vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
event = virDomainEventNewFromObj(vm,
|
event = virDomainEventNewFromObj(vm,
|
||||||
@ -5912,7 +5904,7 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(dom->conn, driver->caps, vm->def, xml,
|
dev = virDomainDeviceDefParse(driver->caps, vm->def, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
@ -6010,7 +6002,7 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ret && virDomainSaveStatus(dom->conn, driver->caps, driver->stateDir, vm) < 0)
|
if (!ret && virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
@ -6397,7 +6389,7 @@ static int qemudDomainDetachDevice(virDomainPtr dom,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(dom->conn, driver->caps, vm->def, xml,
|
dev = virDomainDeviceDefParse(driver->caps, vm->def, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
@ -6425,7 +6417,7 @@ static int qemudDomainDetachDevice(virDomainPtr dom,
|
|||||||
"%s", _("This type of device cannot be hot unplugged"));
|
"%s", _("This type of device cannot be hot unplugged"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ret && virDomainSaveStatus(dom->conn, driver->caps, driver->stateDir, vm) < 0)
|
if (!ret && virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
@ -6506,9 +6498,9 @@ static int qemudDomainSetAutostart(virDomainPtr dom,
|
|||||||
autostart = (autostart != 0);
|
autostart = (autostart != 0);
|
||||||
|
|
||||||
if (vm->autostart != autostart) {
|
if (vm->autostart != autostart) {
|
||||||
if ((configFile = virDomainConfigFile(dom->conn, driver->configDir, vm->def->name)) == NULL)
|
if ((configFile = virDomainConfigFile(driver->configDir, vm->def->name)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if ((autostartLink = virDomainConfigFile(dom->conn, driver->autostartDir, vm->def->name)) == NULL)
|
if ((autostartLink = virDomainConfigFile(driver->autostartDir, vm->def->name)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (autostart) {
|
if (autostart) {
|
||||||
@ -7441,7 +7433,7 @@ qemudDomainMigratePrepareTunnel(virConnectPtr dconn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Parse the domain XML. */
|
/* Parse the domain XML. */
|
||||||
if (!(def = virDomainDefParseString(dconn, driver->caps, dom_xml,
|
if (!(def = virDomainDefParseString(driver->caps, dom_xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
"%s", _("failed to parse XML"));
|
"%s", _("failed to parse XML"));
|
||||||
@ -7454,8 +7446,7 @@ qemudDomainMigratePrepareTunnel(virConnectPtr dconn,
|
|||||||
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(dconn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def))) {
|
def))) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
@ -7668,7 +7659,7 @@ qemudDomainMigratePrepare2 (virConnectPtr dconn,
|
|||||||
VIR_DEBUG("Generated uri_out=%s", *uri_out);
|
VIR_DEBUG("Generated uri_out=%s", *uri_out);
|
||||||
|
|
||||||
/* Parse the domain XML. */
|
/* Parse the domain XML. */
|
||||||
if (!(def = virDomainDefParseString(dconn, driver->caps, dom_xml,
|
if (!(def = virDomainDefParseString(driver->caps, dom_xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
"%s", _("failed to parse XML"));
|
"%s", _("failed to parse XML"));
|
||||||
@ -7681,8 +7672,7 @@ qemudDomainMigratePrepare2 (virConnectPtr dconn,
|
|||||||
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(dconn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def))) {
|
def))) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
@ -8117,7 +8107,7 @@ static int doPeer2PeerMigrate(virDomainPtr dom,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dom_xml = virDomainDefFormat(dom->conn, vm->def, VIR_DOMAIN_XML_SECURE);
|
dom_xml = virDomainDefFormat(vm->def, VIR_DOMAIN_XML_SECURE);
|
||||||
if (!dom_xml) {
|
if (!dom_xml) {
|
||||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
"%s", _("failed to get domain xml"));
|
"%s", _("failed to get domain xml"));
|
||||||
@ -8210,7 +8200,7 @@ qemudDomainMigratePerform (virDomainPtr dom,
|
|||||||
VIR_DOMAIN_EVENT_STOPPED,
|
VIR_DOMAIN_EVENT_STOPPED,
|
||||||
VIR_DOMAIN_EVENT_STOPPED_MIGRATED);
|
VIR_DOMAIN_EVENT_STOPPED_MIGRATED);
|
||||||
if (!vm->persistent || (flags & VIR_MIGRATE_UNDEFINE_SOURCE)) {
|
if (!vm->persistent || (flags & VIR_MIGRATE_UNDEFINE_SOURCE)) {
|
||||||
virDomainDeleteConfig(dom->conn, driver->configDir, driver->autostartDir, vm);
|
virDomainDeleteConfig(driver->configDir, driver->autostartDir, vm);
|
||||||
if (qemuDomainObjEndJob(vm) > 0)
|
if (qemuDomainObjEndJob(vm) > 0)
|
||||||
virDomainRemoveInactive(&driver->domains, vm);
|
virDomainRemoveInactive(&driver->domains, vm);
|
||||||
vm = NULL;
|
vm = NULL;
|
||||||
@ -8290,7 +8280,7 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn,
|
|||||||
newVM = 0;
|
newVM = 0;
|
||||||
vm->persistent = 1;
|
vm->persistent = 1;
|
||||||
|
|
||||||
if (virDomainSaveConfig(dconn, driver->configDir, vm->def) < 0) {
|
if (virDomainSaveConfig(driver->configDir, vm->def) < 0) {
|
||||||
/* Hmpf. Migration was successful, but making it persistent
|
/* Hmpf. Migration was successful, but making it persistent
|
||||||
* was not. If we report successful, then when this domain
|
* was not. If we report successful, then when this domain
|
||||||
* shuts down, management tools are in for a surprise. On the
|
* shuts down, management tools are in for a surprise. On the
|
||||||
@ -8344,7 +8334,7 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn,
|
|||||||
VIR_DOMAIN_EVENT_SUSPENDED,
|
VIR_DOMAIN_EVENT_SUSPENDED,
|
||||||
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
|
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
|
||||||
}
|
}
|
||||||
virDomainSaveStatus(dconn, driver->caps, driver->stateDir, vm);
|
virDomainSaveStatus(driver->caps, driver->stateDir, vm);
|
||||||
} else {
|
} else {
|
||||||
qemudShutdownVMDaemon (dconn, driver, vm);
|
qemudShutdownVMDaemon (dconn, driver, vm);
|
||||||
event = virDomainEventNewFromObj(vm,
|
event = virDomainEventNewFromObj(vm,
|
||||||
|
@ -539,13 +539,13 @@ static int testOpenDefault(virConnectPtr conn) {
|
|||||||
|
|
||||||
privconn->nextDomID = 1;
|
privconn->nextDomID = 1;
|
||||||
|
|
||||||
if (!(domdef = virDomainDefParseString(conn, privconn->caps,
|
if (!(domdef = virDomainDefParseString(privconn->caps,
|
||||||
defaultDomainXML,
|
defaultDomainXML,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
if (testDomainGenerateIfnames(conn, domdef) < 0)
|
if (testDomainGenerateIfnames(conn, domdef) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
if (!(domobj = virDomainAssignDef(conn, privconn->caps,
|
if (!(domobj = virDomainAssignDef(privconn->caps,
|
||||||
&privconn->domains, domdef)))
|
&privconn->domains, domdef)))
|
||||||
goto error;
|
goto error;
|
||||||
domdef = NULL;
|
domdef = NULL;
|
||||||
@ -890,19 +890,19 @@ static int testOpenFromFile(virConnectPtr conn,
|
|||||||
testError(NULL, VIR_ERR_INTERNAL_ERROR, "%s", _("resolving domain filename"));
|
testError(NULL, VIR_ERR_INTERNAL_ERROR, "%s", _("resolving domain filename"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
def = virDomainDefParseFile(conn, privconn->caps, absFile,
|
def = virDomainDefParseFile(privconn->caps, absFile,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
VIR_FREE(absFile);
|
VIR_FREE(absFile);
|
||||||
if (!def)
|
if (!def)
|
||||||
goto error;
|
goto error;
|
||||||
} else {
|
} else {
|
||||||
if ((def = virDomainDefParseNode(conn, privconn->caps, xml, domains[i],
|
if ((def = virDomainDefParseNode(privconn->caps, xml, domains[i],
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (testDomainGenerateIfnames(conn, def) < 0 ||
|
if (testDomainGenerateIfnames(conn, def) < 0 ||
|
||||||
!(dom = virDomainAssignDef(conn, privconn->caps,
|
!(dom = virDomainAssignDef(privconn->caps,
|
||||||
&privconn->domains, def))) {
|
&privconn->domains, def))) {
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
goto error;
|
goto error;
|
||||||
@ -1291,7 +1291,7 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
virDomainEventPtr event = NULL;
|
virDomainEventPtr event = NULL;
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
if ((def = virDomainDefParseString(conn, privconn->caps, xml,
|
if ((def = virDomainDefParseString(privconn->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -1300,7 +1300,7 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
|
|
||||||
if (testDomainGenerateIfnames(conn, def) < 0)
|
if (testDomainGenerateIfnames(conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (!(dom = virDomainAssignDef(conn, privconn->caps,
|
if (!(dom = virDomainAssignDef(privconn->caps,
|
||||||
&privconn->domains, def)))
|
&privconn->domains, def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
@ -1707,8 +1707,7 @@ static int testDomainSave(virDomainPtr domain,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
xml = virDomainDefFormat(domain->conn,
|
xml = virDomainDefFormat(privdom->def,
|
||||||
privdom->def,
|
|
||||||
VIR_DOMAIN_XML_SECURE);
|
VIR_DOMAIN_XML_SECURE);
|
||||||
|
|
||||||
if (xml == NULL) {
|
if (xml == NULL) {
|
||||||
@ -1836,7 +1835,7 @@ static int testDomainRestore(virConnectPtr conn,
|
|||||||
xml[len] = '\0';
|
xml[len] = '\0';
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
def = virDomainDefParseString(conn, privconn->caps, xml,
|
def = virDomainDefParseString(privconn->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (!def)
|
if (!def)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1846,7 +1845,7 @@ static int testDomainRestore(virConnectPtr conn,
|
|||||||
|
|
||||||
if (testDomainGenerateIfnames(conn, def) < 0)
|
if (testDomainGenerateIfnames(conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (!(dom = virDomainAssignDef(conn, privconn->caps,
|
if (!(dom = virDomainAssignDef(privconn->caps,
|
||||||
&privconn->domains, def)))
|
&privconn->domains, def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
@ -2241,8 +2240,7 @@ static char *testDomainDumpXML(virDomainPtr domain, int flags)
|
|||||||
def = (flags & VIR_DOMAIN_XML_INACTIVE) &&
|
def = (flags & VIR_DOMAIN_XML_INACTIVE) &&
|
||||||
privdom->newDef ? privdom->newDef : privdom->def;
|
privdom->newDef ? privdom->newDef : privdom->def;
|
||||||
|
|
||||||
ret = virDomainDefFormat(domain->conn,
|
ret = virDomainDefFormat(def,
|
||||||
def,
|
|
||||||
flags);
|
flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
@ -2287,7 +2285,7 @@ static virDomainPtr testDomainDefineXML(virConnectPtr conn,
|
|||||||
int dupVM;
|
int dupVM;
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
if ((def = virDomainDefParseString(conn, privconn->caps, xml,
|
if ((def = virDomainDefParseString(privconn->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -2296,7 +2294,7 @@ static virDomainPtr testDomainDefineXML(virConnectPtr conn,
|
|||||||
|
|
||||||
if (testDomainGenerateIfnames(conn, def) < 0)
|
if (testDomainGenerateIfnames(conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (!(dom = virDomainAssignDef(conn, privconn->caps,
|
if (!(dom = virDomainAssignDef(privconn->caps,
|
||||||
&privconn->domains, def)))
|
&privconn->domains, def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
|
@ -435,8 +435,7 @@ umlStartup(int privileged) {
|
|||||||
umlInotifyEvent, uml_driver, NULL)) < 0)
|
umlInotifyEvent, uml_driver, NULL)) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (virDomainLoadAllConfigs(NULL,
|
if (virDomainLoadAllConfigs(uml_driver->caps,
|
||||||
uml_driver->caps,
|
|
||||||
¨_driver->domains,
|
¨_driver->domains,
|
||||||
uml_driver->configDir,
|
uml_driver->configDir,
|
||||||
uml_driver->autostartDir,
|
uml_driver->autostartDir,
|
||||||
@ -473,8 +472,7 @@ umlReload(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
umlDriverLock(uml_driver);
|
umlDriverLock(uml_driver);
|
||||||
virDomainLoadAllConfigs(NULL,
|
virDomainLoadAllConfigs(uml_driver->caps,
|
||||||
uml_driver->caps,
|
|
||||||
¨_driver->domains,
|
¨_driver->domains,
|
||||||
uml_driver->configDir,
|
uml_driver->configDir,
|
||||||
uml_driver->autostartDir,
|
uml_driver->autostartDir,
|
||||||
@ -1263,15 +1261,14 @@ static virDomainPtr umlDomainCreate(virConnectPtr conn, const char *xml,
|
|||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
|
|
||||||
umlDriverLock(driver);
|
umlDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def)))
|
def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1534,8 +1531,7 @@ static char *umlDomainDumpXML(virDomainPtr dom,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = virDomainDefFormat(dom->conn,
|
ret = virDomainDefFormat((flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef ?
|
||||||
(flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef ?
|
|
||||||
vm->newDef : vm->def,
|
vm->newDef : vm->def,
|
||||||
flags);
|
flags);
|
||||||
|
|
||||||
@ -1601,23 +1597,21 @@ static virDomainPtr umlDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
|
|
||||||
umlDriverLock(driver);
|
umlDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(conn, driver->caps, xml,
|
if (!(def = virDomainDefParseString(driver->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainObjIsDuplicate(&driver->domains, def, 0) < 0)
|
if (virDomainObjIsDuplicate(&driver->domains, def, 0) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainAssignDef(conn,
|
if (!(vm = virDomainAssignDef(driver->caps,
|
||||||
driver->caps,
|
|
||||||
&driver->domains,
|
&driver->domains,
|
||||||
def)))
|
def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
vm->persistent = 1;
|
vm->persistent = 1;
|
||||||
|
|
||||||
if (virDomainSaveConfig(conn,
|
if (virDomainSaveConfig(driver->configDir,
|
||||||
driver->configDir,
|
|
||||||
vm->newDef ? vm->newDef : vm->def) < 0) {
|
vm->newDef ? vm->newDef : vm->def) < 0) {
|
||||||
virDomainRemoveInactive(&driver->domains,
|
virDomainRemoveInactive(&driver->domains,
|
||||||
vm);
|
vm);
|
||||||
@ -1661,7 +1655,7 @@ static int umlDomainUndefine(virDomainPtr dom) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainDeleteConfig(dom->conn, driver->configDir, driver->autostartDir, vm) < 0)
|
if (virDomainDeleteConfig(driver->configDir, driver->autostartDir, vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
virDomainRemoveInactive(&driver->domains,
|
virDomainRemoveInactive(&driver->domains,
|
||||||
@ -1728,9 +1722,9 @@ static int umlDomainSetAutostart(virDomainPtr dom,
|
|||||||
autostart = (autostart != 0);
|
autostart = (autostart != 0);
|
||||||
|
|
||||||
if (vm->autostart != autostart) {
|
if (vm->autostart != autostart) {
|
||||||
if ((configFile = virDomainConfigFile(dom->conn, driver->configDir, vm->def->name)) == NULL)
|
if ((configFile = virDomainConfigFile(driver->configDir, vm->def->name)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if ((autostartLink = virDomainConfigFile(dom->conn, driver->autostartDir, vm->def->name)) == NULL)
|
if ((autostartLink = virDomainConfigFile(driver->autostartDir, vm->def->name)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (autostart) {
|
if (autostart) {
|
||||||
|
@ -3019,7 +3019,7 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int flags) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gotAllABoutDef == 0)
|
if (gotAllABoutDef == 0)
|
||||||
ret = virDomainDefFormat(dom->conn, def, flags);
|
ret = virDomainDefFormat(def, flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
vboxIIDFree(iid);
|
vboxIIDFree(iid);
|
||||||
@ -3355,7 +3355,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
|
|||||||
PRUnichar *machineNameUtf16 = NULL;
|
PRUnichar *machineNameUtf16 = NULL;
|
||||||
nsresult rc;
|
nsresult rc;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(conn, data->caps, xml,
|
if (!(def = virDomainDefParseString(data->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -4658,7 +4658,7 @@ static int vboxDomainAttachDevice(virDomainPtr dom, const char *xml) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(dom->conn, data->caps, def, xml,
|
dev = virDomainDeviceDefParse(data->caps, def, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL) {
|
if (dev == NULL) {
|
||||||
virReportOOMError();
|
virReportOOMError();
|
||||||
@ -4867,7 +4867,7 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(dom->conn, data->caps, def, xml,
|
dev = virDomainDeviceDefParse(data->caps, def, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL) {
|
if (dev == NULL) {
|
||||||
virReportOOMError();
|
virReportOOMError();
|
||||||
|
@ -169,7 +169,7 @@ xenDomainUsedCpus(virDomainPtr dom)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res = virDomainCpuSetFormat(dom->conn, cpulist, priv->nbNodeCpus);
|
res = virDomainCpuSetFormat(cpulist, priv->nbNodeCpus);
|
||||||
}
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
@ -1195,7 +1195,7 @@ xenUnifiedDomainXMLFromNative(virConnectPtr conn,
|
|||||||
if (!def)
|
if (!def)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
ret = virDomainDefFormat(conn, def, 0);
|
ret = virDomainDefFormat(def, 0);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
@ -1224,8 +1224,7 @@ xenUnifiedDomainXMLToNative(virConnectPtr conn,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(conn,
|
if (!(def = virDomainDefParseString(priv->caps,
|
||||||
priv->caps,
|
|
||||||
xmlData,
|
xmlData,
|
||||||
0)))
|
0)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -2410,7 +2410,7 @@ xenDaemonParseSxpr(virConnectPtr conn,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainCpuSetParse(conn, &cpus,
|
if (virDomainCpuSetParse(&cpus,
|
||||||
0, def->cpumask,
|
0, def->cpumask,
|
||||||
def->cpumasklen) < 0) {
|
def->cpumasklen) < 0) {
|
||||||
virXendError(conn, VIR_ERR_INTERNAL_ERROR,
|
virXendError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
@ -2810,7 +2810,7 @@ sexpr_to_xend_topology(virConnectPtr conn,
|
|||||||
for (cpu = 0; cpu < numCpus; cpu++)
|
for (cpu = 0; cpu < numCpus; cpu++)
|
||||||
cpuset[cpu] = 0;
|
cpuset[cpu] = 0;
|
||||||
} else {
|
} else {
|
||||||
nb_cpus = virDomainCpuSetParse(conn, &cur, 'n', cpuset, numCpus);
|
nb_cpus = virDomainCpuSetParse(&cur, 'n', cpuset, numCpus);
|
||||||
if (nb_cpus < 0)
|
if (nb_cpus < 0)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3468,7 +3468,7 @@ xenDaemonDomainDumpXML(virDomainPtr domain, int flags, const char *cpus)
|
|||||||
cpus)))
|
cpus)))
|
||||||
return(NULL);
|
return(NULL);
|
||||||
|
|
||||||
xml = virDomainDefFormat(domain->conn, def, flags);
|
xml = virDomainDefFormat(def, flags);
|
||||||
|
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
|
|
||||||
@ -4053,8 +4053,7 @@ xenDaemonCreateXML(virConnectPtr conn, const char *xmlDesc,
|
|||||||
|
|
||||||
priv = (xenUnifiedPrivatePtr) conn->privateData;
|
priv = (xenUnifiedPrivatePtr) conn->privateData;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(conn,
|
if (!(def = virDomainDefParseString(priv->caps,
|
||||||
priv->caps,
|
|
||||||
xmlDesc,
|
xmlDesc,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
return (NULL);
|
return (NULL);
|
||||||
@ -4167,8 +4166,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr domain, const char *xml,
|
|||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(domain->conn,
|
if (!(dev = virDomainDeviceDefParse(priv->caps,
|
||||||
priv->caps,
|
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -4304,8 +4302,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr domain, const char *xml,
|
|||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(domain->conn,
|
if (!(dev = virDomainDeviceDefParse(priv->caps,
|
||||||
priv->caps,
|
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -4652,7 +4649,7 @@ virDomainPtr xenDaemonDomainDefineXML(virConnectPtr conn, const char *xmlDesc) {
|
|||||||
if (priv->xendConfigVersion < 3)
|
if (priv->xendConfigVersion < 3)
|
||||||
return(NULL);
|
return(NULL);
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(conn, priv->caps, xmlDesc,
|
if (!(def = virDomainDefParseString(priv->caps, xmlDesc,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
virXendError(conn, VIR_ERR_XML_ERROR,
|
virXendError(conn, VIR_ERR_XML_ERROR,
|
||||||
"%s", _("failed to parse domain description"));
|
"%s", _("failed to parse domain description"));
|
||||||
@ -5804,7 +5801,7 @@ xenDaemonFormatSxpr(virConnectPtr conn,
|
|||||||
virBufferVSprintf(&buf, "(vcpus %lu)", def->vcpus);
|
virBufferVSprintf(&buf, "(vcpus %lu)", def->vcpus);
|
||||||
|
|
||||||
if (def->cpumask) {
|
if (def->cpumask) {
|
||||||
char *ranges = virDomainCpuSetFormat(conn, def->cpumask, def->cpumasklen);
|
char *ranges = virDomainCpuSetFormat(def->cpumask, def->cpumasklen);
|
||||||
if (ranges == NULL)
|
if (ranges == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
virBufferVSprintf(&buf, "(cpus '%s')", ranges);
|
virBufferVSprintf(&buf, "(cpus '%s')", ranges);
|
||||||
|
@ -784,7 +784,7 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
|
|||||||
if (VIR_ALLOC_N(def->cpumask, def->cpumasklen) < 0)
|
if (VIR_ALLOC_N(def->cpumask, def->cpumasklen) < 0)
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
|
|
||||||
if (virDomainCpuSetParse(conn, &str, 0,
|
if (virDomainCpuSetParse(&str, 0,
|
||||||
def->cpumask, def->cpumasklen) < 0)
|
def->cpumask, def->cpumasklen) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -1504,7 +1504,7 @@ char *xenXMDomainDumpXML(virDomainPtr domain, int flags) {
|
|||||||
if (!(entry = virHashLookup(priv->configCache, filename)))
|
if (!(entry = virHashLookup(priv->configCache, filename)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
ret = virDomainDefFormat(domain->conn, entry->def, flags);
|
ret = virDomainDefFormat(entry->def, flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
xenUnifiedUnlock(priv);
|
xenUnifiedUnlock(priv);
|
||||||
@ -1758,8 +1758,7 @@ int xenXMDomainPinVcpu(virDomainPtr domain,
|
|||||||
virReportOOMError();
|
virReportOOMError();
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (virDomainCpuSetParse(domain->conn,
|
if (virDomainCpuSetParse((const char **)&mapstr, 0,
|
||||||
(const char **)&mapstr, 0,
|
|
||||||
cpuset, maxcpu) < 0)
|
cpuset, maxcpu) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -2261,7 +2260,7 @@ virConfPtr xenXMDomainConfigFormat(virConnectPtr conn,
|
|||||||
goto no_memory;
|
goto no_memory;
|
||||||
|
|
||||||
if ((def->cpumask != NULL) &&
|
if ((def->cpumask != NULL) &&
|
||||||
((cpus = virDomainCpuSetFormat(conn, def->cpumask,
|
((cpus = virDomainCpuSetFormat(def->cpumask,
|
||||||
def->cpumasklen)) == NULL))
|
def->cpumasklen)) == NULL))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -2651,7 +2650,7 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
|
|||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(conn, priv->caps, xml,
|
if (!(def = virDomainDefParseString(priv->caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
xenUnifiedUnlock(priv);
|
xenUnifiedUnlock(priv);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
@ -2957,8 +2956,7 @@ xenXMDomainAttachDeviceFlags(virDomainPtr domain, const char *xml,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = entry->def;
|
def = entry->def;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(domain->conn,
|
if (!(dev = virDomainDeviceDefParse(priv->caps,
|
||||||
priv->caps,
|
|
||||||
entry->def,
|
entry->def,
|
||||||
xml, VIR_DOMAIN_XML_INACTIVE)))
|
xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -3050,8 +3048,7 @@ xenXMDomainDetachDeviceFlags(virDomainPtr domain, const char *xml,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = entry->def;
|
def = entry->def;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(domain->conn,
|
if (!(dev = virDomainDeviceDefParse(priv->caps,
|
||||||
priv->caps,
|
|
||||||
entry->def,
|
entry->def,
|
||||||
xml, VIR_DOMAIN_XML_INACTIVE)))
|
xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -52,7 +52,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
|
|||||||
if (!(vmdef = qemuParseCommandLineString(driver.caps, cmd)))
|
if (!(vmdef = qemuParseCommandLineString(driver.caps, cmd)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(actualxml = virDomainDefFormat(NULL, vmdef, 0)))
|
if (!(actualxml = virDomainDefFormat(vmdef, 0)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (blankProblemElements(expectxml) < 0 ||
|
if (blankProblemElements(expectxml) < 0 ||
|
||||||
|
@ -39,7 +39,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
|
|||||||
if (virtTestLoadFile(cmd, &expectargv, MAX_FILE) < 0)
|
if (virtTestLoadFile(cmd, &expectargv, MAX_FILE) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(vmdef = virDomainDefParseFile(NULL, driver.caps, xml,
|
if (!(vmdef = virDomainDefParseFile(driver.caps, xml,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
@ -32,11 +32,11 @@ static int testCompareXMLToXMLFiles(const char *xml) {
|
|||||||
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
|
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(vmdef = virDomainDefParseString(NULL, driver.caps, xmlData,
|
if (!(vmdef = virDomainDefParseString(driver.caps, xmlData,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(actual = virDomainDefFormat(NULL, vmdef, 0)))
|
if (!(actual = virDomainDefFormat(vmdef, 0)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (STRNEQ(xmlData, actual)) {
|
if (STRNEQ(xmlData, actual)) {
|
||||||
|
@ -51,7 +51,7 @@ static int testCompareFiles(const char *xml, const char *sexpr,
|
|||||||
if (!(def = xenDaemonParseSxprString(conn, sexprData, xendConfigVersion)))
|
if (!(def = xenDaemonParseSxprString(conn, sexprData, xendConfigVersion)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(gotxml = virDomainDefFormat(NULL, def, 0)))
|
if (!(gotxml = virDomainDefFormat(def, 0)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (STRNEQ(xmlData, gotxml)) {
|
if (STRNEQ(xmlData, gotxml)) {
|
||||||
|
@ -42,7 +42,7 @@ testCompareFiles(const char *vmx, const char *xml, esxVI_APIVersion apiVersion)
|
|||||||
goto failure;
|
goto failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
formatted = virDomainDefFormat(NULL, def, VIR_DOMAIN_XML_SECURE);
|
formatted = virDomainDefFormat(def, VIR_DOMAIN_XML_SECURE);
|
||||||
|
|
||||||
if (formatted == NULL) {
|
if (formatted == NULL) {
|
||||||
goto failure;
|
goto failure;
|
||||||
|
@ -70,7 +70,7 @@ static int testCompareParseXML(const char *xmcfg, const char *xml,
|
|||||||
priv.caps = caps;
|
priv.caps = caps;
|
||||||
conn->privateData = &priv;
|
conn->privateData = &priv;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(NULL, caps, xmlPtr,
|
if (!(def = virDomainDefParseString(caps, xmlPtr,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ static int testCompareFormatXML(const char *xmcfg, const char *xml,
|
|||||||
if (!(def = xenXMDomainConfigParse(conn, conf)))
|
if (!(def = xenXMDomainConfigParse(conn, conf)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(gotxml = virDomainDefFormat(conn, def, VIR_DOMAIN_XML_SECURE)))
|
if (!(gotxml = virDomainDefFormat(def, VIR_DOMAIN_XML_SECURE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (STRNEQ(xmlData, gotxml)) {
|
if (STRNEQ(xmlData, gotxml)) {
|
||||||
|
@ -35,7 +35,7 @@ static int testCompareFiles(const char *xml, const char *sexpr,
|
|||||||
if (virtTestLoadFile(sexpr, &sexprPtr, MAX_FILE) < 0)
|
if (virtTestLoadFile(sexpr, &sexprPtr, MAX_FILE) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(NULL, caps, xmlData,
|
if (!(def = virDomainDefParseString(caps, xmlData,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ testCompareFiles(const char *xml, const char *vmx, esxVI_APIVersion apiVersion)
|
|||||||
goto failure;
|
goto failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
def = virDomainDefParseString(NULL, caps, xmlData, VIR_DOMAIN_XML_INACTIVE);
|
def = virDomainDefParseString(caps, xmlData, VIR_DOMAIN_XML_INACTIVE);
|
||||||
|
|
||||||
if (def == NULL) {
|
if (def == NULL) {
|
||||||
goto failure;
|
goto failure;
|
||||||
|
Loading…
Reference in New Issue
Block a user