]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: prevent termination of guests w/hostdev on driver reconnect
authorLaine Stump <laine@laine.org>
Fri, 31 May 2013 18:30:09 +0000 (14:30 -0400)
committerLaine Stump <laine@laine.org>
Fri, 31 May 2013 19:16:06 +0000 (15:16 -0400)
This should resolve:

  https://bugzilla.redhat.com/show_bug.cgi?id=959191

The problem was that qemuUpdateActivePciHostdevs was returning 0
(success) when no hostdevs were present, but would otherwise return -1
(failure) even when it completed successfully. It is only called from
qemuProcessReconnect(), and when qemuProcessReconnect got back an
error, it would not only stop reconnecting, but would terminate the
guest qemu process "to remove danger of it ending up running twice if
user tries to start it again later".

(This bug was introduced in commit 011cf7ad, which was pushed between
v1.0.2 and v1.0.3, so all maintenance branches from v1.0.3 up to 1.0.5
will need this one line patch applied.)
(cherry picked from commit 2ea45647bcde23cff5da48f725561ff5ba3fba39)

src/qemu/qemu_hostdev.c

index e4af03666e0f151d3b67cd4a7b652e181031c3a2..bd20eb194be28b6cb70fde775fdfe169f5c251af 100644 (file)
@@ -175,6 +175,7 @@ int qemuUpdateActivePciHostdevs(virQEMUDriverPtr driver,
         }
     }
 
+    ret = 0;
 cleanup:
     virObjectUnlock(driver->activePciHostdevs);
     virObjectUnlock(driver->inactivePciHostdevs);