From d00ec4ee6a7bd74196994b160fb450dbd0a5156b Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sun, 17 Nov 2013 18:22:50 -0500 Subject: [PATCH] Fix attaching ISO from cifs filesystem (bz #1012085) Fix crash with libxl driver and vcpu affinity (bz #1013045) Fix managed save 'unexpected migration status' failure (bz #1015636) Fix qemu deprecation warning in logs with tick options (bz #978719) --- ...gnize-SMB-CIFS-filesystems-as-shared.patch | 81 +++++++ ...s-cpumask-handling-in-libxlDomainSet.patch | 51 ++++ 0004-Fix-migration-with-QEMU-1.6.patch | 65 +++++ ...se-deprecated-no-kvm-pit-reinjection.patch | 223 ++++++++++++++++++ libvirt.spec | 26 +- 5 files changed, 445 insertions(+), 1 deletion(-) create mode 100644 0002-util-recognize-SMB-CIFS-filesystems-as-shared.patch create mode 100644 0003-libxl-fix-dubious-cpumask-handling-in-libxlDomainSet.patch create mode 100644 0004-Fix-migration-with-QEMU-1.6.patch create mode 100644 0005-qemu-don-t-use-deprecated-no-kvm-pit-reinjection.patch diff --git a/0002-util-recognize-SMB-CIFS-filesystems-as-shared.patch b/0002-util-recognize-SMB-CIFS-filesystems-as-shared.patch new file mode 100644 index 0000000..a70450d --- /dev/null +++ b/0002-util-recognize-SMB-CIFS-filesystems-as-shared.patch @@ -0,0 +1,81 @@ +From 894b3a9e2fb467373f5311f4d6716cdae870a031 Mon Sep 17 00:00:00 2001 +Message-Id: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com> +From: Laine Stump +Date: Thu, 26 Sep 2013 05:40:17 -0400 +Subject: [PATCH 2/4] util: recognize SMB/CIFS filesystems as shared + +This should resolve: + + https://bugzilla.redhat.com/show_bug.cgi?id=1012085 + +libvirt previously recognized NFS, GFS2, OCFS2, and AFS filesystems as +"shared", and thus eligible for exceptions to certain rules/actions +about chowning image files before handing them off to a guest. This +patch widens the definition of "shared filesystem" to include SMB and +CIFS filesystems (aka "Windows file sharing"); both of these use the +same protocol, but different drivers so there are different magic +numbers for each. + +(cherry picked from commit e4e73337e5a5aa708bb356751404ab8ae6583f42) +--- + src/util/virstoragefile.c | 16 +++++++++++++++- + src/util/virstoragefile.h | 2 ++ + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c +index 9453599..1b4d4cf 100644 +--- a/src/util/virstoragefile.c ++++ b/src/util/virstoragefile.c +@@ -1241,6 +1241,12 @@ cleanup: + # ifndef AFS_FS_MAGIC + # define AFS_FS_MAGIC 0x6B414653 + # endif ++# ifndef SMB_SUPER_MAGIC ++# define SMB_SUPER_MAGIC 0x517B ++# endif ++# ifndef CIFS_SUPER_MAGIC ++# define CIFS_SUPER_MAGIC 0xFF534D42 ++# endif + + + int virStorageFileIsSharedFSType(const char *path, +@@ -1304,6 +1310,12 @@ int virStorageFileIsSharedFSType(const char *path, + if ((fstypes & VIR_STORAGE_FILE_SHFS_AFS) && + (sb.f_type == AFS_FS_MAGIC)) + return 1; ++ if ((fstypes & VIR_STORAGE_FILE_SHFS_SMB) && ++ (sb.f_type == SMB_SUPER_MAGIC)) ++ return 1; ++ if ((fstypes & VIR_STORAGE_FILE_SHFS_CIFS) && ++ (sb.f_type == CIFS_SUPER_MAGIC)) ++ return 1; + + return 0; + } +@@ -1322,7 +1334,9 @@ int virStorageFileIsSharedFS(const char *path) + VIR_STORAGE_FILE_SHFS_NFS | + VIR_STORAGE_FILE_SHFS_GFS2 | + VIR_STORAGE_FILE_SHFS_OCFS | +- VIR_STORAGE_FILE_SHFS_AFS); ++ VIR_STORAGE_FILE_SHFS_AFS | ++ VIR_STORAGE_FILE_SHFS_SMB | ++ VIR_STORAGE_FILE_SHFS_CIFS); + } + + int virStorageFileIsClusterFS(const char *path) +diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h +index 1f89839..d5effa4 100644 +--- a/src/util/virstoragefile.h ++++ b/src/util/virstoragefile.h +@@ -112,6 +112,8 @@ enum { + VIR_STORAGE_FILE_SHFS_GFS2 = (1 << 1), + VIR_STORAGE_FILE_SHFS_OCFS = (1 << 2), + VIR_STORAGE_FILE_SHFS_AFS = (1 << 3), ++ VIR_STORAGE_FILE_SHFS_SMB = (1 << 4), ++ VIR_STORAGE_FILE_SHFS_CIFS = (1 << 5), + }; + + int virStorageFileIsSharedFS(const char *path); +-- +1.8.4.2 + diff --git a/0003-libxl-fix-dubious-cpumask-handling-in-libxlDomainSet.patch b/0003-libxl-fix-dubious-cpumask-handling-in-libxlDomainSet.patch new file mode 100644 index 0000000..724b4d4 --- /dev/null +++ b/0003-libxl-fix-dubious-cpumask-handling-in-libxlDomainSet.patch @@ -0,0 +1,51 @@ +From c004f937a1c6a60cc9a714b2563add57b5b439f2 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com> +References: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com> +From: Jeremy Fitzhardinge +Date: Wed, 30 Oct 2013 10:38:08 -0700 +Subject: [PATCH 3/4] libxl: fix dubious cpumask handling in + libxlDomainSetVcpuAffinities + +Rather than casting the virBitmap pointer to uint8_t* and then using +the structure contents as a byte array, use the virBitmap API to determine +the bitmap size and test each bit. + +Signed-off-by: Jeremy Fitzhardinge +(cherry picked from commit ba1bf10063a0205c1de12b209b0282833710214f) +--- + src/libxl/libxl_driver.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c +index e2a6d44..45e09a8 100644 +--- a/src/libxl/libxl_driver.c ++++ b/src/libxl/libxl_driver.c +@@ -448,7 +448,7 @@ libxlDomainSetVcpuAffinities(libxlDriverPrivatePtr driver, virDomainObjPtr vm) + libxlDomainObjPrivatePtr priv = vm->privateData; + virDomainDefPtr def = vm->def; + libxl_bitmap map; +- uint8_t *cpumask = NULL; ++ virBitmapPtr cpumask = NULL; + uint8_t *cpumap = NULL; + virNodeInfo nodeinfo; + size_t cpumaplen; +@@ -468,10 +468,12 @@ libxlDomainSetVcpuAffinities(libxlDriverPrivatePtr driver, virDomainObjPtr vm) + if (VIR_ALLOC_N(cpumap, cpumaplen) < 0) + goto cleanup; + +- cpumask = (uint8_t*) def->cputune.vcpupin[vcpu]->cpumask; ++ cpumask = def->cputune.vcpupin[vcpu]->cpumask; + +- for (i = 0; i < VIR_DOMAIN_CPUMASK_LEN; ++i) { +- if (cpumask[i]) ++ for (i = 0; i < virBitmapSize(cpumask); ++i) { ++ bool bit; ++ ignore_value(virBitmapGetBit(cpumask, i, &bit)); ++ if (bit) + VIR_USE_CPU(cpumap, i); + } + +-- +1.8.4.2 + diff --git a/0004-Fix-migration-with-QEMU-1.6.patch b/0004-Fix-migration-with-QEMU-1.6.patch new file mode 100644 index 0000000..1fc9e51 --- /dev/null +++ b/0004-Fix-migration-with-QEMU-1.6.patch @@ -0,0 +1,65 @@ +From 1587f15f6de9c7ee98016ce5b5d74662640740bb Mon Sep 17 00:00:00 2001 +Message-Id: <1587f15f6de9c7ee98016ce5b5d74662640740bb.1384729580.git.crobinso@redhat.com> +In-Reply-To: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com> +References: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com> +From: Michael Avdienko +Date: Fri, 15 Nov 2013 20:47:43 +0900 +Subject: [PATCH 4/4] Fix migration with QEMU 1.6 + +QEMU 1.6.0 introduced new migration status: setup +Libvirt does not expect such string in QMP and refuses to migrate with error +"unexpected migration status in setup" + +This patch fixes it. + +Signed-off-by: Jiri Denemark +(cherry picked from commit d35ae4143d11f45856ae002fcd419da0eb9bba9f) +--- + src/qemu/qemu_migration.c | 4 ++++ + src/qemu/qemu_monitor.c | 2 +- + src/qemu/qemu_monitor.h | 1 + + 3 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c +index 04313e7..c0b17c3 100644 +--- a/src/qemu/qemu_migration.c ++++ b/src/qemu/qemu_migration.c +@@ -1650,6 +1650,10 @@ qemuMigrationUpdateJobStatus(virQEMUDriverPtr driver, + _("%s: %s"), job, _("is not active")); + break; + ++ case QEMU_MONITOR_MIGRATION_STATUS_SETUP: ++ ret = 0; ++ break; ++ + case QEMU_MONITOR_MIGRATION_STATUS_ACTIVE: + priv->job.info.fileTotal = priv->job.status.disk_total; + priv->job.info.fileRemaining = priv->job.status.disk_remaining; +diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c +index a601ee0..7e26377 100644 +--- a/src/qemu/qemu_monitor.c ++++ b/src/qemu/qemu_monitor.c +@@ -114,7 +114,7 @@ VIR_ONCE_GLOBAL_INIT(qemuMonitor) + + VIR_ENUM_IMPL(qemuMonitorMigrationStatus, + QEMU_MONITOR_MIGRATION_STATUS_LAST, +- "inactive", "active", "completed", "failed", "cancelled") ++ "inactive", "active", "completed", "failed", "cancelled", "setup") + + VIR_ENUM_IMPL(qemuMonitorMigrationCaps, + QEMU_MONITOR_MIGRATION_CAPS_LAST, +diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h +index 06ba7e8..8ec721b 100644 +--- a/src/qemu/qemu_monitor.h ++++ b/src/qemu/qemu_monitor.h +@@ -396,6 +396,7 @@ enum { + QEMU_MONITOR_MIGRATION_STATUS_COMPLETED, + QEMU_MONITOR_MIGRATION_STATUS_ERROR, + QEMU_MONITOR_MIGRATION_STATUS_CANCELLED, ++ QEMU_MONITOR_MIGRATION_STATUS_SETUP, + + QEMU_MONITOR_MIGRATION_STATUS_LAST + }; +-- +1.8.4.2 + diff --git a/0005-qemu-don-t-use-deprecated-no-kvm-pit-reinjection.patch b/0005-qemu-don-t-use-deprecated-no-kvm-pit-reinjection.patch new file mode 100644 index 0000000..5d4b331 --- /dev/null +++ b/0005-qemu-don-t-use-deprecated-no-kvm-pit-reinjection.patch @@ -0,0 +1,223 @@ +From e20a2c775a07aad3a5309785dd75909aacc48d95 Mon Sep 17 00:00:00 2001 +Message-Id: +From: =?UTF-8?q?J=C3=A1n=20Tomko?= +Date: Mon, 1 Jul 2013 18:28:50 +0200 +Subject: [PATCH] qemu: don't use deprecated -no-kvm-pit-reinjection + +Since qemu-kvm 1.1 [1] (since 1.3. in upstream QEMU [2]) +'-no-kvm-pit-reinjection' has been deprecated. +Use -global kvm-pit.lost_tick_policy=discard instead. + +https://bugzilla.redhat.com/show_bug.cgi?id=978719 + +[1] http://git.kernel.org/cgit/virt/kvm/qemu-kvm.git/commit/?id=4e4fa39 +[2] http://git.qemu.org/?p=qemu.git;a=commitdiff;h=c21fb4f + +(cherry picked from commit 1569fa14d8f6b6636cf78d7ee62ae3bd205f5638) + +Conflicts: + tests/qemucapabilitiesdata/caps_1.2.2-1.caps + tests/qemucapabilitiesdata/caps_1.2.2-1.replies + tests/qemucapabilitiesdata/caps_1.3.1-1.caps + tests/qemucapabilitiesdata/caps_1.3.1-1.replies + tests/qemucapabilitiesdata/caps_1.4.2-1.caps + tests/qemucapabilitiesdata/caps_1.4.2-1.replies + tests/qemucapabilitiesdata/caps_1.5.3-1.caps + tests/qemucapabilitiesdata/caps_1.5.3-1.replies + tests/qemucapabilitiesdata/caps_1.6.0-1.caps + tests/qemucapabilitiesdata/caps_1.6.0-1.replies + tests/qemucapabilitiesdata/caps_1.6.50-1.caps + tests/qemucapabilitiesdata/caps_1.6.50-1.replies +(qemucapabilitiestest is not backported) +--- + src/qemu/qemu_capabilities.c | 7 ++++++ + src/qemu/qemu_capabilities.h | 1 + + src/qemu/qemu_command.c | 8 ++++-- + .../qemuxml2argv-kvm-pit-delay.args | 5 ++++ + .../qemuxml2argv-kvm-pit-delay.xml | 29 ++++++++++++++++++++++ + .../qemuxml2argv-kvm-pit-device.args | 5 ++++ + .../qemuxml2argv-kvm-pit-device.xml | 29 ++++++++++++++++++++++ + tests/qemuxml2argvtest.c | 5 ++++ + 8 files changed, 87 insertions(+), 2 deletions(-) + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml + +diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c +index dc8f0be..5e1ae93 100644 +--- a/src/qemu/qemu_capabilities.c ++++ b/src/qemu/qemu_capabilities.c +@@ -242,6 +242,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, + "usb-storage.removable", + "virtio-mmio", + "ich9-intel-hda", ++ "kvm-pit-lost-tick-policy", + ); + + struct _virQEMUCaps { +@@ -1458,6 +1459,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUsbStorage[] = { + { "removable", QEMU_CAPS_USB_STORAGE_REMOVABLE }, + }; + ++static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsKVMPit[] = { ++ { "lost_tick_policy", QEMU_CAPS_KVM_PIT_TICK_POLICY }, ++}; ++ + struct virQEMUCapsObjectTypeProps { + const char *type; + struct virQEMUCapsStringFlags *props; +@@ -1501,6 +1506,8 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { + ARRAY_CARDINALITY(virQEMUCapsObjectPropsQ35PciHost) }, + { "usb-storage", virQEMUCapsObjectPropsUsbStorage, + ARRAY_CARDINALITY(virQEMUCapsObjectPropsUsbStorage) }, ++ { "kvm-pit", virQEMUCapsObjectPropsKVMPit, ++ ARRAY_CARDINALITY(virQEMUCapsObjectPropsKVMPit) }, + }; + + +diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h +index f8dc728..7c05412 100644 +--- a/src/qemu/qemu_capabilities.h ++++ b/src/qemu/qemu_capabilities.h +@@ -197,6 +197,7 @@ enum virQEMUCapsFlags { + QEMU_CAPS_USB_STORAGE_REMOVABLE = 156, /* usb-storage.removable */ + QEMU_CAPS_DEVICE_VIRTIO_MMIO = 157, /* -device virtio-mmio */ + QEMU_CAPS_DEVICE_ICH9_INTEL_HDA = 158, /* -device ich9-intel-hda */ ++ QEMU_CAPS_KVM_PIT_TICK_POLICY = 159, /* kvm-pit.lost_tick_policy */ + + QEMU_CAPS_LAST, /* this must always be the last item */ + }; +diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c +index e3c2d0c..38fbd45 100644 +--- a/src/qemu/qemu_command.c ++++ b/src/qemu/qemu_command.c +@@ -7968,11 +7968,15 @@ qemuBuildCommandLine(virConnectPtr conn, + case VIR_DOMAIN_TIMER_TICKPOLICY_DELAY: + /* delay is the default if we don't have kernel + (-no-kvm-pit), otherwise, the default is catchup. */ +- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT)) ++ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM_PIT_TICK_POLICY)) ++ virCommandAddArgList(cmd, "-global", ++ "kvm-pit.lost_tick_policy=discard", NULL); ++ else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT)) + virCommandAddArg(cmd, "-no-kvm-pit-reinjection"); + break; + case VIR_DOMAIN_TIMER_TICKPOLICY_CATCHUP: +- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT)) { ++ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT) || ++ virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM_PIT_TICK_POLICY)) { + /* do nothing - this is default for kvm-pit */ + } else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_TDF)) { + /* -tdf switches to 'catchup' with userspace pit. */ +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args +new file mode 100644 +index 0000000..ca5823f +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args +@@ -0,0 +1,5 @@ ++LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \ ++/usr/bin/qemu -S -M pc -m 214 -smp 2 -nographic \ ++-monitor unix:/tmp/test-monitor,server,nowait \ ++-no-kvm-pit-reinjection -no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 \ ++-net none -serial none -parallel none +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml +new file mode 100644 +index 0000000..7835a1b +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml +@@ -0,0 +1,29 @@ ++ ++ QEMUGuest1 ++ c7a5fdbd-edaf-9455-926a-d65c16db1809 ++ 219136 ++ 219136 ++ 2 ++ ++ hvm ++ ++ ++ ++ ++ ++ destroy ++ restart ++ destroy ++ ++ /usr/bin/qemu ++ ++ ++ ++
++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args +new file mode 100644 +index 0000000..f03840f +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args +@@ -0,0 +1,5 @@ ++LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \ ++/usr/bin/qemu -S -M pc -m 214 -smp 2 -nographic \ ++-monitor unix:/tmp/test-monitor,server,nowait \ ++-global kvm-pit.lost_tick_policy=discard -no-acpi -boot c -usb \ ++-hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml +new file mode 100644 +index 0000000..7835a1b +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml +@@ -0,0 +1,29 @@ ++ ++ QEMUGuest1 ++ c7a5fdbd-edaf-9455-926a-d65c16db1809 ++ 219136 ++ 219136 ++ 2 ++ ++ hvm ++ ++ ++ ++ ++ ++ destroy ++ restart ++ destroy ++ ++ /usr/bin/qemu ++ ++ ++ ++
++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c +index d23f545..15e21be 100644 +--- a/tests/qemuxml2argvtest.c ++++ b/tests/qemuxml2argvtest.c +@@ -1083,6 +1083,11 @@ mymain(void) + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO, + QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM); + ++ DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY); ++ DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT); ++ DO_TEST("kvm-pit-device", QEMU_CAPS_NO_KVM_PIT, ++ QEMU_CAPS_KVM_PIT_TICK_POLICY); ++ + virObjectUnref(driver.config); + virObjectUnref(driver.caps); + virObjectUnref(driver.xmlopt); +-- +1.8.4.2 + diff --git a/libvirt.spec b/libvirt.spec index 5c11a64..90cb19a 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -367,7 +367,7 @@ Summary: Library providing a simple virtualization API Name: libvirt Version: 1.1.3.1 -Release: 1%{?dist}%{?extra_release} +Release: 2%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -378,6 +378,15 @@ URL: http://libvirt.org/ %endif Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz +# Fix attaching ISO from cifs filesystem (bz #1012085) +Patch0002: 0002-util-recognize-SMB-CIFS-filesystems-as-shared.patch +# Fix crash with libxl driver and vcpu affinity (bz #1013045) +Patch0003: 0003-libxl-fix-dubious-cpumask-handling-in-libxlDomainSet.patch +# Fix managed save 'unexpected migration status' failure (bz #1015636) +Patch0004: 0004-Fix-migration-with-QEMU-1.6.patch +# Fix qemu deprecation warning in logs with tick options (bz #978719) +Patch0005: 0005-qemu-don-t-use-deprecated-no-kvm-pit-reinjection.patch + %if %{with_libvirtd} Requires: libvirt-daemon = %{version}-%{release} %if %{with_network} @@ -1161,6 +1170,15 @@ of recent versions of Linux (and other OSes). %prep %setup -q +# Fix attaching ISO from cifs filesystem (bz #1012085) +%patch0002 -p1 +# Fix crash with libxl driver and vcpu affinity (bz #1013045) +%patch0003 -p1 +# Fix managed save 'unexpected migration status' failure (bz #1015636) +%patch0004 -p1 +# Fix qemu deprecation warning in logs with tick options (bz #978719) +%patch0005 -p1 + %build %if ! %{with_xen} %define _without_xen --without-xen @@ -2118,6 +2136,12 @@ fi %endif %changelog +* Sun Nov 17 2013 Cole Robinson - 1.1.3.1-2 +- Fix attaching ISO from cifs filesystem (bz #1012085) +- Fix crash with libxl driver and vcpu affinity (bz #1013045) +- Fix managed save 'unexpected migration status' failure (bz #1015636) +- Fix qemu deprecation warning in logs with tick options (bz #978719) + * Wed Nov 06 2013 Cole Robinson - 1.1.3.1-1 - Rebased to version 1.1.3.1 - CVE-2013-4400: virt-login-shell arbitrary file overwrites vulnerability (bz