]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix libvirtd restart for domains with PCI passthrough devices
authorChris Lalancette <clalance@redhat.com>
Fri, 22 Jan 2010 17:39:15 +0000 (18:39 +0100)
committerDaniel Veillard <veillard@redhat.com>
Fri, 22 Jan 2010 17:39:15 +0000 (18:39 +0100)
When libvirtd shuts down, it places a <state/> tag in the XML
state file it writes out for guests with PCI passthrough
devices.  For devices that are attached at bootup time, the
state tag is empty.  However, at libvirtd startup time, it
ignores anything with a <state/> tag in the XML, effectively
hiding the guest.
This patch remove the check for VIR_DOMAIN_XML_INTERNAL_STATUS
when parsing the XML.
* src/conf/domain_conf.c: remove VIR_DOMAIN_XML_INTERNAL_STATUS
  flag check in virDomainHostdevSubsysPciDefParseXML()

src/conf/domain_conf.c

index 74c233732f9b08eeeb92a9da5466912ccd4df566..595c46cafb3eb9a28627d71a4516895d62a3be6c 100644 (file)
@@ -2876,7 +2876,7 @@ static int
 virDomainHostdevSubsysPciDefParseXML(virConnectPtr conn,
                                      const xmlNodePtr node,
                                      virDomainHostdevDefPtr def,
-                                     int flags) {
+                                     int flags ATTRIBUTE_UNUSED) {
 
     int ret = -1;
     xmlNodePtr cur;
@@ -2890,8 +2890,7 @@ virDomainHostdevSubsysPciDefParseXML(virConnectPtr conn,
 
                 if (virDomainDevicePCIAddressParseXML(conn, cur, addr) < 0)
                     goto out;
-            } else if ((flags & VIR_DOMAIN_XML_INTERNAL_STATUS) &&
-                       xmlStrEqual(cur->name, BAD_CAST "state")) {
+            } else if (xmlStrEqual(cur->name, BAD_CAST "state")) {
                 /* Legacy back-compat. Don't add any more attributes here */
                 char *devaddr = virXMLPropString(cur, "devaddr");
                 if (devaddr &&