diff --git a/libvirt-fix-qemu-restore-from-raw.patch b/libvirt-fix-qemu-restore-from-raw.patch new file mode 100644 index 0000000..2d3c8e1 --- /dev/null +++ b/libvirt-fix-qemu-restore-from-raw.patch @@ -0,0 +1,38 @@ +From 8c8bca077a913e7ae49798400f4ac3f121600881 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 12 Oct 2009 20:03:50 +0100 +Subject: [PATCH] Fix QEMU restore from file in raw format + +The logic for running the decompression programs was broken in +commit f238709304f9f6c57204cdd943e542cbae38fa5f, so that for +non-raw formats the decompression program was never run, and +for raw formats, it tried to exec an argv[] with initial NULL +in the program name. + +* src/qemu/qemu_driver.c: Fix logic in runing decompression program + +(cherry picked from commit 74b379cbd5ba9f472a3a2d5710e497966b1a3a37) + +Fedora-patch: libvirt-fix-qemu-restore-from-raw.patch +--- + src/qemu_driver.c | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +diff --git a/src/qemu_driver.c b/src/qemu_driver.c +index 550a59c..0ce403c 100644 +--- a/src/qemu_driver.c ++++ b/src/qemu_driver.c +@@ -4541,9 +4541,8 @@ static int qemudDomainRestore(virConnectPtr conn, + goto cleanup; + } + +- if (header.compressed != QEMUD_SAVE_FORMAT_RAW) ++ if (header.compressed != QEMUD_SAVE_FORMAT_RAW) { + intermediate_argv[0] = prog; +- else { + intermediatefd = fd; + fd = -1; + if (virExec(conn, intermediate_argv, NULL, NULL, +-- +1.6.2.5 + diff --git a/libvirt.spec b/libvirt.spec index 59dc021..01287ed 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 11%{?dist}%{?extra_release} +Release: 12%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -187,6 +187,9 @@ Patch12: libvirt-fix-device-detach-typo3.patch # Fix libvirtd memory leak during error reply sending (#528162) Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch +# Fix restore of qemu guest using raw save format (#523158) +Patch14: libvirt-fix-qemu-restore-from-raw.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -415,6 +418,7 @@ of recent versions of Linux (and other OSes). %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -809,6 +813,9 @@ fi %endif %changelog +* Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 +- Fix restore of qemu guest using raw save format (#523158) + * Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 - Fix libvirtd memory leak during error reply sending (#528162) - Add several PCI hot-unplug typo fixes from upstream