File libvirt-qemu-Destroy-domain-on-decompression-binary-error.patch of Package libvirt

From 80fe76ef95efc6b6e94c5ebd3e89f9c93c51d94e Mon Sep 17 00:00:00 2001
Message-Id: <80fe76ef95efc6b6e94c5ebd3e89f9c93c51d94e.1373271636.git.jdenemar@redhat.com>
From: Michal Privoznik <mprivozn@redhat.com>
Date: Mon, 25 Feb 2013 16:48:59 +0100
Subject: [PATCH] qemu: Destroy domain on decompression binary error

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

Currently, if qemuProcessStart() succeeds, but it's decompression
binary that returns nonzero status, we don't kill the qemu process,
but remove it from internal domain list, leaving the qemu process
hanging around totally uncontrolled.
(cherry picked from commit 93e5a1432d1304fafde4b2186cef63692f171c57)
---
 src/qemu/qemu_driver.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ae657f2..283758c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5008,8 +5008,10 @@ qemuDomainSaveImageStartVM(virConnectPtr conn,
             VIR_FORCE_CLOSE(*fd);
         }
 
-        if (virCommandWait(cmd, NULL) < 0)
+        if (virCommandWait(cmd, NULL) < 0) {
+            qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, 0);
             ret = -1;
+        }
     }
     VIR_FORCE_CLOSE(intermediatefd);
 
-- 
1.8.2.1

openSUSE Build Service is sponsored by