From bacd9b04682dabe5438d313a7aa50989fe185311 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 3 Dec 2013 06:36:52 -0500 Subject: [PATCH] Fix qemu-img create with NBD backing file (bz #1034433) Rebase to qemu-1.7 GA New monitor command blockdev-add for full featured block device hotplug. Performance and functionality improvements for USB 3.0. Many VFIO improvements ACPI tables can be generated by QEMU and can be used by firmware directly. Support creating and writing .vhdx images. qemu-img map: dump detailed image file metadata --- 0001-pci-do-not-export-pci_bus_reset.patch | 8 ++-- ...pre-and-post-order-vists-in-qdev-wal.patch | 2 +- 0003-qdev-switch-reset-to-post-order.patch | 12 +++--- 0004-virtio-bus-remove-vdev-field.patch | 2 +- 0005-virtio-pci-remove-vdev-field.patch | 2 +- 0006-virtio-ccw-remove-vdev-field.patch | 2 +- ...io-bus-cleanup-plug-unplug-interface.patch | 2 +- ...h-exit-callback-to-VirtioDeviceClass.patch | 2 +- ...itch-exit-callback-to-VirtioDeviceCl.patch | 2 +- ...h-exit-callback-to-VirtioDeviceClass.patch | 2 +- ...ch-exit-callback-to-VirtioDeviceClas.patch | 2 +- ...witch-exit-callback-to-VirtioDeviceC.patch | 2 +- ...h-exit-callback-to-VirtioDeviceClass.patch | 2 +- ...io-pci-add-device_unplugged-callback.patch | 2 +- qemu.spec | 43 +++++++++++-------- 15 files changed, 47 insertions(+), 40 deletions(-) diff --git a/0001-pci-do-not-export-pci_bus_reset.patch b/0001-pci-do-not-export-pci_bus_reset.patch index dc5ffbf..e23e793 100644 --- a/0001-pci-do-not-export-pci_bus_reset.patch +++ b/0001-pci-do-not-export-pci_bus_reset.patch @@ -1,4 +1,4 @@ -From 68c3010699db0e83c7bb2ac469527d6a7a36dfa4 Mon Sep 17 00:00:00 2001 +From 4f9f83c8b0a26a24ab2963e57a375b0ba99638f1 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 2 May 2013 11:38:37 +0200 Subject: [PATCH] pci: do not export pci_bus_reset @@ -19,10 +19,10 @@ Signed-off-by: Paolo Bonzini 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/hw/pci/pci.c b/hw/pci/pci.c -index ed32059..ab73b4c 100644 +index 49eca95..504ed9d 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c -@@ -210,8 +210,9 @@ void pci_device_reset(PCIDevice *dev) +@@ -212,8 +212,9 @@ void pci_device_reset(PCIDevice *dev) * Trigger pci bus reset under a given bus. * To be called on RST# assert. */ @@ -33,7 +33,7 @@ index ed32059..ab73b4c 100644 int i; for (i = 0; i < bus->nirq; i++) { -@@ -222,11 +223,6 @@ void pci_bus_reset(PCIBus *bus) +@@ -224,11 +225,6 @@ void pci_bus_reset(PCIBus *bus) pci_device_reset(bus->devices[i]); } } diff --git a/0002-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch b/0002-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch index eeeb7f8..52e32c4 100644 --- a/0002-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch +++ b/0002-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch @@ -1,4 +1,4 @@ -From ea25537789eb25313d6b4baee7c00d36b1dcdf17 Mon Sep 17 00:00:00 2001 +From 60ab1ca9f2a40610902b610fa0a06fccea7f0f57 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 2 May 2013 11:38:38 +0200 Subject: [PATCH] qdev: allow both pre- and post-order vists in qdev walking diff --git a/0003-qdev-switch-reset-to-post-order.patch b/0003-qdev-switch-reset-to-post-order.patch index d4dd4c9..a98f3dd 100644 --- a/0003-qdev-switch-reset-to-post-order.patch +++ b/0003-qdev-switch-reset-to-post-order.patch @@ -1,4 +1,4 @@ -From 6e6d80327eb2e249daaa0937468248d54222b125 Mon Sep 17 00:00:00 2001 +From b7906779d6a9eac1815d61cb34aa3d71154025bb Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 2 May 2013 11:38:39 +0200 Subject: [PATCH] qdev: switch reset to post-order @@ -59,7 +59,7 @@ index 5ddf1aa..d2ffe35 100644 void qbus_reset_all_fn(void *opaque) diff --git a/hw/pci/pci.c b/hw/pci/pci.c -index ab73b4c..b52df14 100644 +index 504ed9d..8806636 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -46,7 +46,7 @@ @@ -68,10 +68,10 @@ index ab73b4c..b52df14 100644 static char *pcibus_get_fw_dev_path(DeviceState *dev); -static int pcibus_reset(BusState *qbus); +static void pcibus_reset(BusState *qbus); + static void pci_bus_finalize(Object *obj); static Property pci_props[] = { - DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1), -@@ -165,16 +165,10 @@ void pci_device_deassert_intx(PCIDevice *dev) +@@ -167,16 +167,10 @@ void pci_device_deassert_intx(PCIDevice *dev) } } @@ -89,7 +89,7 @@ index ab73b4c..b52df14 100644 dev->irq_state = 0; pci_update_irq_status(dev); pci_device_deassert_intx(dev); -@@ -207,10 +201,21 @@ void pci_device_reset(PCIDevice *dev) +@@ -209,10 +203,21 @@ void pci_device_reset(PCIDevice *dev) } /* @@ -113,7 +113,7 @@ index ab73b4c..b52df14 100644 { PCIBus *bus = DO_UPCAST(PCIBus, qbus, qbus); int i; -@@ -220,13 +225,9 @@ static int pcibus_reset(BusState *qbus) +@@ -222,13 +227,9 @@ static int pcibus_reset(BusState *qbus) } for (i = 0; i < ARRAY_SIZE(bus->devices); ++i) { if (bus->devices[i]) { diff --git a/0004-virtio-bus-remove-vdev-field.patch b/0004-virtio-bus-remove-vdev-field.patch index e058832..b2823f5 100644 --- a/0004-virtio-bus-remove-vdev-field.patch +++ b/0004-virtio-bus-remove-vdev-field.patch @@ -1,4 +1,4 @@ -From 21cbcaf09677ba959d977bfc0712c5e08ca1aec9 Mon Sep 17 00:00:00 2001 +From d704692d459a40bd28950e734a57075b0ab87393 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:50 +0200 Subject: [PATCH] virtio-bus: remove vdev field diff --git a/0005-virtio-pci-remove-vdev-field.patch b/0005-virtio-pci-remove-vdev-field.patch index 2a4dabb..5e636b4 100644 --- a/0005-virtio-pci-remove-vdev-field.patch +++ b/0005-virtio-pci-remove-vdev-field.patch @@ -1,4 +1,4 @@ -From cc7e97d969c93e197bda7ed17d32254e31793b2d Mon Sep 17 00:00:00 2001 +From 3dfc39e3dcdf006d3aef8b8be1f3947f9393b90f Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:51 +0200 Subject: [PATCH] virtio-pci: remove vdev field diff --git a/0006-virtio-ccw-remove-vdev-field.patch b/0006-virtio-ccw-remove-vdev-field.patch index 19e3fd6..d1244d8 100644 --- a/0006-virtio-ccw-remove-vdev-field.patch +++ b/0006-virtio-ccw-remove-vdev-field.patch @@ -1,4 +1,4 @@ -From 7b81da30e3f4cb6e617f08cc822f4575a4a9e431 Mon Sep 17 00:00:00 2001 +From 6f5e351c3f91e76a70c0684276af8070cfeb07da Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:52 +0200 Subject: [PATCH] virtio-ccw: remove vdev field diff --git a/0007-virtio-bus-cleanup-plug-unplug-interface.patch b/0007-virtio-bus-cleanup-plug-unplug-interface.patch index b79e033..aa86829 100644 --- a/0007-virtio-bus-cleanup-plug-unplug-interface.patch +++ b/0007-virtio-bus-cleanup-plug-unplug-interface.patch @@ -1,4 +1,4 @@ -From 7d948d3491e58e32ece358d783a05d51fdbd6ec3 Mon Sep 17 00:00:00 2001 +From e26f88b6280b2386c36d3b3d5ec820deb1ac7749 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:53 +0200 Subject: [PATCH] virtio-bus: cleanup plug/unplug interface diff --git a/0008-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch b/0008-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch index 24aa7df..cbf3ad3 100644 --- a/0008-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch +++ b/0008-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch @@ -1,4 +1,4 @@ -From 07ffeff19959e11ae7d68f7dc17a3225deb88f8f Mon Sep 17 00:00:00 2001 +From e8821c68009a5b801ffef6d7d9ed5d770c0bfd9f Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:54 +0200 Subject: [PATCH] virtio-blk: switch exit callback to VirtioDeviceClass diff --git a/0009-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch b/0009-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch index 0da9ea5..840e1e3 100644 --- a/0009-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch +++ b/0009-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch @@ -1,4 +1,4 @@ -From 010f4a29c797e098a1fe4b5b2b14c6cfba2f6327 Mon Sep 17 00:00:00 2001 +From b4ea3493c8c99bd854eec8640bd5c90c31e8ac14 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:55 +0200 Subject: [PATCH] virtio-serial: switch exit callback to VirtioDeviceClass diff --git a/0010-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch b/0010-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch index 41b4eec..0406b04 100644 --- a/0010-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch +++ b/0010-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch @@ -1,4 +1,4 @@ -From 8ed30b7ae128c31617c96128d9aa126332c7afaa Mon Sep 17 00:00:00 2001 +From d399f7bf1a035d6158d20d3f11a44f03e15132d0 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:56 +0200 Subject: [PATCH] virtio-net: switch exit callback to VirtioDeviceClass diff --git a/0011-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch b/0011-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch index 7eac763..d34ab57 100644 --- a/0011-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch +++ b/0011-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch @@ -1,4 +1,4 @@ -From 78ad270fe43666fb11ba1352f591a7f217dd87b7 Mon Sep 17 00:00:00 2001 +From 18a73436b50ec6c28afde849c6de23ad7ebed459 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:57 +0200 Subject: [PATCH] virtio-scsi: switch exit callback to VirtioDeviceClass diff --git a/0012-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch b/0012-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch index 55019b0..004dc8c 100644 --- a/0012-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch +++ b/0012-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch @@ -1,4 +1,4 @@ -From 6b83317ba5edf378a1d5d4ccf1af7cc2a521f6ca Mon Sep 17 00:00:00 2001 +From 7f334f1eb88807e2fc7ae42cc729f8dd371833e4 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:58 +0200 Subject: [PATCH] virtio-balloon: switch exit callback to VirtioDeviceClass diff --git a/0013-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch b/0013-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch index b870c03..5eabe78 100644 --- a/0013-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch +++ b/0013-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch @@ -1,4 +1,4 @@ -From 8095a86fea23b06cd6bac2e3d054e1df8b1558c6 Mon Sep 17 00:00:00 2001 +From 8b9a562e23dbfdfb23a5eeb1b619619290216ad8 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:57:59 +0200 Subject: [PATCH] virtio-rng: switch exit callback to VirtioDeviceClass diff --git a/0014-virtio-pci-add-device_unplugged-callback.patch b/0014-virtio-pci-add-device_unplugged-callback.patch index 17c8ae6..5fdc5d9 100644 --- a/0014-virtio-pci-add-device_unplugged-callback.patch +++ b/0014-virtio-pci-add-device_unplugged-callback.patch @@ -1,4 +1,4 @@ -From 91ff7bf3e20ced8742319d77bd5f2b9929bc3c24 Mon Sep 17 00:00:00 2001 +From 96412e68c312ae4d91d6febc2284951f8b295ef7 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 20 Sep 2013 16:58:00 +0200 Subject: [PATCH] virtio-pci: add device_unplugged callback diff --git a/qemu.spec b/qemu.spec index 872afb2..dbe9ba9 100644 --- a/qemu.spec +++ b/qemu.spec @@ -139,7 +139,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.7.0 -Release: 0.2.rc1%{?dist} +Release: 1%{?dist} Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD Group: Development/Tools @@ -154,9 +154,7 @@ ExclusiveArch: %{kvm_archs} %define _smp_mflags %{nil} %endif -#Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 -Source0: http://wiki.qemu-project.org/download/%{name}-%{version}-rc1.tar.bz2 - +Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 Source1: qemu.binfmt @@ -201,6 +199,10 @@ Patch0012: 0012-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch Patch0013: 0013-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch Patch0014: 0014-virtio-pci-add-device_unplugged-callback.patch +# Fix qemu-img create with NBD backing file (bz #1034433) +# Patch posted upstream +Patch0101: 0101-block-Close-backing-file-early-in-bdrv_img_create.patch + BuildRequires: SDL-devel BuildRequires: zlib-devel BuildRequires: which @@ -396,19 +398,6 @@ Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units -# ceph added new symbol rbd_aio_flush which qemu wants to use, but ceph -# lacks symbol versioning so RPM doesn't pick up the dependency. -# Can probably be dropped after Fedora 20 beta -%if %{with rbd} -Requires: ceph-libs >= 0.61 -%endif - -# New symbol libssh2_sftp_fsync. -# Can probably be dropped after Fedora 20 beta. -%if 0%{?fedora} >= 20 -Requires: libssh2 >= 1.4.3-5 -%endif - %description common QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. @@ -712,7 +701,7 @@ CAC emulation development files. %endif %prep -%setup -q -n qemu-1.7.0-rc1 +%setup -q -n qemu-1.7.0 # Fix crash in lsi_soft_reset (bz #1000947) # Patches posted upstream @@ -734,6 +723,10 @@ CAC emulation development files. %patch0013 -p1 %patch0014 -p1 +# Fix qemu-img create with NBD backing file (bz #1034433) +# Patch posted upstream +%patch0101 -p1 + %build %if %{with kvmonly} @@ -901,6 +894,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/spapr-rtas.bin rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/s390-zipl.rom rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/s390-ccw.img %endif +%if 0%{!?system_sparc:1} +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/QEMU,tcx.bin +%endif # Provided by package ipxe rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*rom @@ -1370,6 +1366,7 @@ getent passwd qemu >/dev/null || \ %{_datadir}/systemtap/tapset/qemu-system-sparc64.stp %{_mandir}/man1/qemu-system-sparc.1* %{_mandir}/man1/qemu-system-sparc64.1* +%{_datadir}/%{name}/QEMU,tcx.bin %endif %if 0%{?system_ppc:1} @@ -1448,6 +1445,16 @@ getent passwd qemu >/dev/null || \ %endif %changelog +* Mon Dec 02 2013 Cole Robinson - 2:1.7.0-1 +- Fix qemu-img create with NBD backing file (bz #1034433) +- Rebase to qemu-1.7 GA +- New monitor command blockdev-add for full featured block device hotplug. +- Performance and functionality improvements for USB 3.0. +- Many VFIO improvements +- ACPI tables can be generated by QEMU and can be used by firmware directly. +- Support creating and writing .vhdx images. +- qemu-img map: dump detailed image file metadata + * Fri Nov 29 2013 Richard W.M. Jones - 2:1.7.0-0.2.rc1 - Run chrpath on binaries, so qemu can be built using rpmbuild.