From 2f2ed992c06a820a33f99af9eb0d91427e9ba89b Mon Sep 17 00:00:00 2001 From: Laine Stump Date: Fri, 31 May 2013 14:30:09 -0400 Subject: [PATCH] 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.) (cherry picked from commit 2ea45647bcde23cff5da48f725561ff5ba3fba39) --- src/qemu/qemu_hostdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index e4af03666e..bd20eb194b 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -175,6 +175,7 @@ int qemuUpdateActivePciHostdevs(virQEMUDriverPtr driver, } } + ret = 0; cleanup: virObjectUnlock(driver->activePciHostdevs); virObjectUnlock(driver->inactivePciHostdevs);