]> xenbits.xensource.com Git - 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 18:57:55 +0000 (14:57 -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.)

src/qemu/qemu_hostdev.c

index 48750c3b7fa6e68f20a605a7461ab61541e9a7bf..5b89bb6704bdbd7c5b1493149da05df31ee909f3 100644 (file)
@@ -176,6 +176,7 @@ int qemuUpdateActivePciHostdevs(virQEMUDriverPtr driver,
         }
     }
 
+    ret = 0;
 cleanup:
     virObjectUnlock(driver->activePciHostdevs);
     virObjectUnlock(driver->inactivePciHostdevs);