mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-29 17:33:09 +00:00
* src/xml.c: patch from Saori Fukuta to avoid (type ioemu)
on Xen-3.1 and HVM guests devices to avoid breaking paravirt drivers there Daniel
This commit is contained in:
parent
7eed474dd3
commit
41402668f9
@ -1,3 +1,9 @@
|
|||||||
|
Wed Jun 6 16:37:36 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
|
* src/xml.c: patch from Saori Fukuta to avoid (type ioemu)
|
||||||
|
on Xen-3.1 and HVM guests devices to avoid breaking paravirt
|
||||||
|
drivers there
|
||||||
|
|
||||||
Wed Jun 6 14:22:36 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
Wed Jun 6 14:22:36 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* src/virsh.c: added a logging option to a file based on
|
* src/virsh.c: added a logging option to a file based on
|
||||||
|
14
src/xml.c
14
src/xml.c
@ -1047,6 +1047,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node, virBufferPtr buf,
|
|||||||
* @conn: pointer to the hypervisor connection
|
* @conn: pointer to the hypervisor connection
|
||||||
* @node: node containing the interface description
|
* @node: node containing the interface description
|
||||||
* @buf: a buffer for the result S-Expr
|
* @buf: a buffer for the result S-Expr
|
||||||
|
* @xendConfigVersion: xend configuration file format
|
||||||
*
|
*
|
||||||
* Parse the one interface the XML description and add it to the S-Expr in buf
|
* Parse the one interface the XML description and add it to the S-Expr in buf
|
||||||
* This is a temporary interface as the S-Expr interface
|
* This is a temporary interface as the S-Expr interface
|
||||||
@ -1056,7 +1057,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node, virBufferPtr buf,
|
|||||||
* Returns 0 in case of success, -1 in case of error.
|
* Returns 0 in case of success, -1 in case of error.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
virDomainParseXMLIfDesc(virConnectPtr conn ATTRIBUTE_UNUSED, xmlNodePtr node, virBufferPtr buf, int hvm)
|
virDomainParseXMLIfDesc(virConnectPtr conn ATTRIBUTE_UNUSED, xmlNodePtr node, virBufferPtr buf, int hvm, int xendConfigVersion)
|
||||||
{
|
{
|
||||||
xmlNodePtr cur;
|
xmlNodePtr cur;
|
||||||
xmlChar *type = NULL;
|
xmlChar *type = NULL;
|
||||||
@ -1129,8 +1130,11 @@ virDomainParseXMLIfDesc(virConnectPtr conn ATTRIBUTE_UNUSED, xmlNodePtr node, vi
|
|||||||
virBufferVSprintf(buf, "(script '%s')", script);
|
virBufferVSprintf(buf, "(script '%s')", script);
|
||||||
if (ip != NULL)
|
if (ip != NULL)
|
||||||
virBufferVSprintf(buf, "(ip '%s')", ip);
|
virBufferVSprintf(buf, "(ip '%s')", ip);
|
||||||
/* apparently not needed any more for xen >= 3.1 but harmless */
|
/*
|
||||||
if (hvm)
|
* apparently (type ioemu) breaks paravirt drivers on HVM so skip this
|
||||||
|
* from Xen 3.1.0
|
||||||
|
*/
|
||||||
|
if ((hvm) && (xendConfigVersion < 4))
|
||||||
virBufferAdd(buf, "(type ioemu)", 12);
|
virBufferAdd(buf, "(type ioemu)", 12);
|
||||||
|
|
||||||
virBufferAdd(buf, ")", 1);
|
virBufferAdd(buf, ")", 1);
|
||||||
@ -1336,7 +1340,7 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name, int
|
|||||||
if (nb_nodes > 0) {
|
if (nb_nodes > 0) {
|
||||||
for (i = 0; i < nb_nodes; i++) {
|
for (i = 0; i < nb_nodes; i++) {
|
||||||
virBufferAdd(&buf, "(device ", 8);
|
virBufferAdd(&buf, "(device ", 8);
|
||||||
res = virDomainParseXMLIfDesc(conn, nodes[i], &buf, hvm);
|
res = virDomainParseXMLIfDesc(conn, nodes[i], &buf, hvm, xendConfigVersion);
|
||||||
if (res != 0) {
|
if (res != 0) {
|
||||||
free(nodes);
|
free(nodes);
|
||||||
goto error;
|
goto error;
|
||||||
@ -1499,7 +1503,7 @@ virParseXMLDevice(virConnectPtr conn, char *xmldesc, int hvm, int xendConfigVers
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
else if (xmlStrEqual(node->name, BAD_CAST "interface")) {
|
else if (xmlStrEqual(node->name, BAD_CAST "interface")) {
|
||||||
if (virDomainParseXMLIfDesc(conn, node, &buf, hvm) != 0)
|
if (virDomainParseXMLIfDesc(conn, node, &buf, hvm, xendConfigVersion) != 0)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
cleanup:
|
cleanup:
|
||||||
|
Loading…
Reference in New Issue
Block a user