[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] libxl: fix cold plugged PCI devices with stubdomains



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1323432076 0
# Node ID 595f38e12479859630344559fae290f566e7ef40
# Parent  bc28fcc62f91a2ce1ed1c87ced7bd54929c0716c
libxl: fix cold plugged PCI devices with stubdomains

Since 23565:72eafe80ebc1 the xenstore entries for the stubdomain's PCI were
never created and therefore the stubdom ends up waiting forever for the devices
which it has been asked to insert to show up.

Since the stubdomain is already running when we call the libxl_device_pci_add
loop in do_domain_create we should treat it as if "starting == 0".

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---


diff -r bc28fcc62f91 -r 595f38e12479 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c   Fri Dec 09 12:01:17 2011 +0000
+++ b/tools/libxl/libxl_pci.c   Fri Dec 09 12:01:16 2011 +0000
@@ -814,7 +814,8 @@
     stubdomid = libxl_get_stubdom_id(ctx, domid);
     if (stubdomid != 0) {
         libxl_device_pci pcidev_s = *pcidev;
-        rc = do_pci_add(gc, stubdomid, &pcidev_s, starting);
+        /* stubdomain is always running by now, even at create time */
+        rc = do_pci_add(gc, stubdomid, &pcidev_s, 0);
         if ( rc )
             goto out;
     }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.