From: Laine Stump Date: Fri, 31 May 2013 18:30:09 +0000 (-0400) Subject: qemu: prevent termination of guests w/hostdev on driver reconnect X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2ea45647bcde23cff5da48f725561ff5ba3fba39;p=libvirt.git qemu: prevent termination of guests w/hostdev on driver reconnect 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.) --- diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index 48750c3b7f..5b89bb6704 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -176,6 +176,7 @@ int qemuUpdateActivePciHostdevs(virQEMUDriverPtr driver, } } + ret = 0; cleanup: virObjectUnlock(driver->activePciHostdevs); virObjectUnlock(driver->inactivePciHostdevs);