On 17.12.2015 16:23, Andrea Bolognani wrote:
Since we don't detach unmanaged devices before attaching them to
a
domain, we shouldn't reattach them to rollback an error either.
---
src/util/virhostdev.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
index afacd4e..c8da8e5 100644
--- a/src/util/virhostdev.c
+++ b/src/util/virhostdev.c
@@ -711,12 +711,14 @@ virHostdevPreparePCIDevices(virHostdevManagerPtr hostdev_mgr,
for (i = 0; i < virPCIDeviceListCount(pcidevs); i++) {
virPCIDevicePtr dev = virPCIDeviceListGet(pcidevs, i);
- /* NB: This doesn't actually re-bind to original driver, just
- * unbinds from the stub driver
- */
- ignore_value(virPCIDeviceReattach(dev,
- hostdev_mgr->activePCIHostdevs,
- hostdev_mgr->inactivePCIHostdevs));
+ if (virPCIDeviceGetManaged(dev)) {
+ /* NB: This doesn't actually re-bind to original driver, just
+ * unbinds from the stub driver
+ */
+ ignore_value(virPCIDeviceReattach(dev,
+ hostdev_mgr->activePCIHostdevs,
+ hostdev_mgr->inactivePCIHostdevs));
+ }
}
cleanup:
This is exactly what has came to my mind when reviewing previous patch :-)
Michal