mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 09:25:18 +00:00
conf callback: Rearrange function parameters
Move the xmlopt and caps arguments to the end of the argument list.
This commit is contained in:
parent
43b99fc4c0
commit
ad0d10b2b1
@ -2000,8 +2000,8 @@ void virDomainObjAssignDef(virDomainObjPtr domain,
|
|||||||
*/
|
*/
|
||||||
static virDomainObjPtr
|
static virDomainObjPtr
|
||||||
virDomainObjListAddLocked(virDomainObjListPtr doms,
|
virDomainObjListAddLocked(virDomainObjListPtr doms,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const virDomainDefPtr def,
|
const virDomainDefPtr def,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
virDomainDefPtr *oldDef)
|
virDomainDefPtr *oldDef)
|
||||||
{
|
{
|
||||||
@ -2071,15 +2071,15 @@ error:
|
|||||||
|
|
||||||
|
|
||||||
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
|
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const virDomainDefPtr def,
|
const virDomainDefPtr def,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
virDomainDefPtr *oldDef)
|
virDomainDefPtr *oldDef)
|
||||||
{
|
{
|
||||||
virDomainObjPtr ret;
|
virDomainObjPtr ret;
|
||||||
|
|
||||||
virObjectLock(doms);
|
virObjectLock(doms);
|
||||||
ret = virDomainObjListAddLocked(doms, xmlopt, def, flags, oldDef);
|
ret = virDomainObjListAddLocked(doms, def, xmlopt, flags, oldDef);
|
||||||
virObjectUnlock(doms);
|
virObjectUnlock(doms);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -2113,7 +2113,7 @@ virDomainObjSetDefTransient(virCapsPtr caps,
|
|||||||
if (domain->newDef)
|
if (domain->newDef)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!(domain->newDef = virDomainDefCopy(caps, xmlopt, domain->def, false)))
|
if (!(domain->newDef = virDomainDefCopy(domain->def, caps, xmlopt, false)))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
@ -8470,10 +8470,10 @@ virDomainPMStateParseXML(xmlXPathContextPtr ctxt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
virDomainDeviceDefPtr
|
virDomainDeviceDefPtr
|
||||||
virDomainDeviceDefParse(virCapsPtr caps,
|
virDomainDeviceDefParse(const char *xmlStr,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
virDomainDefPtr def,
|
virDomainDefPtr def,
|
||||||
const char *xmlStr,
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
xmlDocPtr xml;
|
xmlDocPtr xml;
|
||||||
@ -9469,11 +9469,11 @@ cleanup:
|
|||||||
|
|
||||||
|
|
||||||
static virDomainDefPtr
|
static virDomainDefPtr
|
||||||
virDomainDefParseXML(virCapsPtr caps,
|
virDomainDefParseXML(xmlDocPtr xml,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
xmlDocPtr xml,
|
|
||||||
xmlNodePtr root,
|
xmlNodePtr root,
|
||||||
xmlXPathContextPtr ctxt,
|
xmlXPathContextPtr ctxt,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11139,10 +11139,10 @@ error:
|
|||||||
|
|
||||||
|
|
||||||
static virDomainObjPtr
|
static virDomainObjPtr
|
||||||
virDomainObjParseXML(virCapsPtr caps,
|
virDomainObjParseXML(xmlDocPtr xml,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
xmlDocPtr xml,
|
|
||||||
xmlXPathContextPtr ctxt,
|
xmlXPathContextPtr ctxt,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11167,8 +11167,8 @@ virDomainObjParseXML(virCapsPtr caps,
|
|||||||
|
|
||||||
oldnode = ctxt->node;
|
oldnode = ctxt->node;
|
||||||
ctxt->node = config;
|
ctxt->node = config;
|
||||||
obj->def = virDomainDefParseXML(caps, xmlopt, xml, config, ctxt, expectedVirtTypes,
|
obj->def = virDomainDefParseXML(xml, config, ctxt, caps, xmlopt,
|
||||||
flags);
|
expectedVirtTypes, flags);
|
||||||
ctxt->node = oldnode;
|
ctxt->node = oldnode;
|
||||||
if (!obj->def)
|
if (!obj->def)
|
||||||
goto error;
|
goto error;
|
||||||
@ -11250,8 +11250,8 @@ virDomainDefParse(const char *xmlStr,
|
|||||||
int keepBlanksDefault = xmlKeepBlanksDefault(0);
|
int keepBlanksDefault = xmlKeepBlanksDefault(0);
|
||||||
|
|
||||||
if ((xml = virXMLParse(filename, xmlStr, _("(domain_definition)")))) {
|
if ((xml = virXMLParse(filename, xmlStr, _("(domain_definition)")))) {
|
||||||
def = virDomainDefParseNode(caps, xmlopt, xml, xmlDocGetRootElement(xml),
|
def = virDomainDefParseNode(xml, xmlDocGetRootElement(xml), caps,
|
||||||
expectedVirtTypes, flags);
|
xmlopt, expectedVirtTypes, flags);
|
||||||
xmlFreeDoc(xml);
|
xmlFreeDoc(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11260,9 +11260,9 @@ virDomainDefParse(const char *xmlStr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
virDomainDefPtr
|
virDomainDefPtr
|
||||||
virDomainDefParseString(virCapsPtr caps,
|
virDomainDefParseString(const char *xmlStr,
|
||||||
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virDomainXMLOptionPtr xmlopt,
|
||||||
const char *xmlStr,
|
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11271,9 +11271,9 @@ virDomainDefParseString(virCapsPtr caps,
|
|||||||
}
|
}
|
||||||
|
|
||||||
virDomainDefPtr
|
virDomainDefPtr
|
||||||
virDomainDefParseFile(virCapsPtr caps,
|
virDomainDefParseFile(const char *filename,
|
||||||
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virDomainXMLOptionPtr xmlopt,
|
||||||
const char *filename,
|
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11283,10 +11283,10 @@ virDomainDefParseFile(virCapsPtr caps,
|
|||||||
|
|
||||||
|
|
||||||
virDomainDefPtr
|
virDomainDefPtr
|
||||||
virDomainDefParseNode(virCapsPtr caps,
|
virDomainDefParseNode(xmlDocPtr xml,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
xmlDocPtr xml,
|
|
||||||
xmlNodePtr root,
|
xmlNodePtr root,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11308,7 +11308,7 @@ virDomainDefParseNode(virCapsPtr caps,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctxt->node = root;
|
ctxt->node = root;
|
||||||
def = virDomainDefParseXML(caps, xmlopt, xml, root, ctxt,
|
def = virDomainDefParseXML(xml, root, ctxt, caps, xmlopt,
|
||||||
expectedVirtTypes, flags);
|
expectedVirtTypes, flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
@ -11318,10 +11318,10 @@ cleanup:
|
|||||||
|
|
||||||
|
|
||||||
static virDomainObjPtr
|
static virDomainObjPtr
|
||||||
virDomainObjParseNode(virCapsPtr caps,
|
virDomainObjParseNode(xmlDocPtr xml,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
xmlDocPtr xml,
|
|
||||||
xmlNodePtr root,
|
xmlNodePtr root,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11342,7 +11342,7 @@ virDomainObjParseNode(virCapsPtr caps,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctxt->node = root;
|
ctxt->node = root;
|
||||||
obj = virDomainObjParseXML(caps, xmlopt, xml, ctxt, expectedVirtTypes, flags);
|
obj = virDomainObjParseXML(xml, ctxt, caps, xmlopt, expectedVirtTypes, flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
xmlXPathFreeContext(ctxt);
|
xmlXPathFreeContext(ctxt);
|
||||||
@ -11351,9 +11351,9 @@ cleanup:
|
|||||||
|
|
||||||
|
|
||||||
static virDomainObjPtr
|
static virDomainObjPtr
|
||||||
virDomainObjParseFile(virCapsPtr caps,
|
virDomainObjParseFile(const char *filename,
|
||||||
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virDomainXMLOptionPtr xmlopt,
|
||||||
const char *filename,
|
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -11362,8 +11362,8 @@ virDomainObjParseFile(virCapsPtr caps,
|
|||||||
int keepBlanksDefault = xmlKeepBlanksDefault(0);
|
int keepBlanksDefault = xmlKeepBlanksDefault(0);
|
||||||
|
|
||||||
if ((xml = virXMLParseFile(filename))) {
|
if ((xml = virXMLParseFile(filename))) {
|
||||||
obj = virDomainObjParseNode(caps, xmlopt, xml,
|
obj = virDomainObjParseNode(xml, xmlDocGetRootElement(xml),
|
||||||
xmlDocGetRootElement(xml),
|
caps, xmlopt,
|
||||||
expectedVirtTypes, flags);
|
expectedVirtTypes, flags);
|
||||||
xmlFreeDoc(xml);
|
xmlFreeDoc(xml);
|
||||||
}
|
}
|
||||||
@ -15526,7 +15526,7 @@ virDomainObjListLoadConfig(virDomainObjListPtr doms,
|
|||||||
|
|
||||||
if ((configFile = virDomainConfigFile(configDir, name)) == NULL)
|
if ((configFile = virDomainConfigFile(configDir, name)) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
if (!(def = virDomainDefParseFile(caps, xmlopt, configFile,
|
if (!(def = virDomainDefParseFile(configFile, caps, xmlopt,
|
||||||
expectedVirtTypes,
|
expectedVirtTypes,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
@ -15537,7 +15537,7 @@ virDomainObjListLoadConfig(virDomainObjListPtr doms,
|
|||||||
if ((autostart = virFileLinkPointsTo(autostartLink, configFile)) < 0)
|
if ((autostart = virFileLinkPointsTo(autostartLink, configFile)) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (!(dom = virDomainObjListAddLocked(doms, xmlopt, def, 0, &oldDef)))
|
if (!(dom = virDomainObjListAddLocked(doms, def, xmlopt, 0, &oldDef)))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
dom->autostart = autostart;
|
dom->autostart = autostart;
|
||||||
@ -15559,10 +15559,10 @@ error:
|
|||||||
|
|
||||||
static virDomainObjPtr
|
static virDomainObjPtr
|
||||||
virDomainObjListLoadStatus(virDomainObjListPtr doms,
|
virDomainObjListLoadStatus(virDomainObjListPtr doms,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const char *statusDir,
|
const char *statusDir,
|
||||||
const char *name,
|
const char *name,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
virDomainLoadConfigNotify notify,
|
virDomainLoadConfigNotify notify,
|
||||||
void *opaque)
|
void *opaque)
|
||||||
@ -15574,7 +15574,7 @@ virDomainObjListLoadStatus(virDomainObjListPtr doms,
|
|||||||
if ((statusFile = virDomainConfigFile(statusDir, name)) == NULL)
|
if ((statusFile = virDomainConfigFile(statusDir, name)) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (!(obj = virDomainObjParseFile(caps, xmlopt, statusFile, expectedVirtTypes,
|
if (!(obj = virDomainObjParseFile(statusFile, caps, xmlopt, expectedVirtTypes,
|
||||||
VIR_DOMAIN_XML_INTERNAL_STATUS |
|
VIR_DOMAIN_XML_INTERNAL_STATUS |
|
||||||
VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET |
|
VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET |
|
||||||
VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES)))
|
VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES)))
|
||||||
@ -15606,11 +15606,11 @@ error:
|
|||||||
|
|
||||||
int
|
int
|
||||||
virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const char *configDir,
|
const char *configDir,
|
||||||
const char *autostartDir,
|
const char *autostartDir,
|
||||||
int liveStatus,
|
int liveStatus,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
virDomainLoadConfigNotify notify,
|
virDomainLoadConfigNotify notify,
|
||||||
void *opaque)
|
void *opaque)
|
||||||
@ -15645,10 +15645,10 @@ virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
|||||||
VIR_INFO("Loading config file '%s.xml'", entry->d_name);
|
VIR_INFO("Loading config file '%s.xml'", entry->d_name);
|
||||||
if (liveStatus)
|
if (liveStatus)
|
||||||
dom = virDomainObjListLoadStatus(doms,
|
dom = virDomainObjListLoadStatus(doms,
|
||||||
caps,
|
|
||||||
xmlopt,
|
|
||||||
configDir,
|
configDir,
|
||||||
entry->d_name,
|
entry->d_name,
|
||||||
|
caps,
|
||||||
|
xmlopt,
|
||||||
expectedVirtTypes,
|
expectedVirtTypes,
|
||||||
notify,
|
notify,
|
||||||
opaque);
|
opaque);
|
||||||
@ -16048,9 +16048,9 @@ cleanup:
|
|||||||
* persistent and active, true for transitions across save files or
|
* persistent and active, true for transitions across save files or
|
||||||
* snapshots). */
|
* snapshots). */
|
||||||
virDomainDefPtr
|
virDomainDefPtr
|
||||||
virDomainDefCopy(virCapsPtr caps,
|
virDomainDefCopy(virDomainDefPtr src,
|
||||||
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virDomainXMLOptionPtr xmlopt,
|
||||||
virDomainDefPtr src,
|
|
||||||
bool migratable)
|
bool migratable)
|
||||||
{
|
{
|
||||||
char *xml;
|
char *xml;
|
||||||
@ -16065,21 +16065,21 @@ virDomainDefCopy(virCapsPtr caps,
|
|||||||
if (!(xml = virDomainDefFormat(src, write_flags)))
|
if (!(xml = virDomainDefFormat(src, write_flags)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
ret = virDomainDefParseString(caps, xmlopt, xml, -1, read_flags);
|
ret = virDomainDefParseString(xml, caps, xmlopt, -1, read_flags);
|
||||||
|
|
||||||
VIR_FREE(xml);
|
VIR_FREE(xml);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
virDomainDefPtr
|
virDomainDefPtr
|
||||||
virDomainObjCopyPersistentDef(virCapsPtr caps,
|
virDomainObjCopyPersistentDef(virDomainObjPtr dom,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virCapsPtr caps,
|
||||||
virDomainObjPtr dom)
|
virDomainXMLOptionPtr xmlopt)
|
||||||
{
|
{
|
||||||
virDomainDefPtr cur;
|
virDomainDefPtr cur;
|
||||||
|
|
||||||
cur = virDomainObjGetPersistentDef(caps, xmlopt, dom);
|
cur = virDomainObjGetPersistentDef(caps, xmlopt, dom);
|
||||||
return virDomainDefCopy(caps, xmlopt, cur, false);
|
return virDomainDefCopy(cur, caps, xmlopt, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -16519,10 +16519,10 @@ virDomainNetFind(virDomainDefPtr def, const char *device)
|
|||||||
* Returns a pointer to copied @src or NULL in case of error.
|
* Returns a pointer to copied @src or NULL in case of error.
|
||||||
*/
|
*/
|
||||||
virDomainDeviceDefPtr
|
virDomainDeviceDefPtr
|
||||||
virDomainDeviceDefCopy(virCapsPtr caps,
|
virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const virDomainDefPtr def,
|
const virDomainDefPtr def,
|
||||||
virDomainDeviceDefPtr src)
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt)
|
||||||
{
|
{
|
||||||
virDomainDeviceDefPtr ret = NULL;
|
virDomainDeviceDefPtr ret = NULL;
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
@ -16589,7 +16589,7 @@ virDomainDeviceDefCopy(virCapsPtr caps,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
xmlStr = virBufferContentAndReset(&buf);
|
xmlStr = virBufferContentAndReset(&buf);
|
||||||
ret = virDomainDeviceDefParse(caps, xmlopt, def, xmlStr, flags);
|
ret = virDomainDeviceDefParse(xmlStr, def, caps, xmlopt, flags);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(xmlStr);
|
VIR_FREE(xmlStr);
|
||||||
|
@ -2026,10 +2026,10 @@ void virDomainHubDefFree(virDomainHubDefPtr def);
|
|||||||
void virDomainRedirdevDefFree(virDomainRedirdevDefPtr def);
|
void virDomainRedirdevDefFree(virDomainRedirdevDefPtr def);
|
||||||
void virDomainRedirFilterDefFree(virDomainRedirFilterDefPtr def);
|
void virDomainRedirFilterDefFree(virDomainRedirFilterDefPtr def);
|
||||||
void virDomainDeviceDefFree(virDomainDeviceDefPtr def);
|
void virDomainDeviceDefFree(virDomainDeviceDefPtr def);
|
||||||
virDomainDeviceDefPtr virDomainDeviceDefCopy(virCapsPtr caps,
|
virDomainDeviceDefPtr virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const virDomainDefPtr def,
|
const virDomainDefPtr def,
|
||||||
virDomainDeviceDefPtr src);
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt);
|
||||||
int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
|
int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
|
||||||
int type);
|
int type);
|
||||||
int virDomainDeviceInfoCopy(virDomainDeviceInfoPtr dst,
|
int virDomainDeviceInfoCopy(virDomainDeviceInfoPtr dst,
|
||||||
@ -2057,8 +2057,8 @@ enum {
|
|||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
|
||||||
};
|
};
|
||||||
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
|
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const virDomainDefPtr def,
|
const virDomainDefPtr def,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
virDomainDefPtr *oldDef);
|
virDomainDefPtr *oldDef);
|
||||||
void virDomainObjAssignDef(virDomainObjPtr domain,
|
void virDomainObjAssignDef(virDomainObjPtr domain,
|
||||||
@ -2081,34 +2081,36 @@ virDomainLiveConfigHelperMethod(virCapsPtr caps,
|
|||||||
unsigned int *flags,
|
unsigned int *flags,
|
||||||
virDomainDefPtr *persistentDef);
|
virDomainDefPtr *persistentDef);
|
||||||
|
|
||||||
virDomainDefPtr virDomainDefCopy(virCapsPtr caps, virDomainXMLOptionPtr xmlopt,
|
virDomainDefPtr virDomainDefCopy(virDomainDefPtr src,
|
||||||
virDomainDefPtr src, bool migratable);
|
virCapsPtr caps,
|
||||||
virDomainDefPtr
|
virDomainXMLOptionPtr xmlopt,
|
||||||
virDomainObjCopyPersistentDef(virCapsPtr caps, virDomainXMLOptionPtr xmlopt,
|
bool migratable);
|
||||||
virDomainObjPtr dom);
|
virDomainDefPtr virDomainObjCopyPersistentDef(virDomainObjPtr dom,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt);
|
||||||
|
|
||||||
void virDomainObjListRemove(virDomainObjListPtr doms,
|
void virDomainObjListRemove(virDomainObjListPtr doms,
|
||||||
virDomainObjPtr dom);
|
virDomainObjPtr dom);
|
||||||
|
|
||||||
virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
|
virDomainDeviceDefPtr virDomainDeviceDefParse(const char *xmlStr,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
virDomainDefPtr def,
|
virDomainDefPtr def,
|
||||||
const char *xmlStr,
|
virCapsPtr caps,
|
||||||
unsigned int flags);
|
virDomainXMLOptionPtr xmlopt,
|
||||||
virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
|
unsigned int flags);
|
||||||
|
virDomainDefPtr virDomainDefParseString(const char *xmlStr,
|
||||||
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virDomainXMLOptionPtr xmlopt,
|
||||||
const char *xmlStr,
|
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
|
virDomainDefPtr virDomainDefParseFile(const char *filename,
|
||||||
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
virDomainXMLOptionPtr xmlopt,
|
||||||
const char *filename,
|
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
virDomainDefPtr virDomainDefParseNode(virCapsPtr caps,
|
virDomainDefPtr virDomainDefParseNode(xmlDocPtr doc,
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
xmlDocPtr doc,
|
|
||||||
xmlNodePtr root,
|
xmlNodePtr root,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
|
|
||||||
@ -2232,11 +2234,11 @@ typedef void (*virDomainLoadConfigNotify)(virDomainObjPtr dom,
|
|||||||
void *opaque);
|
void *opaque);
|
||||||
|
|
||||||
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
||||||
virCapsPtr caps,
|
|
||||||
virDomainXMLOptionPtr xmlopt,
|
|
||||||
const char *configDir,
|
const char *configDir,
|
||||||
const char *autostartDir,
|
const char *autostartDir,
|
||||||
int liveStatus,
|
int liveStatus,
|
||||||
|
virCapsPtr caps,
|
||||||
|
virDomainXMLOptionPtr xmlopt,
|
||||||
unsigned int expectedVirtTypes,
|
unsigned int expectedVirtTypes,
|
||||||
virDomainLoadConfigNotify notify,
|
virDomainLoadConfigNotify notify,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
@ -264,7 +264,7 @@ virDomainSnapshotDefParseString(const char *xmlStr,
|
|||||||
_("missing domain in snapshot"));
|
_("missing domain in snapshot"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
def->dom = virDomainDefParseNode(caps, xmlopt, xml, domainNode,
|
def->dom = virDomainDefParseNode(xml, domainNode, caps, xmlopt,
|
||||||
expectedVirtTypes,
|
expectedVirtTypes,
|
||||||
(VIR_DOMAIN_XML_INACTIVE |
|
(VIR_DOMAIN_XML_INACTIVE |
|
||||||
VIR_DOMAIN_XML_SECURE));
|
VIR_DOMAIN_XML_SECURE));
|
||||||
|
@ -2887,8 +2887,8 @@ esxDomainXMLToNative(virConnectPtr conn, const char *nativeFormat,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
def = virDomainDefParseString(priv->caps, priv->xmlopt,
|
def = virDomainDefParseString(domainXml, priv->caps, priv->xmlopt,
|
||||||
domainXml, 1 << VIR_DOMAIN_VIRT_VMWARE, 0);
|
1 << VIR_DOMAIN_VIRT_VMWARE, 0);
|
||||||
|
|
||||||
if (def == NULL) {
|
if (def == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -3103,8 +3103,8 @@ esxDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Parse domain XML */
|
/* Parse domain XML */
|
||||||
def = virDomainDefParseString(priv->caps, priv->xmlopt,
|
def = virDomainDefParseString(xml, priv->caps, priv->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_VMWARE,
|
1 << VIR_DOMAIN_VIRT_VMWARE,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
|
|
||||||
if (def == NULL) {
|
if (def == NULL) {
|
||||||
|
@ -563,8 +563,8 @@ libxlSaveImageOpen(libxlDriverPrivatePtr driver, const char *from,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -1246,11 +1246,12 @@ libxlStartup(bool privileged,
|
|||||||
|
|
||||||
/* Load running domains first. */
|
/* Load running domains first. */
|
||||||
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
||||||
libxl_driver->caps,
|
|
||||||
libxl_driver->xmlopt,
|
|
||||||
libxl_driver->stateDir,
|
libxl_driver->stateDir,
|
||||||
libxl_driver->autostartDir,
|
libxl_driver->autostartDir,
|
||||||
1, 1 << VIR_DOMAIN_VIRT_XEN,
|
1,
|
||||||
|
libxl_driver->caps,
|
||||||
|
libxl_driver->xmlopt,
|
||||||
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -1258,11 +1259,12 @@ libxlStartup(bool privileged,
|
|||||||
|
|
||||||
/* Then inactive persistent configs */
|
/* Then inactive persistent configs */
|
||||||
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
||||||
libxl_driver->caps,
|
|
||||||
libxl_driver->xmlopt,
|
|
||||||
libxl_driver->configDir,
|
libxl_driver->configDir,
|
||||||
libxl_driver->autostartDir,
|
libxl_driver->autostartDir,
|
||||||
0, 1 << VIR_DOMAIN_VIRT_XEN,
|
0,
|
||||||
|
libxl_driver->caps,
|
||||||
|
libxl_driver->xmlopt,
|
||||||
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -1296,11 +1298,12 @@ libxlReload(void)
|
|||||||
|
|
||||||
libxlDriverLock(libxl_driver);
|
libxlDriverLock(libxl_driver);
|
||||||
virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
||||||
libxl_driver->caps,
|
|
||||||
libxl_driver->xmlopt,
|
|
||||||
libxl_driver->configDir,
|
libxl_driver->configDir,
|
||||||
libxl_driver->autostartDir,
|
libxl_driver->autostartDir,
|
||||||
1, 1 << VIR_DOMAIN_VIRT_XEN,
|
1,
|
||||||
|
libxl_driver->caps,
|
||||||
|
libxl_driver->xmlopt,
|
||||||
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
NULL, libxl_driver);
|
NULL, libxl_driver);
|
||||||
|
|
||||||
virDomainObjListForEach(libxl_driver->domains, libxlAutostartDomain,
|
virDomainObjListForEach(libxl_driver->domains, libxlAutostartDomain,
|
||||||
@ -1455,14 +1458,13 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
virCheckFlags(VIR_DOMAIN_START_PAUSED, NULL);
|
virCheckFlags(VIR_DOMAIN_START_PAUSED, NULL);
|
||||||
|
|
||||||
libxlDriverLock(driver);
|
libxlDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2242,9 +2244,8 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from,
|
|||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
@ -2932,7 +2933,8 @@ libxlDomainXMLToNative(virConnectPtr conn, const char * nativeFormat,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt, domainXml,
|
if (!(def = virDomainDefParseString(domainXml,
|
||||||
|
driver->caps, driver->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN, 0)))
|
1 << VIR_DOMAIN_VIRT_XEN, 0)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -3034,14 +3036,13 @@ libxlDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
virDomainDefPtr oldDef = NULL;
|
virDomainDefPtr oldDef = NULL;
|
||||||
|
|
||||||
libxlDriverLock(driver);
|
libxlDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
0,
|
0,
|
||||||
&oldDef)))
|
&oldDef)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -3557,14 +3558,14 @@ libxlDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
priv = vm->privateData;
|
priv = vm->privateData;
|
||||||
|
|
||||||
if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
|
if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
|
||||||
if (!(dev = virDomainDeviceDefParse(driver->caps, driver->xmlopt,
|
if (!(dev = virDomainDeviceDefParse(xml, vm->def,
|
||||||
vm->def, xml,
|
driver->caps, driver->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
/* Make a copy for updated domain. */
|
/* Make a copy for updated domain. */
|
||||||
if (!(vmdef = virDomainObjCopyPersistentDef(driver->caps,
|
if (!(vmdef = virDomainObjCopyPersistentDef(vm, driver->caps,
|
||||||
driver->xmlopt, vm)))
|
driver->xmlopt)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
switch (action) {
|
switch (action) {
|
||||||
@ -3588,8 +3589,8 @@ libxlDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) {
|
if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) {
|
||||||
/* If dev exists it was created to modify the domain config. Free it. */
|
/* If dev exists it was created to modify the domain config. Free it. */
|
||||||
virDomainDeviceDefFree(dev);
|
virDomainDeviceDefFree(dev);
|
||||||
if (!(dev = virDomainDeviceDefParse(driver->caps, driver->xmlopt,
|
if (!(dev = virDomainDeviceDefParse(xml, vm->def,
|
||||||
vm->def, xml,
|
driver->caps, driver->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -169,8 +169,8 @@ static virLXCControllerPtr virLXCControllerNew(const char *name)
|
|||||||
ctrl->name)) == NULL)
|
ctrl->name)) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if ((ctrl->def = virDomainDefParseFile(caps, xmlopt,
|
if ((ctrl->def = virDomainDefParseFile(configFile,
|
||||||
configFile,
|
caps, xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_LXC,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
0)) == NULL)
|
0)) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -413,7 +413,7 @@ static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
|
|||||||
virDomainDefPtr oldDef = NULL;
|
virDomainDefPtr oldDef = NULL;
|
||||||
|
|
||||||
lxcDriverLock(driver);
|
lxcDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_LXC,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -427,11 +427,9 @@ static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
0, &oldDef)))
|
||||||
0,
|
|
||||||
&oldDef)))
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
vm->persistent = 1;
|
vm->persistent = 1;
|
||||||
@ -1069,7 +1067,7 @@ lxcDomainCreateAndStart(virConnectPtr conn,
|
|||||||
virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, NULL);
|
virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, NULL);
|
||||||
|
|
||||||
lxcDriverLock(driver);
|
lxcDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_LXC,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1084,9 +1082,8 @@ lxcDomainCreateAndStart(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1493,11 +1490,11 @@ static int lxcStartup(bool privileged,
|
|||||||
|
|
||||||
/* Get all the running persistent or transient configs first */
|
/* Get all the running persistent or transient configs first */
|
||||||
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
||||||
|
lxc_driver->stateDir,
|
||||||
|
NULL, 1,
|
||||||
lxc_driver->caps,
|
lxc_driver->caps,
|
||||||
lxc_driver->xmlopt,
|
lxc_driver->xmlopt,
|
||||||
lxc_driver->stateDir,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
NULL,
|
|
||||||
1, 1 << VIR_DOMAIN_VIRT_LXC,
|
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -1505,11 +1502,11 @@ static int lxcStartup(bool privileged,
|
|||||||
|
|
||||||
/* Then inactive persistent configs */
|
/* Then inactive persistent configs */
|
||||||
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
||||||
|
lxc_driver->configDir,
|
||||||
|
lxc_driver->autostartDir, 0,
|
||||||
lxc_driver->caps,
|
lxc_driver->caps,
|
||||||
lxc_driver->xmlopt,
|
lxc_driver->xmlopt,
|
||||||
lxc_driver->configDir,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
lxc_driver->autostartDir,
|
|
||||||
0, 1 << VIR_DOMAIN_VIRT_LXC,
|
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -1553,11 +1550,11 @@ lxcReload(void) {
|
|||||||
|
|
||||||
lxcDriverLock(lxc_driver);
|
lxcDriverLock(lxc_driver);
|
||||||
virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
||||||
|
lxc_driver->configDir,
|
||||||
|
lxc_driver->autostartDir, 0,
|
||||||
lxc_driver->caps,
|
lxc_driver->caps,
|
||||||
lxc_driver->xmlopt,
|
lxc_driver->xmlopt,
|
||||||
lxc_driver->configDir,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
lxc_driver->autostartDir,
|
|
||||||
0, 1 << VIR_DOMAIN_VIRT_LXC,
|
|
||||||
lxcNotifyLoadDomain, lxc_driver);
|
lxcNotifyLoadDomain, lxc_driver);
|
||||||
lxcDriverUnlock(lxc_driver);
|
lxcDriverUnlock(lxc_driver);
|
||||||
|
|
||||||
@ -1809,7 +1806,7 @@ lxcSetSchedulerParametersFlags(virDomainPtr dom,
|
|||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
||||||
/* Make a copy for updated domain. */
|
/* Make a copy for updated domain. */
|
||||||
vmdef = virDomainObjCopyPersistentDef(driver->caps, driver->xmlopt, vm);
|
vmdef = virDomainObjCopyPersistentDef(vm, driver->caps, driver->xmlopt);
|
||||||
if (!vmdef)
|
if (!vmdef)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -4353,8 +4350,8 @@ lxcDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = dev_copy = virDomainDeviceDefParse(driver->caps, driver->xmlopt,
|
dev = dev_copy = virDomainDeviceDefParse(xml, vm->def,
|
||||||
vm->def, xml,
|
driver->caps, driver->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -4365,8 +4362,8 @@ lxcDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
* create a deep copy of device as adding
|
* create a deep copy of device as adding
|
||||||
* to CONFIG takes one instance.
|
* to CONFIG takes one instance.
|
||||||
*/
|
*/
|
||||||
dev_copy = virDomainDeviceDefCopy(driver->caps, driver->xmlopt,
|
dev_copy = virDomainDeviceDefCopy(dev, vm->def,
|
||||||
vm->def, dev);
|
driver->caps, driver->xmlopt);
|
||||||
if (!dev_copy)
|
if (!dev_copy)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -4376,7 +4373,7 @@ lxcDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
/* Make a copy for updated domain. */
|
/* Make a copy for updated domain. */
|
||||||
vmdef = virDomainObjCopyPersistentDef(driver->caps, driver->xmlopt, vm);
|
vmdef = virDomainObjCopyPersistentDef(vm, driver->caps, driver->xmlopt);
|
||||||
if (!vmdef)
|
if (!vmdef)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
|
@ -650,8 +650,8 @@ int openvzLoadDomains(struct openvz_driver *driver) {
|
|||||||
flags |= VIR_DOMAIN_OBJ_LIST_ADD_LIVE;
|
flags |= VIR_DOMAIN_OBJ_LIST_ADD_LIVE;
|
||||||
|
|
||||||
if (!(dom = virDomainObjListAdd(driver->domains,
|
if (!(dom = virDomainObjListAdd(driver->domains,
|
||||||
driver->xmlopt,
|
|
||||||
def,
|
def,
|
||||||
|
driver->xmlopt,
|
||||||
flags,
|
flags,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -955,8 +955,8 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
|
|
||||||
openvzDriverLock(driver);
|
openvzDriverLock(driver);
|
||||||
if ((vmdef = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if ((vmdef = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_OPENVZ,
|
1 << VIR_DOMAIN_VIRT_OPENVZ,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -967,9 +967,9 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
vmdef->name);
|
vmdef->name);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, vmdef,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
vmdef, 0, NULL)))
|
0, NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
vmdef = NULL;
|
vmdef = NULL;
|
||||||
vm->persistent = 1;
|
vm->persistent = 1;
|
||||||
@ -1042,8 +1042,8 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
|
|
||||||
openvzDriverLock(driver);
|
openvzDriverLock(driver);
|
||||||
if ((vmdef = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if ((vmdef = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_OPENVZ,
|
1 << VIR_DOMAIN_VIRT_OPENVZ,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -1055,8 +1055,8 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains,
|
||||||
driver->xmlopt,
|
|
||||||
vmdef,
|
vmdef,
|
||||||
|
driver->xmlopt,
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2085,8 +2085,8 @@ openvzDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
&vmdef) < 0)
|
&vmdef) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(driver->caps, driver->xmlopt,
|
dev = virDomainDeviceDefParse(xml, vmdef, driver->caps, driver->xmlopt,
|
||||||
vmdef, xml, VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (!dev)
|
if (!dev)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -830,9 +830,9 @@ parallelsLoadDomain(parallelsConnPtr privconn, virJSONValuePtr jobj)
|
|||||||
if (parallelsAddVNCInfo(def, jobj) < 0)
|
if (parallelsAddVNCInfo(def, jobj) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dom = virDomainObjListAdd(privconn->domains,
|
if (!(dom = virDomainObjListAdd(privconn->domains, def,
|
||||||
privconn->xmlopt,
|
privconn->xmlopt,
|
||||||
def, 0, NULL)))
|
0, NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
/* dom is locked here */
|
/* dom is locked here */
|
||||||
|
|
||||||
@ -2330,8 +2330,8 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
virDomainObjPtr dom = NULL, olddom = NULL;
|
virDomainObjPtr dom = NULL, olddom = NULL;
|
||||||
|
|
||||||
parallelsDriverLock(privconn);
|
parallelsDriverLock(privconn);
|
||||||
if ((def = virDomainDefParseString(privconn->caps, privconn->xmlopt,
|
if ((def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_PARALLELS,
|
1 << VIR_DOMAIN_VIRT_PARALLELS,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL) {
|
VIR_DOMAIN_XML_INACTIVE)) == NULL) {
|
||||||
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Can't parse XML desc"));
|
_("Can't parse XML desc"));
|
||||||
@ -2369,9 +2369,9 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
}
|
}
|
||||||
virObjectUnlock(olddom);
|
virObjectUnlock(olddom);
|
||||||
|
|
||||||
if (!(dom = virDomainObjListAdd(privconn->domains,
|
if (!(dom = virDomainObjListAdd(privconn->domains, def,
|
||||||
privconn->xmlopt,
|
privconn->xmlopt,
|
||||||
def, 0, NULL))) {
|
0, NULL))) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Can't allocate domobj"));
|
_("Can't allocate domobj"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -1754,8 +1754,8 @@ phypAttachDevice(virDomainPtr domain, const char *xml)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(phyp_driver->caps, NULL,
|
dev = virDomainDeviceDefParse(xml, def, phyp_driver->caps, NULL,
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (!dev) {
|
if (!dev) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -3637,8 +3637,9 @@ phypDomainCreateAndStart(virConnectPtr conn,
|
|||||||
|
|
||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(phyp_driver->caps, phyp_driver->xmlopt,
|
if (!(def = virDomainDefParseString(xml, phyp_driver->caps,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_PHYP,
|
phyp_driver->xmlopt,
|
||||||
|
1 << VIR_DOMAIN_VIRT_PHYP,
|
||||||
VIR_DOMAIN_XML_SECURE)))
|
VIR_DOMAIN_XML_SECURE)))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
@ -766,11 +766,11 @@ qemuStartup(bool privileged,
|
|||||||
|
|
||||||
/* Get all the running persistent or transient configs first */
|
/* Get all the running persistent or transient configs first */
|
||||||
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
||||||
|
cfg->stateDir,
|
||||||
|
NULL, 1,
|
||||||
qemu_driver->caps,
|
qemu_driver->caps,
|
||||||
qemu_driver->xmlopt,
|
qemu_driver->xmlopt,
|
||||||
cfg->stateDir,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
NULL,
|
|
||||||
1, QEMU_EXPECTED_VIRT_TYPES,
|
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -791,11 +791,11 @@ qemuStartup(bool privileged,
|
|||||||
|
|
||||||
/* Then inactive persistent configs */
|
/* Then inactive persistent configs */
|
||||||
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
||||||
|
cfg->configDir,
|
||||||
|
cfg->autostartDir, 0,
|
||||||
qemu_driver->caps,
|
qemu_driver->caps,
|
||||||
qemu_driver->xmlopt,
|
qemu_driver->xmlopt,
|
||||||
cfg->configDir,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
cfg->autostartDir,
|
|
||||||
0, QEMU_EXPECTED_VIRT_TYPES,
|
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -865,11 +865,10 @@ qemuReload(void) {
|
|||||||
|
|
||||||
cfg = virQEMUDriverGetConfig(qemu_driver);
|
cfg = virQEMUDriverGetConfig(qemu_driver);
|
||||||
virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
||||||
caps,
|
|
||||||
qemu_driver->xmlopt,
|
|
||||||
cfg->configDir,
|
cfg->configDir,
|
||||||
cfg->autostartDir,
|
cfg->autostartDir, 0,
|
||||||
0, QEMU_EXPECTED_VIRT_TYPES,
|
caps, qemu_driver->xmlopt,
|
||||||
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
qemuNotifyLoadDomain, qemu_driver);
|
qemuNotifyLoadDomain, qemu_driver);
|
||||||
cleanup:
|
cleanup:
|
||||||
virObjectUnref(cfg);
|
virObjectUnref(cfg);
|
||||||
@ -1486,7 +1485,7 @@ static virDomainPtr qemuDomainCreate(virConnectPtr conn, const char *xml,
|
|||||||
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, driver->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1503,9 +1502,8 @@ static virDomainPtr qemuDomainCreate(virConnectPtr conn, const char *xml,
|
|||||||
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2855,7 +2853,7 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, virDomainPtr dom,
|
|||||||
if (xmlin) {
|
if (xmlin) {
|
||||||
virDomainDefPtr def = NULL;
|
virDomainDefPtr def = NULL;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, driver->xmlopt, xmlin,
|
if (!(def = virDomainDefParseString(xmlin, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
goto endjob;
|
goto endjob;
|
||||||
@ -4767,14 +4765,14 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
|
|||||||
header.was_running = state;
|
header.was_running = state;
|
||||||
|
|
||||||
/* Create a domain from this XML */
|
/* Create a domain from this XML */
|
||||||
if (!(def = virDomainDefParseString(caps, driver->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
if (xmlin) {
|
if (xmlin) {
|
||||||
virDomainDefPtr def2 = NULL;
|
virDomainDefPtr def2 = NULL;
|
||||||
|
|
||||||
if (!(def2 = virDomainDefParseString(caps, driver->xmlopt, xmlin,
|
if (!(def2 = virDomainDefParseString(xmlin, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
@ -4947,9 +4945,8 @@ qemuDomainRestoreFlags(virConnectPtr conn,
|
|||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
@ -5277,7 +5274,7 @@ static char *qemuDomainXMLToNative(virConnectPtr conn,
|
|||||||
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
def = virDomainDefParseString(caps, driver->xmlopt, xmlData,
|
def = virDomainDefParseString(xmlData, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES, 0);
|
QEMU_EXPECTED_VIRT_TYPES, 0);
|
||||||
if (!def)
|
if (!def)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -5548,7 +5545,7 @@ static virDomainPtr qemuDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, driver->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -5565,11 +5562,9 @@ static virDomainPtr qemuDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
0, &oldDef)))
|
||||||
0,
|
|
||||||
&oldDef)))
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
def = NULL;
|
def = NULL;
|
||||||
@ -5786,8 +5781,8 @@ qemuDomainAttachDeviceDiskLive(virConnectPtr conn,
|
|||||||
tmp = dev->data.disk;
|
tmp = dev->data.disk;
|
||||||
dev->data.disk = orig_disk;
|
dev->data.disk = orig_disk;
|
||||||
|
|
||||||
if (!(dev_copy = virDomainDeviceDefCopy(caps, driver->xmlopt,
|
if (!(dev_copy = virDomainDeviceDefCopy(dev, vm->def,
|
||||||
vm->def, dev))) {
|
caps, driver->xmlopt))) {
|
||||||
dev->data.disk = tmp;
|
dev->data.disk = tmp;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
@ -6063,8 +6058,8 @@ qemuDomainChangeDiskMediaLive(virDomainObjPtr vm,
|
|||||||
tmp = dev->data.disk;
|
tmp = dev->data.disk;
|
||||||
dev->data.disk = orig_disk;
|
dev->data.disk = orig_disk;
|
||||||
|
|
||||||
if (!(dev_copy = virDomainDeviceDefCopy(caps, driver->xmlopt,
|
if (!(dev_copy = virDomainDeviceDefCopy(dev, vm->def,
|
||||||
vm->def, dev))) {
|
caps, driver->xmlopt))) {
|
||||||
dev->data.disk = tmp;
|
dev->data.disk = tmp;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
@ -6470,8 +6465,8 @@ qemuDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = dev_copy = virDomainDeviceDefParse(caps, driver->xmlopt,
|
dev = dev_copy = virDomainDeviceDefParse(xml, vm->def,
|
||||||
vm->def, xml,
|
caps, driver->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
@ -6482,7 +6477,7 @@ qemuDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
* create a deep copy of device as adding
|
* create a deep copy of device as adding
|
||||||
* to CONFIG takes one instance.
|
* to CONFIG takes one instance.
|
||||||
*/
|
*/
|
||||||
dev_copy = virDomainDeviceDefCopy(caps, driver->xmlopt, vm->def, dev);
|
dev_copy = virDomainDeviceDefCopy(dev, vm->def, caps, driver->xmlopt);
|
||||||
if (!dev_copy)
|
if (!dev_copy)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
@ -6497,7 +6492,7 @@ qemuDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
/* Make a copy for updated domain. */
|
/* Make a copy for updated domain. */
|
||||||
vmdef = virDomainObjCopyPersistentDef(caps, driver->xmlopt, vm);
|
vmdef = virDomainObjCopyPersistentDef(vm, caps, driver->xmlopt);
|
||||||
if (!vmdef)
|
if (!vmdef)
|
||||||
goto endjob;
|
goto endjob;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
@ -7944,7 +7939,7 @@ qemuSetSchedulerParametersFlags(virDomainPtr dom,
|
|||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
||||||
/* Make a copy for updated domain. */
|
/* Make a copy for updated domain. */
|
||||||
vmdef = virDomainObjCopyPersistentDef(caps, driver->xmlopt, vm);
|
vmdef = virDomainObjCopyPersistentDef(vm, caps, driver->xmlopt);
|
||||||
if (!vmdef)
|
if (!vmdef)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -11763,7 +11758,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain,
|
|||||||
/* Easiest way to clone inactive portion of vm->def is via
|
/* Easiest way to clone inactive portion of vm->def is via
|
||||||
* conversion in and back out of xml. */
|
* conversion in and back out of xml. */
|
||||||
if (!(xml = qemuDomainDefFormatLive(driver, vm->def, true, true)) ||
|
if (!(xml = qemuDomainDefFormatLive(driver, vm->def, true, true)) ||
|
||||||
!(def->dom = virDomainDefParseString(caps, driver->xmlopt, xml,
|
!(def->dom = virDomainDefParseString(xml, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -12334,7 +12329,7 @@ static int qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
|
|||||||
* than inactive xml? */
|
* than inactive xml? */
|
||||||
snap->def->current = true;
|
snap->def->current = true;
|
||||||
if (snap->def->dom) {
|
if (snap->def->dom) {
|
||||||
config = virDomainDefCopy(caps, driver->xmlopt, snap->def->dom, true);
|
config = virDomainDefCopy(snap->def->dom, caps, driver->xmlopt, true);
|
||||||
if (!config)
|
if (!config)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -12827,9 +12822,8 @@ static virDomainPtr qemuDomainAttach(virConnectPtr conn,
|
|||||||
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
|
@ -921,8 +921,8 @@ qemuMigrationCookieXMLParse(qemuMigrationCookiePtr mig,
|
|||||||
n);
|
n);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
mig->persistent = virDomainDefParseNode(caps, driver->xmlopt,
|
mig->persistent = virDomainDefParseNode(doc, nodes[0],
|
||||||
doc, nodes[0],
|
caps, driver->xmlopt,
|
||||||
-1, VIR_DOMAIN_XML_INACTIVE);
|
-1, VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (!mig->persistent) {
|
if (!mig->persistent) {
|
||||||
/* virDomainDefParseNode already reported
|
/* virDomainDefParseNode already reported
|
||||||
@ -1926,7 +1926,7 @@ char *qemuMigrationBegin(virQEMUDriverPtr driver,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (xmlin) {
|
if (xmlin) {
|
||||||
if (!(def = virDomainDefParseString(caps, driver->xmlopt, xmlin,
|
if (!(def = virDomainDefParseString(xmlin, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2030,7 +2030,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
|
|||||||
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, driver->xmlopt, dom_xml,
|
if (!(def = virDomainDefParseString(dom_xml, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2071,7 +2071,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
|
|||||||
virDomainDefPtr newdef;
|
virDomainDefPtr newdef;
|
||||||
|
|
||||||
VIR_DEBUG("Using hook-filtered domain XML: %s", xmlout);
|
VIR_DEBUG("Using hook-filtered domain XML: %s", xmlout);
|
||||||
newdef = virDomainDefParseString(caps, driver->xmlopt, xmlout,
|
newdef = virDomainDefParseString(xmlout, caps, driver->xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (!newdef)
|
if (!newdef)
|
||||||
@ -2127,9 +2127,8 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
|
@ -729,9 +729,9 @@ get_definition(vahControl * ctl, const char *xmlStr)
|
|||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctl->def = virDomainDefParseString(ctl->caps, ctl->xmlopt,
|
ctl->def = virDomainDefParseString(xmlStr,
|
||||||
xmlStr, -1,
|
ctl->caps, ctl->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
-1, VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (ctl->def == NULL) {
|
if (ctl->def == NULL) {
|
||||||
vah_error(ctl, 0, _("could not parse XML"));
|
vah_error(ctl, 0, _("could not parse XML"));
|
||||||
goto exit;
|
goto exit;
|
||||||
|
@ -590,9 +590,9 @@ static int testOpenDefault(virConnectPtr conn) {
|
|||||||
|
|
||||||
privconn->nextDomID = 1;
|
privconn->nextDomID = 1;
|
||||||
|
|
||||||
if (!(domdef = virDomainDefParseString(privconn->caps,
|
if (!(domdef = virDomainDefParseString(defaultDomainXML,
|
||||||
|
privconn->caps,
|
||||||
privconn->xmlopt,
|
privconn->xmlopt,
|
||||||
defaultDomainXML,
|
|
||||||
1 << VIR_DOMAIN_VIRT_TEST,
|
1 << VIR_DOMAIN_VIRT_TEST,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto error;
|
goto error;
|
||||||
@ -600,8 +600,9 @@ static int testOpenDefault(virConnectPtr conn) {
|
|||||||
if (testDomainGenerateIfnames(domdef) < 0)
|
if (testDomainGenerateIfnames(domdef) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
if (!(domobj = virDomainObjListAdd(privconn->domains,
|
if (!(domobj = virDomainObjListAdd(privconn->domains,
|
||||||
|
domdef,
|
||||||
privconn->xmlopt,
|
privconn->xmlopt,
|
||||||
domdef, 0, NULL)))
|
0, NULL)))
|
||||||
goto error;
|
goto error;
|
||||||
domdef = NULL;
|
domdef = NULL;
|
||||||
|
|
||||||
@ -933,16 +934,16 @@ static int testOpenFromFile(virConnectPtr conn,
|
|||||||
_("resolving domain filename"));
|
_("resolving domain filename"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
def = virDomainDefParseFile(privconn->caps,
|
def = virDomainDefParseFile(absFile, privconn->caps,
|
||||||
privconn->xmlopt, absFile,
|
privconn->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_TEST,
|
1 << VIR_DOMAIN_VIRT_TEST,
|
||||||
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(privconn->caps, privconn->xmlopt,
|
if ((def = virDomainDefParseNode(xml, domains[i],
|
||||||
xml, domains[i],
|
privconn->caps, privconn->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_TEST,
|
1 << VIR_DOMAIN_VIRT_TEST,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
@ -950,8 +951,9 @@ static int testOpenFromFile(virConnectPtr conn,
|
|||||||
|
|
||||||
if (testDomainGenerateIfnames(def) < 0 ||
|
if (testDomainGenerateIfnames(def) < 0 ||
|
||||||
!(dom = virDomainObjListAdd(privconn->domains,
|
!(dom = virDomainObjListAdd(privconn->domains,
|
||||||
|
def,
|
||||||
privconn->xmlopt,
|
privconn->xmlopt,
|
||||||
def, 0, NULL))) {
|
0, NULL))) {
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1344,16 +1346,16 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
if ((def = virDomainDefParseString(privconn->caps, privconn->xmlopt,
|
if ((def = virDomainDefParseString(xml,privconn->caps, privconn->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_TEST,
|
1 << VIR_DOMAIN_VIRT_TEST,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (testDomainGenerateIfnames(def) < 0)
|
if (testDomainGenerateIfnames(def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (!(dom = virDomainObjListAdd(privconn->domains,
|
if (!(dom = virDomainObjListAdd(privconn->domains,
|
||||||
privconn->xmlopt,
|
|
||||||
def,
|
def,
|
||||||
|
privconn->xmlopt,
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1959,8 +1961,8 @@ testDomainRestoreFlags(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
xml[len] = '\0';
|
xml[len] = '\0';
|
||||||
|
|
||||||
def = virDomainDefParseString(privconn->caps, privconn->xmlopt,
|
def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_TEST,
|
1 << VIR_DOMAIN_VIRT_TEST,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (!def)
|
if (!def)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1968,8 +1970,8 @@ testDomainRestoreFlags(virConnectPtr conn,
|
|||||||
if (testDomainGenerateIfnames(def) < 0)
|
if (testDomainGenerateIfnames(def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (!(dom = virDomainObjListAdd(privconn->domains,
|
if (!(dom = virDomainObjListAdd(privconn->domains,
|
||||||
privconn->xmlopt,
|
|
||||||
def,
|
def,
|
||||||
|
privconn->xmlopt,
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
VIR_DOMAIN_OBJ_LIST_ADD_LIVE |
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
@ -2510,16 +2512,16 @@ static virDomainPtr testDomainDefineXML(virConnectPtr conn,
|
|||||||
virDomainDefPtr oldDef = NULL;
|
virDomainDefPtr oldDef = NULL;
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
if ((def = virDomainDefParseString(privconn->caps, privconn->xmlopt,
|
if ((def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_TEST,
|
1 << VIR_DOMAIN_VIRT_TEST,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (testDomainGenerateIfnames(def) < 0)
|
if (testDomainGenerateIfnames(def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (!(dom = virDomainObjListAdd(privconn->domains,
|
if (!(dom = virDomainObjListAdd(privconn->domains,
|
||||||
privconn->xmlopt,
|
|
||||||
def,
|
def,
|
||||||
|
privconn->xmlopt,
|
||||||
0,
|
0,
|
||||||
&oldDef)))
|
&oldDef)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -541,11 +541,11 @@ umlStartup(bool privileged,
|
|||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if (virDomainObjListLoadAllConfigs(uml_driver->domains,
|
if (virDomainObjListLoadAllConfigs(uml_driver->domains,
|
||||||
|
uml_driver->configDir,
|
||||||
|
uml_driver->autostartDir, 0,
|
||||||
uml_driver->caps,
|
uml_driver->caps,
|
||||||
uml_driver->xmlopt,
|
uml_driver->xmlopt,
|
||||||
uml_driver->configDir,
|
1 << VIR_DOMAIN_VIRT_UML,
|
||||||
uml_driver->autostartDir,
|
|
||||||
0, 1 << VIR_DOMAIN_VIRT_UML,
|
|
||||||
NULL, NULL) < 0)
|
NULL, NULL) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -597,11 +597,11 @@ umlReload(void) {
|
|||||||
|
|
||||||
umlDriverLock(uml_driver);
|
umlDriverLock(uml_driver);
|
||||||
virDomainObjListLoadAllConfigs(uml_driver->domains,
|
virDomainObjListLoadAllConfigs(uml_driver->domains,
|
||||||
|
uml_driver->configDir,
|
||||||
|
uml_driver->autostartDir, 0,
|
||||||
uml_driver->caps,
|
uml_driver->caps,
|
||||||
uml_driver->xmlopt,
|
uml_driver->xmlopt,
|
||||||
uml_driver->configDir,
|
1 << VIR_DOMAIN_VIRT_UML,
|
||||||
uml_driver->autostartDir,
|
|
||||||
0, 1 << VIR_DOMAIN_VIRT_UML,
|
|
||||||
umlNotifyLoadDomain, uml_driver);
|
umlNotifyLoadDomain, uml_driver);
|
||||||
umlDriverUnlock(uml_driver);
|
umlDriverUnlock(uml_driver);
|
||||||
|
|
||||||
@ -1504,14 +1504,13 @@ static virDomainPtr umlDomainCreate(virConnectPtr conn, const char *xml,
|
|||||||
virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, NULL);
|
virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, NULL);
|
||||||
|
|
||||||
umlDriverLock(driver);
|
umlDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_UML,
|
1 << VIR_DOMAIN_VIRT_UML,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -1925,14 +1924,13 @@ static virDomainPtr umlDomainDefine(virConnectPtr conn, const char *xml) {
|
|||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
|
|
||||||
umlDriverLock(driver);
|
umlDriverLock(driver);
|
||||||
if (!(def = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_UML,
|
1 << VIR_DOMAIN_VIRT_UML,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, def,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
def,
|
|
||||||
0, NULL)))
|
0, NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
@ -2080,7 +2078,7 @@ static int umlDomainAttachDevice(virDomainPtr dom, const char *xml)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(driver->caps, driver->xmlopt, vm->def, xml,
|
dev = virDomainDeviceDefParse(xml, vm->def, driver->caps, driver->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
|
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
@ -2198,7 +2196,7 @@ static int umlDomainDetachDevice(virDomainPtr dom, const char *xml) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(driver->caps, driver->xmlopt, vm->def, xml,
|
dev = virDomainDeviceDefParse(xml, vm->def, driver->caps, driver->xmlopt,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -5052,8 +5052,8 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
|
|||||||
#endif
|
#endif
|
||||||
nsresult rc;
|
nsresult rc;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(data->caps, data->xmlopt,
|
if (!(def = virDomainDefParseString(xml, data->caps, data->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_VBOX,
|
1 << VIR_DOMAIN_VIRT_VBOX,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -5396,8 +5396,8 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(data->caps, data->xmlopt,
|
dev = virDomainDeviceDefParse(xml, def, data->caps, data->xmlopt,
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -5631,8 +5631,8 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = virDomainDeviceDefParse(data->caps, data->xmlopt,
|
dev = virDomainDeviceDefParse(xml, def, data->caps, data->xmlopt,
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -178,9 +178,9 @@ vmwareLoadDomains(struct vmware_driver *driver)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains, vmdef,
|
||||||
driver->xmlopt,
|
driver->xmlopt,
|
||||||
vmdef, 0, NULL)))
|
0, NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
pDomain = vm->privateData;
|
pDomain = vm->privateData;
|
||||||
|
@ -324,8 +324,8 @@ vmwareDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
ctx.formatFileName = vmwareCopyVMXFileName;
|
ctx.formatFileName = vmwareCopyVMXFileName;
|
||||||
|
|
||||||
vmwareDriverLock(driver);
|
vmwareDriverLock(driver);
|
||||||
if ((vmdef = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if ((vmdef = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_VMWARE,
|
1 << VIR_DOMAIN_VIRT_VMWARE,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -346,8 +346,8 @@ vmwareDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
|
|
||||||
/* assign def */
|
/* assign def */
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains,
|
||||||
driver->xmlopt,
|
|
||||||
vmdef,
|
vmdef,
|
||||||
|
driver->xmlopt,
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -595,8 +595,8 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
|
|
||||||
vmwareDriverLock(driver);
|
vmwareDriverLock(driver);
|
||||||
|
|
||||||
if ((vmdef = virDomainDefParseString(driver->caps, driver->xmlopt,
|
if ((vmdef = virDomainDefParseString(xml, driver->caps, driver->xmlopt,
|
||||||
xml, 1 << VIR_DOMAIN_VIRT_VMWARE,
|
1 << VIR_DOMAIN_VIRT_VMWARE,
|
||||||
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
VIR_DOMAIN_XML_INACTIVE)) == NULL)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -617,8 +617,8 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
|
|
||||||
/* assign def */
|
/* assign def */
|
||||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
if (!(vm = virDomainObjListAdd(driver->domains,
|
||||||
driver->xmlopt,
|
|
||||||
vmdef,
|
vmdef,
|
||||||
|
driver->xmlopt,
|
||||||
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
|
||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -1434,8 +1434,8 @@ xenUnifiedDomainXMLToNative(virConnectPtr conn,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(priv->caps, priv->xmlopt,
|
if (!(def = virDomainDefParseString(xmlData, priv->caps, priv->xmlopt,
|
||||||
xmlData, 1 << VIR_DOMAIN_VIRT_XEN, 0)))
|
1 << VIR_DOMAIN_VIRT_XEN, 0)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (STREQ(format, XEN_CONFIG_FORMAT_XM)) {
|
if (STREQ(format, XEN_CONFIG_FORMAT_XM)) {
|
||||||
|
@ -2409,8 +2409,8 @@ xenDaemonCreateXML(virConnectPtr conn, const char *xmlDesc, unsigned int flags)
|
|||||||
|
|
||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(priv->caps, priv->xmlopt,
|
if (!(def = virDomainDefParseString(xmlDesc, priv->caps, priv->xmlopt,
|
||||||
xmlDesc, 1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -2519,8 +2519,8 @@ xenDaemonAttachDeviceFlags(virDomainPtr domain,
|
|||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(priv->caps, priv->xmlopt,
|
if (!(dev = virDomainDeviceDefParse(xml, def, priv->caps, priv->xmlopt,
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
|
||||||
@ -2679,8 +2679,8 @@ xenDaemonUpdateDeviceFlags(virDomainPtr domain,
|
|||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(priv->caps, priv->xmlopt,
|
if (!(dev = virDomainDeviceDefParse(xml, def, priv->caps, priv->xmlopt,
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
|
||||||
@ -2786,8 +2786,8 @@ xenDaemonDetachDeviceFlags(virDomainPtr domain,
|
|||||||
NULL)))
|
NULL)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(priv->caps, priv->xmlopt,
|
if (!(dev = virDomainDeviceDefParse(xml, def, priv->caps, priv->xmlopt,
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainXMLDevID(domain, dev, class, ref, sizeof(ref)))
|
if (virDomainXMLDevID(domain, dev, class, ref, sizeof(ref)))
|
||||||
@ -3127,8 +3127,8 @@ xenDaemonDomainDefineXML(virConnectPtr conn, const char *xmlDesc)
|
|||||||
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
|
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(priv->caps, priv->xmlopt,
|
if (!(def = virDomainDefParseString(xmlDesc, priv->caps, priv->xmlopt,
|
||||||
xmlDesc, 1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR,
|
||||||
"%s", _("failed to parse domain description"));
|
"%s", _("failed to parse domain description"));
|
||||||
|
@ -1013,7 +1013,7 @@ xenXMDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(priv->caps, priv->xmlopt, xml,
|
if (!(def = virDomainDefParseString(xml, priv->caps, priv->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
xenUnifiedUnlock(priv);
|
xenUnifiedUnlock(priv);
|
||||||
@ -1310,10 +1310,10 @@ xenXMDomainAttachDeviceFlags(virDomainPtr domain,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = entry->def;
|
def = entry->def;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(priv->caps,
|
if (!(dev = virDomainDeviceDefParse(xml, entry->def,
|
||||||
|
priv->caps,
|
||||||
priv->xmlopt,
|
priv->xmlopt,
|
||||||
entry->def,
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
xml, VIR_DOMAIN_XML_INACTIVE)))
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
switch (dev->type) {
|
switch (dev->type) {
|
||||||
@ -1404,10 +1404,10 @@ xenXMDomainDetachDeviceFlags(virDomainPtr domain,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = entry->def;
|
def = entry->def;
|
||||||
|
|
||||||
if (!(dev = virDomainDeviceDefParse(priv->caps,
|
if (!(dev = virDomainDeviceDefParse(xml, entry->def,
|
||||||
|
priv->caps,
|
||||||
priv->xmlopt,
|
priv->xmlopt,
|
||||||
entry->def,
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
xml, VIR_DOMAIN_XML_INACTIVE)))
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
switch (dev->type) {
|
switch (dev->type) {
|
||||||
|
@ -533,8 +533,8 @@ xenapiDomainCreateXML(virConnectPtr conn,
|
|||||||
|
|
||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
|
|
||||||
virDomainDefPtr defPtr = virDomainDefParseString(priv->caps, priv->xmlopt,
|
virDomainDefPtr defPtr = virDomainDefParseString(xmlDesc,
|
||||||
xmlDesc,
|
priv->caps, priv->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
flags);
|
flags);
|
||||||
createVMRecordFromXml(conn, defPtr, &record, &vm);
|
createVMRecordFromXml(conn, defPtr, &record, &vm);
|
||||||
@ -1687,8 +1687,8 @@ xenapiDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
virDomainPtr domP=NULL;
|
virDomainPtr domP=NULL;
|
||||||
if (!priv->caps)
|
if (!priv->caps)
|
||||||
return NULL;
|
return NULL;
|
||||||
virDomainDefPtr defPtr = virDomainDefParseString(priv->caps, priv->xmlopt,
|
virDomainDefPtr defPtr = virDomainDefParseString(xml,
|
||||||
xml,
|
priv->caps, priv->xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
0);
|
0);
|
||||||
if (!defPtr)
|
if (!defPtr)
|
||||||
|
@ -32,7 +32,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml, bool live)
|
|||||||
if (virtTestLoadFile(outxml, &outXmlData) < 0)
|
if (virtTestLoadFile(outxml, &outXmlData) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, xmlopt, inXmlData,
|
if (!(def = virDomainDefParseString(inXmlData, caps, xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_LXC,
|
1 << VIR_DOMAIN_VIRT_LXC,
|
||||||
live ? 0 : VIR_DOMAIN_XML_INACTIVE)))
|
live ? 0 : VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -100,7 +100,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
|
|||||||
goto out;
|
goto out;
|
||||||
conn->secretDriver = &fakeSecretDriver;
|
conn->secretDriver = &fakeSecretDriver;
|
||||||
|
|
||||||
if (!(vmdef = virDomainDefParseFile(driver.caps, driver.xmlopt, xml,
|
if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE))) {
|
VIR_DOMAIN_XML_INACTIVE))) {
|
||||||
if (flags & FLAG_EXPECT_PARSE_ERROR)
|
if (flags & FLAG_EXPECT_PARSE_ERROR)
|
||||||
|
@ -32,7 +32,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml, bool live)
|
|||||||
if (virtTestLoadFile(outxml, &outXmlData) < 0)
|
if (virtTestLoadFile(outxml, &outXmlData) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(driver.caps, driver.xmlopt, inXmlData,
|
if (!(def = virDomainDefParseString(inXmlData, driver.caps, driver.xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
live ? 0 : VIR_DOMAIN_XML_INACTIVE)))
|
live ? 0 : VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -51,7 +51,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
|
|||||||
if (len && expectargv[len - 1] == '\n')
|
if (len && expectargv[len - 1] == '\n')
|
||||||
expectargv[len - 1] = '\0';
|
expectargv[len - 1] = '\0';
|
||||||
|
|
||||||
if (!(vmdef = virDomainDefParseFile(driver.caps, driver.xmlopt, xml,
|
if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -166,7 +166,7 @@ testSELinuxLoadDef(const char *testname)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, xmlopt, xmlstr,
|
if (!(def = virDomainDefParseString(xmlstr, caps, xmlopt,
|
||||||
QEMU_EXPECTED_VIRT_TYPES,
|
QEMU_EXPECTED_VIRT_TYPES,
|
||||||
0)))
|
0)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -69,7 +69,7 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
|
|||||||
priv.caps = caps;
|
priv.caps = caps;
|
||||||
conn->privateData = &priv;
|
conn->privateData = &priv;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, xmlopt, xmlData,
|
if (!(def = virDomainDefParseString(xmlData, caps, xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -32,7 +32,7 @@ testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
|
|||||||
if (virtTestLoadFile(sexpr, &sexprData) < 0)
|
if (virtTestLoadFile(sexpr, &sexprData) < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (!(def = virDomainDefParseString(caps, xmlopt, xmlData,
|
if (!(def = virDomainDefParseString(xmlData, caps, xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_XEN,
|
1 << VIR_DOMAIN_VIRT_XEN,
|
||||||
VIR_DOMAIN_XML_INACTIVE)))
|
VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -94,7 +94,7 @@ testCompareFiles(const char *xml, const char *vmx, int virtualHW_version)
|
|||||||
goto failure;
|
goto failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
def = virDomainDefParseString(caps, xmlopt, xmlData,
|
def = virDomainDefParseString(xmlData, caps, xmlopt,
|
||||||
1 << VIR_DOMAIN_VIRT_VMWARE,
|
1 << VIR_DOMAIN_VIRT_VMWARE,
|
||||||
VIR_DOMAIN_XML_INACTIVE);
|
VIR_DOMAIN_XML_INACTIVE);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user