From markmc at fedoraproject.org Tue Aug 4 14:36:21 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 4 Aug 2009 14:36:21 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-extboot-signrom.patch, NONE, 1.1 qemu.spec, 1.116, 1.117 Message-ID: <20090804143621.9162811C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5288 Modified Files: qemu.spec Added Files: qemu-fix-extboot-signrom.patch Log Message: * Tue Aug 4 2009 Mark McLoughlin - 2:0.10.91-0.3.rc1.rc0 - Fix extboot checksum (bug #514899) qemu-fix-extboot-signrom.patch: signrom.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- NEW FILE qemu-fix-extboot-signrom.patch --- >From 6fb154d7d16b25d70615d33dc30927ded148dd32 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Sat, 1 Aug 2009 11:48:31 +0200 Subject: [PATCH] Fix checksum writing in signboot.sh The printf command takes an octal value after \, so we have to convert our decimal representation to octal first and then write it. This unbreaks extboot signing. Multiboot wasn't affected yet because the checksum was < 8. Spotted and first patch by Glauber Costa . Printf idea by Paolo Bonzini . (cherry picked from commit d8b69b34761f7b3fb8f476712b631d1dd3f1b2a5) Signed-off-by: Alexander Graf CC: Glauber Costa CC: Paolo Bonzini CC: Jan Ondrej Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-extboot-signrom.patch --- pc-bios/optionrom/signrom.sh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/pc-bios/optionrom/signrom.sh b/pc-bios/optionrom/signrom.sh index 4322811..975b27d 100755 --- a/pc-bios/optionrom/signrom.sh +++ b/pc-bios/optionrom/signrom.sh @@ -39,7 +39,8 @@ done sum=$(( $sum % 256 )) sum=$(( 256 - $sum )) +sum_octal=$( printf "%o" $sum ) # and write the output file cp "$1" "$2" -printf "\\$sum" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/dev/null +printf "\\$sum_octal" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/dev/null -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.116 retrieving revision 1.117 diff -u -p -r1.116 -r1.117 --- qemu.spec 31 Jul 2009 15:12:00 -0000 1.116 +++ qemu.spec 4 Aug 2009 14:36:21 -0000 1.117 @@ -4,7 +4,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.91 -Release: 0.2.%{kvmvertag}%{?dist} +Release: 0.3.%{kvmvertag}%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -29,6 +29,9 @@ Patch03: qemu-fix-optionrom-install.patc # Add KSM support - see https://fedoraproject.org/wiki/Features/KSM Patch04: qemu-add-ksm-support.patch +# Fix extboot checksum (bug #514899) +Patch05: qemu-fix-extboot-signrom.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -213,6 +216,7 @@ such as kvmtrace and kvm_stat. %patch02 -p1 %patch03 -p1 %patch04 -p1 +%patch05 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -477,6 +481,9 @@ getent passwd qemu >/dev/null || \ %{_mandir}/man1/qemu-img.1* %changelog +* Tue Aug 4 2009 Mark McLoughlin - 2:0.10.91-0.3.rc1.rc0 +- Fix extboot checksum (bug #514899) + * Fri Jul 31 2009 Mark McLoughlin - 2:0.10.91-0.2.rc1.rc0 - Add KSM support - Require bochs-bios >= 2.3.8-0.8 for latest kvm bios updates From markmc at fedoraproject.org Tue Aug 4 14:48:16 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 4 Aug 2009 14:48:16 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-add-ksm-support.patch, 1.1, 1.2 qemu-bios-bigger-roms.patch, 1.9, 1.10 qemu-fix-extboot-signrom.patch, 1.1, 1.2 qemu-fix-linux-user-build-on-ppc.patch, 1.5, 1.6 qemu-fix-optionrom-install.patch, 1.1, 1.2 qemu.spec, 1.117, 1.118 sources, 1.19, 1.20 Message-ID: <20090804144816.7086811C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7895 Modified Files: qemu-add-ksm-support.patch qemu-bios-bigger-roms.patch qemu-fix-extboot-signrom.patch qemu-fix-linux-user-build-on-ppc.patch qemu-fix-optionrom-install.patch qemu.spec sources Log Message: * Tue Aug 4 2009 Mark McLoughlin - 2:0.10.91-0.4.rc1 - Update to qemu-kvm-0.11-rc1; no changes from rc1-rc0 qemu-add-ksm-support.patch: exec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: qemu-add-ksm-support.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-add-ksm-support.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-add-ksm-support.patch 31 Jul 2009 15:11:59 -0000 1.1 +++ qemu-add-ksm-support.patch 4 Aug 2009 14:48:15 -0000 1.2 @@ -1,4 +1,4 @@ -From 511a4f5ab30a36fdaa48fb0d146cfc3f123b4f0a Mon Sep 17 00:00:00 2001 +From 729b681039015c718e476b8f294480b179ed726d Mon Sep 17 00:00:00 2001 From: Izik Eidus Date: Tue, 28 Jul 2009 19:14:26 +0300 Subject: [PATCH] kvm userspace: ksm support qemu-bios-bigger-roms.patch: rombios.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) Index: qemu-bios-bigger-roms.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-bios-bigger-roms.patch,v retrieving revision 1.9 retrieving revision 1.10 diff -u -p -r1.9 -r1.10 --- qemu-bios-bigger-roms.patch 30 Jul 2009 16:28:52 -0000 1.9 +++ qemu-bios-bigger-roms.patch 4 Aug 2009 14:48:15 -0000 1.10 @@ -1,4 +1,4 @@ -From ad6bfcfe0292ac09aac0de729343dabf91c16f93 Mon Sep 17 00:00:00 2001 +From 7f871498235ac7591bd4398a745735081290c1a2 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Wed, 24 Jun 2009 14:31:41 +0100 Subject: [PATCH] compute checksum for roms bigger than a segment qemu-fix-extboot-signrom.patch: signrom.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: qemu-fix-extboot-signrom.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-fix-extboot-signrom.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-fix-extboot-signrom.patch 4 Aug 2009 14:36:21 -0000 1.1 +++ qemu-fix-extboot-signrom.patch 4 Aug 2009 14:48:15 -0000 1.2 @@ -1,4 +1,4 @@ -From 6fb154d7d16b25d70615d33dc30927ded148dd32 Mon Sep 17 00:00:00 2001 +From ee595f99ba7ff80b46a736a06f7e53998d926563 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Sat, 1 Aug 2009 11:48:31 +0200 Subject: [PATCH] Fix checksum writing in signboot.sh qemu-fix-linux-user-build-on-ppc.patch: elf.h | 2 ++ linux-user/elfload.c | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) Index: qemu-fix-linux-user-build-on-ppc.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-fix-linux-user-build-on-ppc.patch,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- qemu-fix-linux-user-build-on-ppc.patch 30 Jul 2009 16:28:52 -0000 1.5 +++ qemu-fix-linux-user-build-on-ppc.patch 4 Aug 2009 14:48:16 -0000 1.6 @@ -1,4 +1,4 @@ -From 6def4aea8b88f52de678ffca117ba70b1e6878c2 Mon Sep 17 00:00:00 2001 +From 1cdc8e879b1e2140cc48c1a76718c336f42b0a7d Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 29 Jun 2009 14:49:03 +0100 Subject: [PATCH] Fix linux-user build on ppc qemu-fix-optionrom-install.patch: Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: qemu-fix-optionrom-install.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-fix-optionrom-install.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-fix-optionrom-install.patch 30 Jul 2009 16:28:52 -0000 1.1 +++ qemu-fix-optionrom-install.patch 4 Aug 2009 14:48:16 -0000 1.2 @@ -1,4 +1,4 @@ -From e941daafed39ae5db507af42da8a35b60a8be363 Mon Sep 17 00:00:00 2001 +From b3f4aa7dc9fcee229a0f6943f9fae1a02daf3497 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 30 Jul 2009 17:17:43 +0100 Subject: [PATCH] Revert "Don't copy multiboot.bin into pc-bios after built" Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.117 retrieving revision 1.118 diff -u -p -r1.117 -r1.118 --- qemu.spec 4 Aug 2009 14:36:21 -0000 1.117 +++ qemu.spec 4 Aug 2009 14:48:16 -0000 1.118 @@ -1,18 +1,17 @@ -%define kvmvertag rc1.rc0 -%define kvmverfull kvm-0.11.0-rc1-rc0 +%define kvmvertag rc1 +%define kvmverfull kvm-0.11.0-rc1 Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.91 -Release: 0.3.%{kvmvertag}%{?dist} +Release: 0.4.%{kvmvertag}%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD Group: Development/Tools URL: http://www.qemu.org/ -Source0: http://markmc.fedorapeople.org/kvm/qemu-%{kvmverfull}.tar.gz -#Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-%{kvmverfull}.tar.gz +Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-%{kvmverfull}.tar.gz Source1: qemu.init Source2: kvm.modules Source3: 80-kvm.rules @@ -481,6 +480,9 @@ getent passwd qemu >/dev/null || \ %{_mandir}/man1/qemu-img.1* %changelog +* Tue Aug 4 2009 Mark McLoughlin - 2:0.10.91-0.4.rc1 +- Update to qemu-kvm-0.11-rc1; no changes from rc1-rc0 + * Tue Aug 4 2009 Mark McLoughlin - 2:0.10.91-0.3.rc1.rc0 - Fix extboot checksum (bug #514899) Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/sources,v retrieving revision 1.19 retrieving revision 1.20 diff -u -p -r1.19 -r1.20 --- sources 30 Jul 2009 16:28:52 -0000 1.19 +++ sources 4 Aug 2009 14:48:16 -0000 1.20 @@ -1 +1 @@ -d5196f06c21f77c72977ef04c6cb0ae4 qemu-kvm-0.11.0-rc1-rc0.tar.gz +bef21a81a3e81cfbaf92e9f2c4219575 qemu-kvm-0.11.0-rc1.tar.gz From markmc at fedoraproject.org Tue Aug 4 15:35:43 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 4 Aug 2009 15:35:43 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-11 .cvsignore, 1.16, 1.17 01-tls-handshake-fix.patch, 1.3, 1.4 02-vnc-monitor-info.patch, 1.3, 1.4 03-display-keymaps.patch, 1.3, 1.4 04-vnc-struct.patch, 1.3, 1.4 05-vnc-tls-vencrypt.patch, 1.3, 1.4 06-vnc-sasl.patch, 1.3, 1.4 07-vnc-monitor-authinfo.patch, 1.3, 1.4 08-vnc-acl-mgmt.patch, 1.3, 1.4 kvm-upstream-ppc.patch, 1.5, 1.6 qemu.spec, 1.98, 1.99 sources, 1.16, 1.17 qemu-fix-net-socket-list-init.patch, 1.2, NONE qemu-prevent-cdrom-media-eject-while-device-is-locked.patch, 1.2, NONE Message-ID: <20090804153543.84B9B11C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17529 Modified Files: .cvsignore 01-tls-handshake-fix.patch 02-vnc-monitor-info.patch 03-display-keymaps.patch 04-vnc-struct.patch 05-vnc-tls-vencrypt.patch 06-vnc-sasl.patch 07-vnc-monitor-authinfo.patch 08-vnc-acl-mgmt.patch kvm-upstream-ppc.patch qemu.spec sources Removed Files: qemu-fix-net-socket-list-init.patch qemu-prevent-cdrom-media-eject-while-device-is-locked.patch Log Message: * Tue Aug 4 2009 Mark McLoughlin - 2:0.10.6-1 - Update to qemu-kvm-0.10.6; upstream ChangeLog: - merge qemu 0.10.6 - fix -net socket,listen - live migration: don't send gratuitous packets all at once - serial: fix lost characters after sysrq - Delete io-handler before closing fd after migration - Fix qemu_aio_flush - i386: fix cpu reset - Prevent CD-ROM eject while device is locked - Fix migration after hot remove with eepro100 - Don't start a VM after failed migration if stopped - Fix live migration under heavy IO load - Honor -S on incoming migration - Reset PS2 keyboard/mouse on reset - build and install extboot - Drop upstreamed qemu-prevent-cdrom-media-eject-while-device-is-locked.patch and qemu-fix-net-socket-list-init.patch and Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/.cvsignore,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -r1.16 -r1.17 --- .cvsignore 31 May 2009 14:42:32 -0000 1.16 +++ .cvsignore 4 Aug 2009 15:35:42 -0000 1.17 @@ -1 +1 @@ -qemu-kvm-0.10.5.tar.gz +qemu-kvm-*.tar.gz 01-tls-handshake-fix.patch: vnc.c | 9 --------- 1 file changed, 9 deletions(-) Index: 01-tls-handshake-fix.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/01-tls-handshake-fix.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 01-tls-handshake-fix.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 01-tls-handshake-fix.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From b7f419eee93569ef0c31c868fa24108d31e66bff Mon Sep 17 00:00:00 2001 +From 6b55d3e74400c9f7e71739abd0dac362a5db1dc6 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:02 +0000 -Subject: [PATCH 01/18] Fix bug in TLS authentication ("Daniel P. Berrange") +Subject: [PATCH] Fix bug in TLS authentication ("Daniel P. Berrange") This patch was previously posted here: @@ -26,12 +26,13 @@ this patch. Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 01-tls-handshake-fix.patch --- vnc.c | 8 -------- 1 files changed, 0 insertions(+), 8 deletions(-) diff --git a/vnc.c b/vnc.c -index 783df80..18a7ad9 100644 +index 1d8ebe7..d6a7225 100644 --- a/vnc.c +++ b/vnc.c @@ -2105,14 +2105,6 @@ static int protocol_client_vencrypt_auth(VncState *vs, uint8_t *data, size_t len @@ -50,5 +51,5 @@ index 783df80..18a7ad9 100644 return 0; } -- -1.6.2.2 +1.6.2.5 02-vnc-monitor-info.patch: vnc.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 128 insertions(+), 12 deletions(-) Index: 02-vnc-monitor-info.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/02-vnc-monitor-info.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 02-vnc-monitor-info.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 02-vnc-monitor-info.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From a3eb32f433a958afac931e04ce899d004744f5e0 Mon Sep 17 00:00:00 2001 +From b4b2ff2fbd7e6458fbfa8f2e6af7d1b668a06a1a Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:05 +0000 -Subject: [PATCH 02/18] Enhance 'info vnc' monitor output ("Daniel P. Berrange") +Subject: [PATCH] Enhance 'info vnc' monitor output ("Daniel P. Berrange") The current 'info vnc' monitor output just displays the VNC server address as provided by the -vnc command line flag. This isn't particularly useful @@ -42,12 +42,13 @@ important. Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 02-vnc-monitor-info.patch --- vnc.c | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 128 insertions(+), 11 deletions(-) diff --git a/vnc.c b/vnc.c -index 18a7ad9..3e9417d 100644 +index d6a7225..d7d9b91 100644 --- a/vnc.c +++ b/vnc.c @@ -166,19 +166,136 @@ struct VncState @@ -199,5 +200,5 @@ index 18a7ad9..3e9417d 100644 } -- -1.6.2.2 +1.6.2.5 03-display-keymaps.patch: Makefile | 9 +++++--- curses.c | 3 -- curses_keys.h | 9 +++----- keymaps.c | 45 ++++++++++++++++--------------------------- keymaps.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sdl.c | 3 -- sdl_keysym.h | 7 ++---- vnc.c | 5 +--- vnc_keysym.h | 8 ++----- 9 files changed, 97 insertions(+), 52 deletions(-) Index: 03-display-keymaps.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/03-display-keymaps.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 03-display-keymaps.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 03-display-keymaps.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From 6fc44b90006f1bf4763088c4eacd1efec428759b Mon Sep 17 00:00:00 2001 +From 202790c357fcff7f1222f4e7777e0cf561b516d5 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:10 +0000 -Subject: [PATCH 03/18] Refactor keymap code to avoid duplication ("Daniel P. Berrange") +Subject: [PATCH] Refactor keymap code to avoid duplication ("Daniel P. Berrange") Each of the graphical frontends #include a .c file, for keymap code resulting in duplicated definitions & duplicated compiled code. A @@ -16,6 +16,7 @@ causing clashing definitions. Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 03-display-keymaps.patch --- Makefile | 9 +++++-- curses.c | 3 +- @@ -30,7 +31,7 @@ Signed-off-by: Mark McLoughlin ds = ds; if (keyboard_layout) @@ -361,5 +362,5 @@ index ce355d8..2d255c9 100644 /* ascii */ { "space", 0x020}, -- -1.6.2.2 +1.6.2.5 04-vnc-struct.patch: vnc.c | 109 ----------------------------------------------- vnc.h | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 148 insertions(+), 111 deletions(-) Index: 04-vnc-struct.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/04-vnc-struct.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 04-vnc-struct.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 04-vnc-struct.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From c1b31361bfecd3f67e8766d8df2510c801f536f4 Mon Sep 17 00:00:00 2001 +From 35b87b5d1543c563c09361086519ebdc960d4934 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:13 +0000 -Subject: [PATCH 04/18] Move VNC structs into header file ("Daniel P. Berrange") +Subject: [PATCH] Move VNC structs into header file ("Daniel P. Berrange") This patch moves the definitions of VncState and VncDisplay structs out into a vnc.h header file. This is to allow the code for TLS @@ -12,13 +12,14 @@ and SASL auth mechanisms to be moved out Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 04-vnc-struct.patch --- vnc.c | 109 +---------------------------------------------- vnc.h | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 148 insertions(+), 110 deletions(-) diff --git a/vnc.c b/vnc.c -index aafefd8..a9b8d63 100644 +index 969d5b0..7fb31b6 100644 --- a/vnc.c +++ b/vnc.c @@ -3,6 +3,7 @@ @@ -322,5 +323,5 @@ index 6981606..eb33643 100644 -#endif /* __VNCTIGHT_H */ +#endif /* __QEMU_VNC_H */ -- -1.6.2.2 +1.6.2.5 05-vnc-tls-vencrypt.patch: Makefile | 11 vnc-auth-vencrypt.c | 167 ++++++++++++++ vnc-auth-vencrypt.h | 33 ++ vnc-tls.c | 414 +++++++++++++++++++++++++++++++++++++ vnc-tls.h | 70 ++++++ vnc.c | 581 +++------------------------------------------------- vnc.h | 77 ++++-- 7 files changed, 780 insertions(+), 573 deletions(-) Index: 05-vnc-tls-vencrypt.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/05-vnc-tls-vencrypt.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 05-vnc-tls-vencrypt.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 05-vnc-tls-vencrypt.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From 9d5f4a68ddb05d823ef1fde787ac027715fe1f95 Mon Sep 17 00:00:00 2001 +From af17025ce83b924f666617294606ec5ad1a9e833 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:23 +0000 -Subject: [PATCH 05/18] Move TLS auth into separate file ("Daniel P. Berrange") +Subject: [PATCH] Move TLS auth into separate file ("Daniel P. Berrange") This patch refactors the existing TLS code to make the main VNC code more managable. The code moves to two new files @@ -33,6 +33,7 @@ gnutls_send/recv. Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 05-vnc-tls-vencrypt.patch --- Makefile | 11 +- vnc-auth-vencrypt.c | 167 +++++++++++++++ @@ -48,7 +49,7 @@ Signed-off-by: Mark McLoughlin vd->auth == VNC_AUTH_VNC) { VNC_DEBUG("Tell client VNC auth\n"); vnc_write_u32(vs, vs->vd->auth); -@@ -2337,61 +1883,6 @@ void vnc_display_init(DisplayState *ds) +@@ -2336,61 +1882,6 @@ void vnc_display_init(DisplayState *ds) register_displaychangelistener(ds, dcl); } @@ -1538,7 +1539,7 @@ index a9b8d63..f1c2d61 100644 void vnc_display_close(DisplayState *ds) { -@@ -2411,7 +1902,7 @@ void vnc_display_close(DisplayState *ds) +@@ -2410,7 +1901,7 @@ void vnc_display_close(DisplayState *ds) vs->auth = VNC_AUTH_INVALID; #ifdef CONFIG_VNC_TLS vs->subauth = VNC_AUTH_INVALID; @@ -1547,7 +1548,7 @@ index a9b8d63..f1c2d61 100644 #endif } -@@ -2467,7 +1958,7 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -2466,7 +1957,7 @@ int vnc_display_open(DisplayState *ds, const char *display) char *start, *end; x509 = 1; /* Require x509 certificates */ if (strncmp(options, "x509verify", 10) == 0) @@ -1556,7 +1557,7 @@ index a9b8d63..f1c2d61 100644 /* Now check for 'x509=/some/path' postfix * and use that to setup x509 certificate/key paths */ -@@ -2478,7 +1969,7 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -2477,7 +1968,7 @@ int vnc_display_open(DisplayState *ds, const char *display) char *path = qemu_strndup(start + 1, len); VNC_DEBUG("Trying certificate path '%s'\n", path); @@ -1695,5 +1696,5 @@ index eb33643..d69b295 100644 + #endif /* __QEMU_VNC_H */ -- -1.6.2.2 +1.6.2.5 06-vnc-sasl.patch: Makefile | 7 Makefile.target | 5 configure | 34 ++ qemu-doc.texi | 97 ++++++++ qemu.sasl | 34 ++ vnc-auth-sasl.c | 626 ++++++++++++++++++++++++++++++++++++++++++++++++++++ vnc-auth-sasl.h | 67 +++++ vnc-auth-vencrypt.c | 12 vnc.c | 249 ++++++++++++++++++-- vnc.h | 32 ++ 10 files changed, 1129 insertions(+), 34 deletions(-) Index: 06-vnc-sasl.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/06-vnc-sasl.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 06-vnc-sasl.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 06-vnc-sasl.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From 95b704fb6b2a9a7f62bbbfd1b9fd2e23d1c428a5 Mon Sep 17 00:00:00 2001 +From 1b4f956f40315ecc756e34cdeb923424c7095684 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:28 +0000 -Subject: [PATCH 06/18] Add SASL authentication support ("Daniel P. Berrange") +Subject: [PATCH] Add SASL authentication support ("Daniel P. Berrange") This patch adds the new SASL authentication protocol to the VNC server. @@ -69,6 +69,7 @@ if found, unless --disable-vnc-sasl was Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 06-vnc-sasl.patch --- Makefile | 7 +- Makefile.target | 5 + @@ -86,7 +87,7 @@ Signed-off-by: Mark McLoughlin vd->auth); vnc_write_u8(vs, 1); -@@ -1932,6 +2072,10 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -1931,6 +2071,10 @@ int vnc_display_open(DisplayState *ds, const char *display) #ifdef CONFIG_VNC_TLS int tls = 0, x509 = 0; #endif @@ -1444,7 +1445,7 @@ index f1c2d61..33671fd 100644 if (!vnc_display) return -1; -@@ -1951,6 +2095,10 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -1950,6 +2094,10 @@ int vnc_display_open(DisplayState *ds, const char *display) reverse = 1; } else if (strncmp(options, "to=", 3) == 0) { to_port = atoi(options+3) + 5900; @@ -1455,7 +1456,7 @@ index f1c2d61..33671fd 100644 #ifdef CONFIG_VNC_TLS } else if (strncmp(options, "tls", 3) == 0) { tls = 1; /* Require TLS */ -@@ -1987,6 +2135,22 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -1986,6 +2134,22 @@ int vnc_display_open(DisplayState *ds, const char *display) } } @@ -1478,7 +1479,7 @@ index f1c2d61..33671fd 100644 if (password) { #ifdef CONFIG_VNC_TLS if (tls) { -@@ -1999,13 +2163,34 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -1998,13 +2162,34 @@ int vnc_display_open(DisplayState *ds, const char *display) vs->subauth = VNC_AUTH_VENCRYPT_TLSVNC; } } else { @@ -1515,7 +1516,7 @@ index f1c2d61..33671fd 100644 } else { #ifdef CONFIG_VNC_TLS if (tls) { -@@ -2027,6 +2212,16 @@ int vnc_display_open(DisplayState *ds, const char *display) +@@ -2026,6 +2211,16 @@ int vnc_display_open(DisplayState *ds, const char *display) #endif } @@ -1615,5 +1616,5 @@ index d69b295..ca39c23 100644 + #endif /* __QEMU_VNC_H */ -- -1.6.2.2 +1.6.2.5 07-vnc-monitor-authinfo.patch: vnc-tls.c | 17 +++++++++++++++++ vnc-tls.h | 3 +++ vnc.c | 20 +++++++++++++++++--- 3 files changed, 37 insertions(+), 3 deletions(-) Index: 07-vnc-monitor-authinfo.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/07-vnc-monitor-authinfo.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 07-vnc-monitor-authinfo.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 07-vnc-monitor-authinfo.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From 9e9226fb865ada61b8b0a6c2c5526fdedfd4d608 Mon Sep 17 00:00:00 2001 +From e61c19737387273e305a2da5c9b28fe42e2eef67 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:32 +0000 -Subject: [PATCH 07/18] Include auth credentials in 'info vnc' ("Daniel P. Berrange") +Subject: [PATCH] Include auth credentials in 'info vnc' ("Daniel P. Berrange") This patch extends the 'info vnc' monitor output to include information about the VNC client authentication credentials. @@ -30,6 +30,7 @@ Auth can be stacked, so both username & Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 07-vnc-monitor-authinfo.patch --- vnc-tls.c | 17 +++++++++++++++++ vnc-tls.h | 3 +++ @@ -86,7 +87,7 @@ index cda95b9..fd0a2d9 100644 int vnc_tls_client_setup(VncState *vs, int x509Creds); diff --git a/vnc.c b/vnc.c -index 33671fd..da68842 100644 +index 3c315d6..9f0e16b 100644 --- a/vnc.c +++ b/vnc.c @@ -156,6 +156,21 @@ static void do_info_vnc_client(VncState *client) @@ -130,5 +131,5 @@ index 33671fd..da68842 100644 if (vs->minor >= 8) { static const char err[] = "Authentication failed"; -- -1.6.2.2 +1.6.2.5 08-vnc-acl-mgmt.patch: Makefile | 6 + acl.c | 185 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ acl.h | 74 ++++++++++++++++++++++ configure | 18 +++++ monitor.c | 96 +++++++++++++++++++++++++++++ qemu-doc.texi | 49 ++++++++++++++ vnc-auth-sasl.c | 16 +++- vnc-auth-sasl.h | 7 ++ vnc-tls.c | 19 +++++ vnc-tls.h | 3 vnc.c | 21 ++++++ vnc.h | 4 - 12 files changed, 492 insertions(+), 6 deletions(-) Index: 08-vnc-acl-mgmt.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/08-vnc-acl-mgmt.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- 08-vnc-acl-mgmt.patch 24 Jun 2009 16:43:44 -0000 1.3 +++ 08-vnc-acl-mgmt.patch 4 Aug 2009 15:35:42 -0000 1.4 @@ -1,7 +1,7 @@ -From 5fd8471df80cfd1e868ea50125065536c8fe900c Mon Sep 17 00:00:00 2001 +From e71cbebb569fa3d9b285a03a72802609b43bd6e9 Mon Sep 17 00:00:00 2001 From: aliguori Date: Fri, 6 Mar 2009 20:27:37 +0000 -Subject: [PATCH 08/18] Support ACLs for controlling VNC access ("Daniel P. Berrange") +Subject: [PATCH] Support ACLs for controlling VNC access ("Daniel P. Berrange") This patch introduces a generic internal API for access control lists to be used by network servers in QEMU. It adds support for checking @@ -70,6 +70,7 @@ starting up Signed-off-by: Daniel P. Berrange Signed-off-by: Anthony Liguori Signed-off-by: Mark McLoughlin +Fedora-patch: 08-vnc-acl-mgmt.patch --- Makefile | 6 +- acl.c | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -88,7 +89,7 @@ Signed-off-by: Mark McLoughlin Date: Wed, 24 Jun 2009 14:22:57 +0100 -Subject: [PATCH 09/18] use KVM_UPSTREAM for ppc. +Subject: [PATCH] use KVM_UPSTREAM for ppc. ppc should compile with upstream qemu code, so, put these defines in ppc specific code that references kvm functions. @@ -12,6 +12,7 @@ and would break compilation. Signed-off-by: Glauber Costa Signed-off-by: Mark McLoughlin +Fedora-patch: kvm-upstream-ppc.patch --- hw/ppc440.c | 1 + hw/ppc440_bamboo.c | 1 + @@ -68,5 +69,5 @@ index e02dcb0..027c8e7 100644 //#define DEBUG_MMU -- -1.6.2.2 +1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu.spec,v retrieving revision 1.98 retrieving revision 1.99 diff -u -p -r1.98 -r1.99 --- qemu.spec 17 Jun 2009 12:02:48 -0000 1.98 +++ qemu.spec 4 Aug 2009 15:35:42 -0000 1.99 @@ -1,14 +1,14 @@ Summary: QEMU is a FAST! processor emulator Name: qemu -Version: 0.10.5 -Release: 3%{?dist} +Version: 0.10.6 +Release: 1%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD Group: Development/Tools URL: http://www.qemu.org/ -Source0: http://download.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz +Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz Source1: qemu.init Source2: kvm.modules @@ -27,10 +27,8 @@ Patch11: qemu-roms-more-room.patch Patch12: qemu-roms-more-room-fix-vga-align.patch Patch13: qemu-bios-bigger-roms.patch Patch14: qemu-kvm-fix-kerneldir-includes.patch -Patch15: qemu-fix-net-socket-list-init.patch -Patch16: qemu-prevent-cdrom-media-eject-while-device-is-locked.patch -Patch17: qemu-avoid-harmless-msr-warnings.patch -Patch18: qemu-ppc-on-ppc.patch +Patch15: qemu-avoid-harmless-msr-warnings.patch +Patch16: qemu-ppc-on-ppc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel @@ -227,8 +225,6 @@ such as kvmtrace and kvm_stat. %patch14 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 -%patch18 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -471,6 +467,25 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue Aug 4 2009 Mark McLoughlin - 2:0.10.6-1 +- Update to qemu-kvm-0.10.6; upstream ChangeLog: + - merge qemu 0.10.6 + - fix -net socket,listen + - live migration: don't send gratuitous packets all at once + - serial: fix lost characters after sysrq + - Delete io-handler before closing fd after migration + - Fix qemu_aio_flush + - i386: fix cpu reset + - Prevent CD-ROM eject while device is locked + - Fix migration after hot remove with eepro100 + - Don't start a VM after failed migration if stopped + - Fix live migration under heavy IO load + - Honor -S on incoming migration + - Reset PS2 keyboard/mouse on reset + - build and install extboot +- Drop upstreamed qemu-prevent-cdrom-media-eject-while-device-is-locked.patch + and qemu-fix-net-socket-list-init.patch and + * Wed Jun 17 2009 Mark McLoughlin - 2:0.10.5-3 - ppc-on-ppc fix (#504273) - Fix -kernel regression (#506443) Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/sources,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -r1.16 -r1.17 --- sources 31 May 2009 14:42:34 -0000 1.16 +++ sources 4 Aug 2009 15:35:42 -0000 1.17 @@ -1 +1 @@ -e59ca20604ca8892d8f99b9fc5a159c1 qemu-kvm-0.10.5.tar.gz +704101efb98a271763342ef5b187a3bd qemu-kvm-0.10.6.tar.gz --- qemu-fix-net-socket-list-init.patch DELETED --- --- qemu-prevent-cdrom-media-eject-while-device-is-locked.patch DELETED --- From kraxel at fedoraproject.org Wed Aug 5 11:49:57 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Wed, 5 Aug 2009 11:49:57 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel xen-no-werror.patch, NONE, 1.1 xen.spec, 1.239, 1.240 Message-ID: <20090805114957.3C0A011C008C@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27722 Modified Files: xen.spec Added Files: xen-no-werror.patch Log Message: fix build xen-no-werror.patch: Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE xen-no-werror.patch --- diff -up xen-3.4.0/tools/libxc/Makefile.werror xen-3.4.0/tools/libxc/Makefile --- xen-3.4.0/tools/libxc/Makefile.werror 2009-08-05 13:40:32.000000000 +0200 +++ xen-3.4.0/tools/libxc/Makefile 2009-08-05 13:40:52.000000000 +0200 @@ -52,7 +52,7 @@ GUEST_SRCS-$(CONFIG_IA64) += xc_dom_i -include $(XEN_TARGET_ARCH)/Makefile -CFLAGS += -Werror -Wmissing-prototypes +CFLAGS += -Wmissing-prototypes CFLAGS += $(INCLUDES) -I. -I../xenstore -I../include # Needed for posix_fadvise64() in xc_linux.c Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.239 retrieving revision 1.240 diff -u -p -r1.239 -r1.240 --- xen.spec 27 Jul 2009 07:47:01 -0000 1.239 +++ xen.spec 5 Aug 2009 11:49:56 -0000 1.240 @@ -6,7 +6,7 @@ Summary: Xen is a virtual machine monitor Name: xen Version: 3.4.0 -Release: 3%{?dist} +Release: 4%{?dist} Group: Development/Libraries License: GPLv2+ and LGPLv2+ and BSD URL: http://xen.org/ @@ -36,6 +36,8 @@ Patch3: xen-xenstore-cli.patch Patch4: xen-dumpdir.patch Patch5: xen-net-disable-iptables-on-bridge.patch +Patch10: xen-no-werror.patch + Patch100: xen-configure-xend.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -132,6 +134,8 @@ which manage Xen virtual machines. %patch4 -p1 %patch5 -p1 +%patch10 -p1 + %patch100 -p1 # stubdom sources @@ -190,6 +194,9 @@ done # README's not intended for end users rm -f %{buildroot}/%{_sysconfdir}/xen/README* +# standard gnu info files +rm -rf %{buildroot}/usr/info + ############ fixup files in /etc ############ # udev @@ -219,14 +226,6 @@ install -m 644 %{SOURCE30} %{buildroot}% install -m 644 %{SOURCE31} %{buildroot}%{_sysconfdir}/sysconfig/xenconsoled install -m 644 %{SOURCE32} %{buildroot}%{_sysconfdir}/sysconfig/blktapctrl -############ fixup info files ############ - -mkdir -p %{buildroot}/usr/share/info -for info in %{buildroot}/usr/info/*info*; do - mv "$info" "%{buildroot}/usr/share/info/xen-$(basename $info)" -done -rmdir %{buildroot}/usr/info - ############ create dirs in /var ############ mkdir -p %{buildroot}%{_localstatedir}/lib/xen/xend-db/domain @@ -280,16 +279,6 @@ fi %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig -%post doc -/sbin/install-info --info-dir=/usr/share/info /usr/share/info/xen-configure.info -/sbin/install-info --info-dir=/usr/share/info /usr/share/info/xen-standards.info - -%preun doc -if [ $1 = 0 ]; then - /sbin/install-info --delete --info-dir=/usr/share/info /usr/share/info/xen-configure.info - /sbin/install-info --delete --info-dir=/usr/share/info /usr/share/info/xen-standards.info -fi - %clean rm -rf %{buildroot} @@ -450,7 +439,6 @@ rm -rf %{buildroot} %doc docs/misc/ %doc dist/install/usr/share/doc/xen/html %doc dist/install/usr/share/doc/xen/pdf/*.pdf -/usr/share/info/*info* %files devel %defattr(-,root,root) @@ -461,6 +449,10 @@ rm -rf %{buildroot} %{_libdir}/*.a %changelog +* Wed Aug 5 2009 Gerd Hoffmann - 3.4.0-4 +- Kill info files. No xen docs, just standard gnu stuff. +- kill -Werror in tools/libxc to fix build. + * Mon Jul 27 2009 Fedora Release Engineering - 3.4.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From kraxel at fedoraproject.org Wed Aug 5 14:38:11 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Wed, 5 Aug 2009 14:38:11 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xenner/devel xenner.spec,1.42,1.43 Message-ID: <20090805143811.183DC11C0349@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xenner/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7743 Modified Files: xenner.spec Log Message: Add BuildRequires: libuuid-devel Index: xenner.spec =================================================================== RCS file: /cvs/pkgs/rpms/xenner/devel/xenner.spec,v retrieving revision 1.42 retrieving revision 1.43 diff -u -p -r1.42 -r1.43 --- xenner.spec 27 Jul 2009 07:47:14 -0000 1.42 +++ xenner.spec 5 Aug 2009 14:38:10 -0000 1.43 @@ -1,7 +1,7 @@ Name: xenner License: GPLv2+ Version: 0.47 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Xen emulator for kvm Group: Applications/Emulators Source0: http://dl.bytesex.org/releases/%{name}/%{name}-%{version}.tar.gz @@ -12,6 +12,7 @@ Buildroot: %{_tmppath}/root-%{name}-% ExclusiveArch: %{ix86} x86_64 BuildRequires: xen-devel BuildRequires: e2fsprogs-devel +BuildRequires: libuuid-devel BuildRequires: libaio-devel BuildRequires: zlib-devel BuildRequires: python util-linux-ng @@ -56,6 +57,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Aug 3 2009 Gerd Hoffmann - 0.47-3.fc10 +- Add BuildRequires: libuuid-devel + * Mon Jul 27 2009 Fedora Release Engineering - 0.47-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From veillard at fedoraproject.org Wed Aug 5 15:24:45 2009 From: veillard at fedoraproject.org (Daniel Veillard) Date: Wed, 5 Aug 2009 15:24:45 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel .cvsignore, 1.44, 1.45 libvirt.spec, 1.162, 1.163 sources, 1.45, 1.46 libvirt-fix-permissions-problem-starting-qemu.patch, 1.1, NONE Message-ID: <20090805152445.AA20511C0349@cvs1.fedora.phx.redhat.com> Author: veillard Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20379 Modified Files: .cvsignore libvirt.spec sources Removed Files: libvirt-fix-permissions-problem-starting-qemu.patch Log Message: - Upstream release of 0.7.0 - ESX, VBox3, Power Hypervisor drivers - new net filesystem glusterfs - Storage cloning for LVM and Disk backends - interface implementation based on netcf - Support cgroups in QEMU driver - QEmu hotplug NIC support - a lot of fixes Daniel Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/.cvsignore,v retrieving revision 1.44 retrieving revision 1.45 diff -u -p -r1.44 -r1.45 --- .cvsignore 29 Jul 2009 14:58:18 -0000 1.44 +++ .cvsignore 5 Aug 2009 15:24:45 -0000 1.45 @@ -11,3 +11,4 @@ libvirt-0.6.4.tar.gz libvirt-0.6.5.tar.gz libvirt-0.7.0-0.1.gitf055724.tar.gz libvirt-0.7.0-0.6.gite195b43.tar.gz +libvirt-0.7.0.tar.gz Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.162 retrieving revision 1.163 diff -u -p -r1.162 -r1.163 --- libvirt.spec 31 Jul 2009 08:55:24 -0000 1.162 +++ libvirt.spec 5 Aug 2009 15:24:45 -0000 1.163 @@ -78,13 +78,10 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.0 -Release: 0.9.gite195b43%{?dist}%{?extra_release} +Release: 1%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries -Source: libvirt-0.7.0-0.6.gite195b43.tar.gz - -# Should be in 0.7.0 -Patch01: libvirt-fix-permissions-problem-starting-qemu.patch +Source: libvirt-%{version}.tar.gz # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) @@ -255,8 +252,6 @@ of recent versions of Linux (and other O %prep %setup -q -%patch01 -p1 - %patch200 -p0 %build @@ -617,6 +612,16 @@ fi %endif %changelog +* Wed Aug 5 2009 Daniel Veillard - 0.7.0-1.fc12 +- Upstream release of 0.7.0 +- ESX, VBox3, Power Hypervisor drivers +- new net filesystem glusterfs +- Storage cloning for LVM and Disk backends +- interface implementation based on netcf +- Support cgroups in QEMU driver +- QEmu hotplug NIC support +- a lot of fixes + * Fri Jul 31 2009 Mark McLoughlin - 0.7.0-0.9.gite195b43 - Set perms on /var/lib/libvirt/images to 0711 Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/sources,v retrieving revision 1.45 retrieving revision 1.46 diff -u -p -r1.45 -r1.46 --- sources 29 Jul 2009 14:58:18 -0000 1.45 +++ sources 5 Aug 2009 15:24:45 -0000 1.46 @@ -1 +1 @@ -30d52d580ad19473e80831ab1c222347 libvirt-0.7.0-0.6.gite195b43.tar.gz +8c2c14a7695c9c661004bcfc6468d62d libvirt-0.7.0.tar.gz --- libvirt-fix-permissions-problem-starting-qemu.patch DELETED --- From berrange at fedoraproject.org Wed Aug 5 15:48:14 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Wed, 5 Aug 2009 15:48:14 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt-0.6.2-buf-locale-escape.patch, NONE, 1.1 libvirt-0.6.2-hotplug-labelling.patch, NONE, 1.1 libvirt-0.6.2-hotplug-monitor-syntax.patch, NONE, 1.1 libvirt-0.6.2-monitor-prompt-discard.patch, NONE, 1.1 libvirt-0.6.2-pci-device-crash.patch, NONE, 1.1 libvirt-0.6.2-qemu-name-uniqueness.patch, NONE, 1.1 libvirt.spec, 1.135, 1.136 Message-ID: <20090805154814.6F5CC11C0349@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27721 Modified Files: libvirt.spec Added Files: libvirt-0.6.2-buf-locale-escape.patch libvirt-0.6.2-hotplug-labelling.patch libvirt-0.6.2-hotplug-monitor-syntax.patch libvirt-0.6.2-monitor-prompt-discard.patch libvirt-0.6.2-pci-device-crash.patch libvirt-0.6.2-qemu-name-uniqueness.patch Log Message: Misc important fixes from BZ - Fix crash when attaching/detaching non-existant PCI device (rhbz #510907) - Fix QEMU guest name/uuid uniqueness checks (rhbz #507405) - Fix to use correct pci_add/del syntax for QEMU (rhbz #499669) - Relabel disks before hotplugging them to guest (rhbz #496442) - Correctly handle 8-bit high bytes when escaping XML (rhbz #479517) libvirt-0.6.2-buf-locale-escape.patch: buf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE libvirt-0.6.2-buf-locale-escape.patch --- commit 8feb499ba2c3625632210c997b49f5df515c05d4 Author: Daniel P. Berrange Date: Tue Aug 4 18:13:09 2009 +0100 Fix escaping of 8-bit high characters Fix https://bugzilla.redhat.com/show_bug.cgi?id=479517 * src/buf.c: Cast to 'unsigned char' before doing compare to avoid rejecting 8-bit high characters diff --git a/src/buf.c b/src/buf.c index 259175d..c802aa2 100644 --- a/src/buf.c +++ b/src/buf.c @@ -304,7 +304,7 @@ virBufferEscapeString(const virBufferPtr buf, const char *format, const char *st *out++ = 'o'; *out++ = 's'; *out++ = ';'; - } else if ((*cur >= 0x20) || (*cur == '\n') || (*cur == '\t') || + } else if (((unsigned char)*cur >= 0x20) || (*cur == '\n') || (*cur == '\t') || (*cur == '\r')) { /* * default case, just copy ! libvirt-0.6.2-hotplug-labelling.patch: qemu_driver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- NEW FILE libvirt-0.6.2-hotplug-labelling.patch --- commit 1795bfe4a177a5eff1b3b0a16d56df6f371c0f8e Author: Daniel P. Berrange Date: Mon Jul 6 16:01:55 2009 +0100 Fix SELinux denial during hotplug * src/qemu_driver.c: Relabel disk images *before* running QEMU hotplug monitor commands diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 5a0ab12..342ba01 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4225,10 +4225,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom, switch (dev->data.disk->device) { case VIR_DOMAIN_DISK_DEVICE_CDROM: case VIR_DOMAIN_DISK_DEVICE_FLOPPY: + if (driver->securityDriver) + driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk); ret = qemudDomainChangeEjectableMedia(dom->conn, vm, dev); break; case VIR_DOMAIN_DISK_DEVICE_DISK: + if (driver->securityDriver) + driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk); if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_USB) { ret = qemudDomainAttachUsbMassstorageDevice(dom->conn, vm, dev); } else if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_SCSI || @@ -4240,8 +4244,6 @@ static int qemudDomainAttachDevice(virDomainPtr dom, virDomainDiskBusTypeToString(dev->data.disk->bus)); goto cleanup; } - if (driver->securityDriver) - driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk); break; default: libvirt-0.6.2-hotplug-monitor-syntax.patch: qemu_driver.c | 56 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 14 deletions(-) --- NEW FILE libvirt-0.6.2-hotplug-monitor-syntax.patch --- commit 326ecb78145cfeb7706ef0dcd521b19d934950e7 Author: Daniel P. Berrange Date: Mon Jul 6 15:58:55 2009 +0100 Fix PCI device hotplug/unplug with newer QEMU * src/qemu_driver.c: Try new monitor syntax for hotplug first. If that fails fallback to old KVM specific syntax diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 2e55045..5a0ab12 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4004,6 +4004,7 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, char *cmd, *reply, *s; char *safe_path; const char* type = virDomainDiskBusTypeToString(dev->data.disk->bus); + int tryOldSyntax = 0; for (i = 0 ; i < vm->def->ndisks ; i++) { if (STREQ(vm->def->disks[i]->dst, dev->data.disk->dst)) { @@ -4018,14 +4019,15 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, return -1; } +try_command: safe_path = qemudEscapeMonitorArg(dev->data.disk->src); if (!safe_path) { virReportOOMError(conn); return -1; } - ret = virAsprintf(&cmd, "pci_add 0 storage file=%s,if=%s", - safe_path, type); + ret = virAsprintf(&cmd, "pci_add %s storage file=%s,if=%s", + (tryOldSyntax ? "0": "pci_addr=auto"), safe_path, type); VIR_FREE(safe_path); if (ret == -1) { virReportOOMError(conn); @@ -4041,17 +4043,27 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, DEBUG ("%s: pci_add reply: %s", vm->def->name, reply); /* If the command succeeds qemu prints: - * OK bus 0... */ -#define PCI_ATTACH_OK_MSG "OK bus 0, slot " - if ((s=strstr(reply, PCI_ATTACH_OK_MSG))) { - char* dummy = s; - s += strlen(PCI_ATTACH_OK_MSG); + * OK bus 0, slot XXX... + * or + * OK domain 0, bus 0, slot XXX + */ + if ((s = strstr(reply, "OK ")) && + (s = strstr(s, "slot "))) { + char *dummy = s; + s += strlen("slot "); if (virStrToLong_i ((const char*)s, &dummy, 10, &dev->data.disk->slotnum) == -1) VIR_WARN("%s", _("Unable to parse slot number\n")); + /* XXX not neccessarily always going to end up in domain 0 / bus 0 :-( */ + /* XXX this slotnum is not persistant across restarts :-( */ + } else if (!tryOldSyntax && strstr(reply, "invalid char in expression")) { + VIR_FREE(reply); + VIR_FREE(cmd); + tryOldSyntax = 1; + goto try_command; } else { qemudReportError (conn, dom, NULL, VIR_ERR_OPERATION_FAILED, - _("adding %s disk failed"), type); + _("adding %s disk failed: %s"), type, reply); VIR_FREE(reply); VIR_FREE(cmd); return -1; @@ -4268,6 +4280,7 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, char *cmd = NULL; char *reply = NULL; virDomainDiskDefPtr detach = NULL; + int tryOldSyntax = 0; for (i = 0 ; i < vm->def->ndisks ; i++) { if (STREQ(vm->def->disks[i]->dst, dev->data.disk->dst)) { @@ -4289,9 +4302,17 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, goto cleanup; } - if (virAsprintf(&cmd, "pci_del 0 %d", detach->slotnum) < 0) { - virReportOOMError(conn); - goto cleanup; +try_command: + if (tryOldSyntax) { + if (virAsprintf(&cmd, "pci_del 0 %d", detach->slotnum) < 0) { + virReportOOMError(conn); + goto cleanup; + } + } else { + if (virAsprintf(&cmd, "pci_del pci_addr=0:0:%d", detach->slotnum) < 0) { + virReportOOMError(conn); + goto cleanup; + } } if (qemudMonitorCommand(vm, cmd, &reply) < 0) { @@ -4301,12 +4322,19 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, } DEBUG ("%s: pci_del reply: %s",vm->def->name, reply); + + if (!tryOldSyntax && + strstr(reply, "extraneous characters")) { + tryOldSyntax = 1; + goto try_command; + } /* If the command fails due to a wrong slot qemu prints: invalid slot, * nothing is printed on success */ - if (strstr(reply, "invalid slot")) { + if (strstr(reply, "invalid slot") || + strstr(reply, "Invalid pci address")) { qemudReportError (conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, - _("failed to detach disk %s: invalid slot %d"), - detach->dst, detach->slotnum); + _("failed to detach disk %s: invalid slot %d: %s"), + detach->dst, detach->slotnum, reply); goto cleanup; } libvirt-0.6.2-monitor-prompt-discard.patch: qemu_driver.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) --- NEW FILE libvirt-0.6.2-monitor-prompt-discard.patch --- commit 2d1f2e706c8b13571e1227df1c69b2302da35d5a Author: Daniel P. Berrange Date: Mon Jul 6 15:45:04 2009 +0100 Fix problem with QEMU monitor welcome prompt confusing libvirt after a libvirtd daemon restart with active guests * src/qemu_driver: Read and dicard pending monitor data before issuing new monitor commands. diff --git a/src/qemu_driver.c b/src/qemu_driver.c index e2b7acb..2e55045 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1744,6 +1744,28 @@ cleanup: qemuDriverUnlock(driver); } + +/* Throw away any data available on the monitor + * This is done before executing a command, in order + * to allow re-synchronization if something went badly + * wrong in the past. it also deals with problem of + * QEMU *sometimes* re-printing its initial greeting + * when we reconnect to the monitor after restarts. + */ +static void +qemuMonitorDiscardPendingData(virDomainObjPtr vm) { + char buf[1024]; + int ret = 0; + + /* Monitor is non-blocking, so just loop till we + * get -1 or 0. Don't bother with detecting + * errors, since we'll deal with that better later */ + do { + ret = read(vm->monitor, buf, sizeof (buf)-1); + } while (ret > 0); +} + + static int qemudMonitorCommandExtra(const virDomainObjPtr vm, const char *cmd, @@ -1755,6 +1777,8 @@ qemudMonitorCommandExtra(const virDomainObjPtr vm, size_t cmdlen = strlen(cmd); size_t extralen = extra ? strlen(extra) : 0; + qemuMonitorDiscardPendingData(vm); + if (safewrite(vm->monitor, cmd, cmdlen) != cmdlen) return -1; if (safewrite(vm->monitor, "\r", 1) != 1) libvirt-0.6.2-pci-device-crash.patch: pci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- NEW FILE libvirt-0.6.2-pci-device-crash.patch --- commit 4a7acedd3c59a6a750576cb8680bc3f08fe0b52c Author: Daniel P. Berrange Date: Thu Jul 16 13:23:32 2009 +0100 Fix free of unitialized data upon PCI open fail diff --git a/src/pci.c b/src/pci.c index 3ffa0aa..4030a14 100644 --- a/src/pci.c +++ b/src/pci.c @@ -834,10 +834,8 @@ pciReadDeviceID(pciDevice *dev, const char *id_name) dev->name, id_name); /* ID string is '0xNNNN\n' ... i.e. 7 bytes */ - if (virFileReadAll(path, 7, &id_str) < 7) { - VIR_FREE(id_str); + if (virFileReadAll(path, 7, &id_str) < 0) return NULL; - } /* Check for 0x suffix */ if (id_str[0] != '0' || id_str[1] != 'x') { libvirt-0.6.2-qemu-name-uniqueness.patch: qemu_driver.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 83 insertions(+), 20 deletions(-) --- NEW FILE libvirt-0.6.2-qemu-name-uniqueness.patch --- diff -rupN libvirt-0.6.2/src/qemu_driver.c libvirt-0.6.2.new/src/qemu_driver.c --- libvirt-0.6.2/src/qemu_driver.c 2009-08-05 16:25:22.000000000 +0100 +++ libvirt-0.6.2.new/src/qemu_driver.c 2009-08-05 16:27:48.000000000 +0100 @@ -2174,22 +2174,37 @@ static virDomainPtr qemudDomainCreate(vi if (virSecurityDriverVerify(conn, def) < 0) goto cleanup; - vm = virDomainFindByName(&driver->domains, def->name); - if (vm) { - qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, - _("domain '%s' is already defined"), - def->name); - goto cleanup; - } + /* See if a VM with matching UUID already exists */ vm = virDomainFindByUUID(&driver->domains, def->uuid); if (vm) { - char uuidstr[VIR_UUID_STRING_BUFLEN]; + /* UUID matches, but if names don't match, refuse it */ + if (STRNEQ(vm->def->name, def->name)) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + virUUIDFormat(vm->def->uuid, uuidstr); + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain '%s' is already defined with uuid %s"), + vm->def->name, uuidstr); + goto cleanup; + } - virUUIDFormat(def->uuid, uuidstr); - qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, - _("domain with uuid '%s' is already defined"), - uuidstr); - goto cleanup; + /* UUID & name match, but if VM is already active, refuse it */ + if (virDomainIsActive(vm)) { + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain is already active as '%s'"), vm->def->name); + goto cleanup; + } + virDomainObjUnlock(vm); + } else { + /* UUID does not match, but if a name matches, refuse it */ + vm = virDomainFindByName(&driver->domains, def->name); + if (vm) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + virUUIDFormat(vm->def->uuid, uuidstr); + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain '%s' is already defined with uuid %s"), + def->name, uuidstr); + goto cleanup; + } } if (!(vm = virDomainAssignDef(conn, @@ -2368,6 +2383,11 @@ static int qemudDomainDestroy(virDomainP _("no domain with matching id %d"), dom->id); goto cleanup; } + if (!virDomainIsActive(vm)) { + qemudReportError(dom->conn, dom, NULL, VIR_ERR_OPERATION_FAILED, + "%s", _("domain is not running")); + goto cleanup; + } qemudShutdownVMDaemon(dom->conn, driver, vm); event = virDomainEventNewFromObj(vm, @@ -3272,17 +3292,36 @@ static int qemudDomainRestore(virConnect goto cleanup; } - /* Ensure the name and UUID don't already exist in an active VM */ + /* See if a VM with matching UUID already exists */ vm = virDomainFindByUUID(&driver->domains, def->uuid); - if (!vm) - vm = virDomainFindByName(&driver->domains, def->name); if (vm) { + /* UUID matches, but if names don't match, refuse it */ + if (STRNEQ(vm->def->name, def->name)) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + virUUIDFormat(vm->def->uuid, uuidstr); + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain '%s' is already defined with uuid %s"), + vm->def->name, uuidstr); + goto cleanup; + } + + /* UUID & name match, but if VM is already active, refuse it */ if (virDomainIsActive(vm)) { qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, _("domain is already active as '%s'"), vm->def->name); goto cleanup; - } else { - virDomainObjUnlock(vm); + } + virDomainObjUnlock(vm); + } else { + /* UUID does not match, but if a name matches, refuse it */ + vm = virDomainFindByName(&driver->domains, def->name); + if (vm) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + virUUIDFormat(vm->def->uuid, uuidstr); + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain '%s' is already defined with uuid %s"), + def->name, uuidstr); + goto cleanup; } } @@ -3470,18 +3509,41 @@ static virDomainPtr qemudDomainDefine(vi if (virSecurityDriverVerify(conn, def) < 0) goto cleanup; - vm = virDomainFindByName(&driver->domains, def->name); + /* See if a VM with matching UUID already exists */ + vm = virDomainFindByUUID(&driver->domains, def->uuid); if (vm) { + /* UUID matches, but if names don't match, refuse it */ + if (STRNEQ(vm->def->name, def->name)) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + virUUIDFormat(vm->def->uuid, uuidstr); + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain '%s' is already defined with uuid %s"), + vm->def->name, uuidstr); + goto cleanup; + } + + /* UUID & name match */ virDomainObjUnlock(vm); newVM = 0; + } else { + /* UUID does not match, but if a name matches, refuse it */ + vm = virDomainFindByName(&driver->domains, def->name); + if (vm) { + char uuidstr[VIR_UUID_STRING_BUFLEN]; + virUUIDFormat(vm->def->uuid, uuidstr); + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("domain '%s' is already defined with uuid %s"), + def->name, uuidstr); + goto cleanup; + } } if (!(vm = virDomainAssignDef(conn, &driver->domains, def))) { - virDomainDefFree(def); goto cleanup; } + def = NULL; vm->persistent = 1; if (virDomainSaveConfig(conn, @@ -3503,6 +3565,7 @@ static virDomainPtr qemudDomainDefine(vi if (dom) dom->id = vm->def->id; cleanup: + virDomainDefFree(def); if (vm) virDomainObjUnlock(vm); if (event) Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.135 retrieving revision 1.136 diff -u -p -r1.135 -r1.136 --- libvirt.spec 3 Jul 2009 10:05:41 -0000 1.135 +++ libvirt.spec 5 Aug 2009 15:48:14 -0000 1.136 @@ -66,7 +66,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.6.2 -Release: 13%{?dist}%{?extra_release} +Release: 14%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -104,6 +104,18 @@ Patch14: libvirt-0.6.2-avoid-broken-netw Patch15: libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch # Don't unnecessarily try to change a file context (bug #507555) Patch16: libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch +# Misc useful fix +Patch17: libvirt-0.6.2-monitor-prompt-discard.patch +# rhbz #496442 +Patch18: libvirt-0.6.2-hotplug-labelling.patch +# rhbz 499669 +Patch19: libvirt-0.6.2-hotplug-monitor-syntax.patch +# rhbz #510907 +Patch20: libvirt-0.6.2-pci-device-crash.patch +# rhbz #507405 +Patch21: libvirt-0.6.2-qemu-name-uniqueness.patch +# rhbz #479517 +Patch22: libvirt-0.6.2-buf-locale-escape.patch # Not for upstream. Temporary hack till PulseAudio autostart # problems are sorted out when SELinux enforcing @@ -272,6 +284,12 @@ of recent versions of Linux (and other O %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 %patch200 -p0 @@ -595,6 +613,13 @@ fi %endif %changelog +* Wed Aug 5 2009 Daniel P. Berrange - 0.6.2-14.fc11 +- Fix crash when attaching/detaching non-existant PCI device (rhbz #510907) +- Fix QEMU guest name/uuid uniqueness checks (rhbz #507405) +- Fix to use correct pci_add/del syntax for QEMU (rhbz #499669) +- Relabel disks before hotplugging them to guest (rhbz #496442) +- Correctly handle 8-bit high bytes when escaping XML (rhbz #479517) + * Fri Jul 3 2009 Mark McLoughlin - 0.6.2-13.fc11 - Fix libvirtd crash with bad capabilities data (bug #505635) - Don't unnecessarily try to change a file context (bug #507555) From berrange at fedoraproject.org Wed Aug 5 16:41:25 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Wed, 5 Aug 2009 16:41:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/perl-Sys-Virt-TCK/devel Sys-Virt-TCK-0.1.0-cleanup-skip.patch, NONE, 1.1 perl-Sys-Virt-TCK.spec, 1.2, 1.3 Message-ID: <20090805164125.C598211C0349@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/perl-Sys-Virt-TCK/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9746 Modified Files: perl-Sys-Virt-TCK.spec Added Files: Sys-Virt-TCK-0.1.0-cleanup-skip.patch Log Message: Fix missing dep. Fix sanitycheck cleanup. Remove broken test Sys-Virt-TCK-0.1.0-cleanup-skip.patch: TCK.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) --- NEW FILE Sys-Virt-TCK-0.1.0-cleanup-skip.patch --- diff -rup Sys-Virt-TCK-0.1.0/lib/Sys/Virt/TCK.pm Sys-Virt-TCK-0.1.0.new/lib/Sys/Virt/TCK.pm --- Sys-Virt-TCK-0.1.0/lib/Sys/Virt/TCK.pm 2009-07-22 18:33:55.000000000 +0100 +++ Sys-Virt-TCK-0.1.0.new/lib/Sys/Virt/TCK.pm 2009-08-05 17:22:15.000000000 +0100 @@ -57,7 +57,13 @@ sub setup { $self->reset if $self->{autoclean}; - $self->sanity_check; + eval { + $self->sanity_check; + }; + if ($@) { + $self->{conn} = undef; + die $@; + } return $self->{conn}; } Index: perl-Sys-Virt-TCK.spec =================================================================== RCS file: /cvs/pkgs/rpms/perl-Sys-Virt-TCK/devel/perl-Sys-Virt-TCK.spec,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- perl-Sys-Virt-TCK.spec 26 Jul 2009 16:38:15 -0000 1.2 +++ perl-Sys-Virt-TCK.spec 5 Aug 2009 16:41:25 -0000 1.3 @@ -10,10 +10,11 @@ Summary: Sys::Virt::TCK - libvirt Technology Compatibility Kit Name: perl-%{appname} Version: 0.1.0 -Release: 4%{dist} +Release: 5%{dist} License: GPLv2 or Artistic Group: Development/Tools Source: http://libvirt.org/sources/tck/%{appname}-%{version}.tar.gz +Patch1: %{appname}-%{version}-cleanup-skip.patch Url: http://libvirt.org/ BuildRoot: %{_tmppath}/%{appname}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: libvirt >= 0.6.2 @@ -42,6 +43,8 @@ BuildRequires: perl(XML::Writer) BuildRequires: perl(XML::XPath) BuildRequires: perl(Test::Pod) BuildRequires: perl(Test::Pod::Coverage) +# RPM autoprovides mising this +Requires: perl(Test::Exception) BuildArchitectures: noarch %description @@ -51,7 +54,7 @@ technology. %prep %setup -q -n %{appname}-%{version} - +%patch1 -p1 %build %{__perl} Build.PL installdirs=vendor @@ -69,6 +72,9 @@ find $RPM_BUILD_ROOT -depth -type d -exe %__install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/cache/libvirt-tck +# Requires newer libvirt perl binding +rm -f $RPM_BUILD_ROOT/%{_datadir}/libvirt-tck/tests/storage/200-clone-vol-dir.t + %clean rm -rf $RPM_BUILD_ROOT @@ -91,6 +97,10 @@ rm -rf $RPM_BUILD_ROOT %dir %{_localstatedir}/cache/libvirt-tck %changelog +* Wed Aug 5 2009 Daniel P. Berrange - 0.1.0-5 +- Add missing perl-Test-Exception dep +- Skip cleanup if sanity check fails + * Sun Jul 26 2009 Fedora Release Engineering - 0.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From markmc at fedoraproject.org Thu Aug 6 15:01:50 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 6 Aug 2009 15:01:50 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch, NONE, 1.1 libvirt.spec, 1.163, 1.164 Message-ID: <20090806150150.0847A11C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28990 Modified Files: libvirt.spec Added Files: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch Log Message: * Thu Aug 6 2009 Mark McLoughlin - 0.7.0-2 - Make sure qemu can access kernel/initrd (bug #516034) - Set perms on /var/lib/libvirt/boot to 0711 (bug #516034) libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch: qemu_driver.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) --- NEW FILE libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch --- From: Mark McLoughlin Subject: [PATCH] chown kernel/initrd before spawning qemu If we're running qemu unprivileged, we need to chown any supplied kernel or initrd before spawning it. * src/qemu_driver.c: rename qemuDomainSetDiskOwnership() to qemuDomainSetFileOwnership(), pass it a path string instead of a disk definition and use it for chowning the kernel/initrd in qemuDomainSetAllDeviceOwnership() --- src/qemu_driver.c | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 412b68d..bd58435 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1684,18 +1684,18 @@ static int qemuDomainSetHostdevOwnership(virConnectPtr conn, } -static int qemuDomainSetDiskOwnership(virConnectPtr conn, - virDomainDiskDefPtr def, +static int qemuDomainSetFileOwnership(virConnectPtr conn, + const char *path, uid_t uid, gid_t gid) { - if (!def->src) + if (!path) return 0; - VIR_DEBUG("Setting ownership on %s to %d:%d", def->src, uid, gid); - if (chown(def->src, uid, gid) < 0) { + VIR_DEBUG("Setting ownership on %s to %d:%d", path, uid, gid); + if (chown(path, uid, gid) < 0) { virReportSystemError(conn, errno, _("cannot set ownership on %s"), - def->src); + path); return -1; } return 0; @@ -1725,7 +1725,7 @@ static int qemuDomainSetDeviceOwnership(virConnectPtr conn, (def->data.disk->readonly || def->data.disk->shared)) return 0; - return qemuDomainSetDiskOwnership(conn, def->data.disk, uid, gid); + return qemuDomainSetFileOwnership(conn, def->data.disk->src, uid, gid); case VIR_DOMAIN_DEVICE_HOSTDEV: return qemuDomainSetHostdevOwnership(conn, def->data.hostdev, uid, gid); @@ -1753,12 +1753,16 @@ static int qemuDomainSetAllDeviceOwnership(virConnectPtr conn, uid = restore ? 0 : driver->user; gid = restore ? 0 : driver->group; + if (qemuDomainSetFileOwnership(conn, def->os.kernel, uid, gid) < 0 || + qemuDomainSetFileOwnership(conn, def->os.initrd, uid, gid) < 0) + return -1; + for (i = 0 ; i < def->ndisks ; i++) { if (restore && (def->disks[i]->readonly || def->disks[i]->shared)) continue; - if (qemuDomainSetDiskOwnership(conn, def->disks[i], uid, gid) < 0) + if (qemuDomainSetFileOwnership(conn, def->disks[i]->src, uid, gid) < 0) return -1; } -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.163 retrieving revision 1.164 diff -u -p -r1.163 -r1.164 --- libvirt.spec 5 Aug 2009 15:24:45 -0000 1.163 +++ libvirt.spec 6 Aug 2009 15:01:49 -0000 1.164 @@ -78,11 +78,14 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.0 -Release: 1%{?dist}%{?extra_release} +Release: 2%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz +# Make sure qemu can access kernel/initrd (bug #516034) +Patch01: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch + # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) Patch200: libvirt-0.6.4-svirt-sound.patch @@ -252,6 +255,8 @@ of recent versions of Linux (and other O %prep %setup -q +%patch01 -p1 + %patch200 -p0 %build @@ -497,7 +502,7 @@ fi %dir %{_localstatedir}/lib/libvirt/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/ +%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/ %dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/ %if %{with_qemu} @@ -612,7 +617,11 @@ fi %endif %changelog -* Wed Aug 5 2009 Daniel Veillard - 0.7.0-1.fc12 +* Thu Aug 6 2009 Mark McLoughlin - 0.7.0-2 +- Make sure qemu can access kernel/initrd (bug #516034) +- Set perms on /var/lib/libvirt/boot to 0711 (bug #516034) + +* Wed Aug 5 2009 Daniel Veillard - 0.7.0-1 - Upstream release of 0.7.0 - ESX, VBox3, Power Hypervisor drivers - new net filesystem glusterfs From rjones at fedoraproject.org Thu Aug 6 16:15:10 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 16:15:10 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel .cvsignore, 1.44, 1.45 libguestfs.spec, 1.82, 1.83 sources, 1.44, 1.45 Message-ID: <20090806161510.2C85111C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11790 Modified Files: .cvsignore libguestfs.spec sources Log Message: New upstream release 1.0.66 Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/.cvsignore,v retrieving revision 1.44 retrieving revision 1.45 diff -u -p -r1.44 -r1.45 --- .cvsignore 29 Jul 2009 15:40:16 -0000 1.44 +++ .cvsignore 6 Aug 2009 16:15:09 -0000 1.45 @@ -1 +1 @@ -libguestfs-1.0.65.tar.gz +libguestfs-1.0.66.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.82 retrieving revision 1.83 diff -u -p -r1.82 -r1.83 --- libguestfs.spec 29 Jul 2009 15:40:16 -0000 1.82 +++ libguestfs.spec 6 Aug 2009 16:15:09 -0000 1.83 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.65 +Version: 1.0.66 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -339,7 +339,7 @@ export LIBGUESTFS_DEBUG=1 # 503236 i386 F-12 cryptomgr_test at doublefault_fn # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu (FIXED) -# - ? F-12 qemu TCG on Xen is broken again +# 516022 all F-12 virtio-net gives "Network is unreachable" errors #%ifarch x86_64 #make check @@ -537,6 +537,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 +- New upstream release 1.0.66. + * Wed Jul 29 2009 Richard W.M. Jones - 1.0.65-1 - New upstream release 1.0.65. - Add Obsoletes for virt-df2 (RHBZ#514309). Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/sources,v retrieving revision 1.44 retrieving revision 1.45 diff -u -p -r1.44 -r1.45 --- sources 29 Jul 2009 15:40:16 -0000 1.44 +++ sources 6 Aug 2009 16:15:09 -0000 1.45 @@ -1 +1 @@ -ac72d1b46d9a78c6d2dc3439fcc0784d libguestfs-1.0.65.tar.gz +385d65176732738566e9ab99898104f7 libguestfs-1.0.66.tar.gz From rjones at fedoraproject.org Thu Aug 6 16:15:12 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 16:15:12 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 .cvsignore, 1.31, 1.32 libguestfs.spec, 1.50, 1.51 sources, 1.31, 1.32 Message-ID: <20090806161512.377EB11C034A@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11812 Modified Files: .cvsignore libguestfs.spec sources Log Message: New upstream release 1.0.66 Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/.cvsignore,v retrieving revision 1.31 retrieving revision 1.32 diff -u -p -r1.31 -r1.32 --- .cvsignore 29 Jul 2009 15:40:31 -0000 1.31 +++ .cvsignore 6 Aug 2009 16:15:11 -0000 1.32 @@ -1 +1 @@ -libguestfs-1.0.65.tar.gz +libguestfs-1.0.66.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.50 retrieving revision 1.51 diff -u -p -r1.50 -r1.51 --- libguestfs.spec 29 Jul 2009 15:40:31 -0000 1.50 +++ libguestfs.spec 6 Aug 2009 16:15:11 -0000 1.51 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.65 +Version: 1.0.66 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -533,6 +533,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 +- New upstream release 1.0.66. + * Wed Jul 29 2009 Richard W.M. Jones - 1.0.65-1 - New upstream release 1.0.65. - Add Obsoletes for virt-df2 (RHBZ#514309). Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/sources,v retrieving revision 1.31 retrieving revision 1.32 diff -u -p -r1.31 -r1.32 --- sources 29 Jul 2009 15:40:31 -0000 1.31 +++ sources 6 Aug 2009 16:15:11 -0000 1.32 @@ -1 +1 @@ -ac72d1b46d9a78c6d2dc3439fcc0784d libguestfs-1.0.65.tar.gz +385d65176732738566e9ab99898104f7 libguestfs-1.0.66.tar.gz From rjones at fedoraproject.org Thu Aug 6 16:22:42 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 16:22:42 +0000 (UTC) Subject: [fedora-virt-maint] rpms/collectd/devel collectd.spec,1.20,1.21 Message-ID: <20090806162242.7AEAD11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/collectd/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13140 Modified Files: collectd.spec Log Message: Force rebuild. Index: collectd.spec =================================================================== RCS file: /cvs/pkgs/rpms/collectd/devel/collectd.spec,v retrieving revision 1.20 retrieving revision 1.21 diff -u -p -r1.20 -r1.21 --- collectd.spec 24 Jul 2009 19:14:20 -0000 1.20 +++ collectd.spec 6 Aug 2009 16:22:42 -0000 1.21 @@ -1,7 +1,7 @@ Summary: Statistics collection daemon for filling RRD files Name: collectd Version: 4.6.2 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 Group: System Environment/Daemons URL: http://collectd.org/ @@ -407,6 +407,9 @@ fi %changelog +* Thu Aug 6 2009 Richard W.M. Jones - 4.6.2-3 +- Force rebuild to test FTBFS issue. + * Fri Jul 24 2009 Fedora Release Engineering - 4.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From rjones at fedoraproject.org Thu Aug 6 16:36:02 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 16:36:02 +0000 (UTC) Subject: [fedora-virt-maint] rpms/collectd/devel collectd.spec,1.21,1.22 Message-ID: <20090806163602.E220A11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/collectd/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16018 Modified Files: collectd.spec Log Message: types.db file moved. Index: collectd.spec =================================================================== RCS file: /cvs/pkgs/rpms/collectd/devel/collectd.spec,v retrieving revision 1.21 retrieving revision 1.22 diff -u -p -r1.21 -r1.22 --- collectd.spec 6 Aug 2009 16:22:42 -0000 1.21 +++ collectd.spec 6 Aug 2009 16:36:02 -0000 1.22 @@ -1,7 +1,7 @@ Summary: Statistics collection daemon for filling RRD files Name: collectd Version: 4.6.2 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 Group: System Environment/Daemons URL: http://collectd.org/ @@ -308,7 +308,7 @@ fi %{_libdir}/collectd/vmem.so %{_libdir}/collectd/vserver.so %{_libdir}/collectd/wireless.so -%{_libdir}/collectd/types.db +%{_datadir}/collectd/types.db %doc AUTHORS ChangeLog COPYING INSTALL README %doc %{_mandir}/man1/collectd.1* @@ -407,8 +407,9 @@ fi %changelog -* Thu Aug 6 2009 Richard W.M. Jones - 4.6.2-3 +* Thu Aug 6 2009 Richard W.M. Jones - 4.6.2-4 - Force rebuild to test FTBFS issue. +- lib/collectd/types.db seems to have moved to share/collectd/types.db * Fri Jul 24 2009 Fedora Release Engineering - 4.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From rjones at fedoraproject.org Thu Aug 6 16:15:18 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 16:15:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.25, 1.26 libguestfs.spec, 1.53, 1.54 sources, 1.25, 1.26 Message-ID: <20090806161518.0366011C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11828 Modified Files: .cvsignore libguestfs.spec sources Log Message: New upstream release 1.0.66 Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.25 retrieving revision 1.26 diff -u -p -r1.25 -r1.26 --- .cvsignore 29 Jul 2009 15:40:44 -0000 1.25 +++ .cvsignore 6 Aug 2009 16:15:17 -0000 1.26 @@ -1 +1 @@ -libguestfs-1.0.65.tar.gz +libguestfs-1.0.66.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- libguestfs.spec 29 Jul 2009 15:54:32 -0000 1.53 +++ libguestfs.spec 6 Aug 2009 16:15:17 -0000 1.54 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.65 +Version: 1.0.66 Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -533,6 +533,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 +- New upstream release 1.0.66. + * Wed Jul 29 2009 Richard W.M. Jones - 1.0.65-2 - New upstream release 1.0.65. - Remove RHEL 5 patch, now upstream. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.25 retrieving revision 1.26 diff -u -p -r1.25 -r1.26 --- sources 29 Jul 2009 15:40:44 -0000 1.25 +++ sources 6 Aug 2009 16:15:17 -0000 1.26 @@ -1 +1 @@ -ac72d1b46d9a78c6d2dc3439fcc0784d libguestfs-1.0.65.tar.gz +385d65176732738566e9ab99898104f7 libguestfs-1.0.66.tar.gz From rel-eng at fedoraproject.org Thu Aug 6 16:19:41 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 16:19:41 -0000 Subject: [fedora-virt-maint] #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha Message-ID: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Keywords: | -----------------------------+---------------------------------------------- changes since libvirt-0.7.0-0.9.gite195b43.fc12: - update from pre-release git snapshot to official release, only bug-fixes (some major) since the snapshot - a fix for bug #516034, which was breaking virt-install -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 16:21:16 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 16:21:16 -0000 Subject: [fedora-virt-maint] Re: #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha In-Reply-To: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> References: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> Message-ID: <058.172a735f37ffb2e73e00aa0d5bb776d5@fedoraproject.org> #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by markmc): Oh, I've tested the latest build -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 16:36:46 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 16:36:46 -0000 Subject: [fedora-virt-maint] #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha Message-ID: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Keywords: | -----------------------------+---------------------------------------------- changes since -4: * Wed Aug 5 2009 Dan Walsh 3.6.26-6 - Allow devicekit_disk to list inotify * Wed Aug 5 2009 Dan Walsh 3.6.26-5 - Allow svirt images to create sock_file in svirt_var_run_t The latter is a fix for https://bugzilla.redhat.com/515547 virt is basically broken without the fix for this regression Tested by me, works fine -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 16:40:42 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 16:40:42 -0000 Subject: [fedora-virt-maint] #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha Message-ID: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Keywords: | -----------------------------+---------------------------------------------- changes since -5: * Wed Aug 05 2009 Peter Vrabec 2:4.1.4.1-6 - increase threshold for uid/gid reservations to 200 (#515667) without this, other packages which dynamically allocate system uid/gids can stomp on qemu's allocated uid/gid of 107 qemu is the first one to get allocated in the 100-200 range, that's why this came about also, in f11 we allocated ids downwards from 499, so we shouldn't see any gid clashes on upgrades. Fingers crossed Update is tested by me, seems fine -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rjones at fedoraproject.org Thu Aug 6 17:50:27 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 17:50:27 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch, NONE, 1.1 0002-Always-pass-mkswap-f-parameter.patch, NONE, 1.1 libguestfs.spec, 1.54, 1.55 Message-ID: <20090806175027.AEF3611C0425@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30754 Modified Files: libguestfs.spec Added Files: 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch 0002-Always-pass-mkswap-f-parameter.patch Log Message: Incorporate upstream patches to fix some tests. 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch: generator.ml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- NEW FILE 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch --- >From a8a4ce2bd3fd021e063cb3b939b45059f07ed053 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 6 Aug 2009 18:40:59 +0100 Subject: [PATCH 1/2] Tests: Don't test block size in statvfs test. The block size changes between kernel releases, causing a false failure in the tests. The error was: test_statvfs_0: bsize was 65536, expected 131072 --- src/generator.ml | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/src/generator.ml b/src/generator.ml index 7ac4ac8..8b0fc66 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -1619,8 +1619,7 @@ This is the same as the C system call."); ("statvfs", (RStruct ("statbuf", "statvfs"), [String "path"]), 54, [], [InitSquashFS, Always, TestOutputStruct ( - [["statvfs"; "/"]], [CompareWithInt ("namemax", 256); - CompareWithInt ("bsize", 131072)])], + [["statvfs"; "/"]], [CompareWithInt ("namemax", 256)])], "get file system statistics", "\ Returns file system statistics for any mounted file system. -- 1.6.2.5 0002-Always-pass-mkswap-f-parameter.patch: swap.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- NEW FILE 0002-Always-pass-mkswap-f-parameter.patch --- >From 530a90d3d4d7d107f52ac8db90fdb86c4f3e1737 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 6 Aug 2009 18:46:57 +0100 Subject: [PATCH 2/2] Always pass mkswap -f parameter. Otherwise mkswap will give a silly error if you ask it to swap on a whole device. --- daemon/swap.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/swap.c b/daemon/swap.c index db93e57..3ebdef6 100644 --- a/daemon/swap.c +++ b/daemon/swap.c @@ -34,9 +34,9 @@ mkswap (char *device, const char *flag, const char *value) int r; if (!flag) - r = command (NULL, &err, "/sbin/mkswap", device, NULL); + r = command (NULL, &err, "/sbin/mkswap", "-f", device, NULL); else - r = command (NULL, &err, "/sbin/mkswap", flag, value, device, NULL); + r = command (NULL, &err, "/sbin/mkswap", "-f", flag, value, device, NULL); if (r == -1) { reply_with_error ("mkswap: %s", err); -- 1.6.2.5 Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.54 retrieving revision 1.55 diff -u -p -r1.54 -r1.55 --- libguestfs.spec 6 Aug 2009 16:15:17 -0000 1.54 +++ libguestfs.spec 6 Aug 2009 17:50:27 -0000 1.55 @@ -5,13 +5,16 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Patch0: 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch +Patch1: 0002-Always-pass-mkswap-f-parameter.patch + # Currently fails on PPC because: # "No Package Found for kernel" ExclusiveArch: %{ix86} x86_64 @@ -306,6 +309,9 @@ Requires: jpackage-utils mkdir -p daemon/m4 +%patch0 -p1 +%patch1 -p1 + %build %if %{buildnonet} @@ -533,8 +539,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 +* Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-3 - New upstream release 1.0.66. +- Incorporate upstream patches to fix some tests. * Wed Jul 29 2009 Richard W.M. Jones - 1.0.65-2 - New upstream release 1.0.65. From rjones at fedoraproject.org Thu Aug 6 17:50:56 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 17:50:56 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.51,1.52 Message-ID: <20090806175056.8221611C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30942 Modified Files: libguestfs.spec Log Message: Disable tests (because of RHBZ#516096). Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.51 retrieving revision 1.52 diff -u -p -r1.51 -r1.52 --- libguestfs.spec 6 Aug 2009 16:15:11 -0000 1.51 +++ libguestfs.spec 6 Aug 2009 17:50:56 -0000 1.52 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 1%{?dist} +Release: 1%{?dist}.1 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -335,11 +335,12 @@ export LIBGUESTFS_DEBUG=1 # 503236 i386 F-12 cryptomgr_test at doublefault_fn # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu -# - ? F-12 qemu TCG on Xen is broken again +# 516022 all F-12 virtio-net gives "Network is unreachable" errors +# 516096 ? F-11 race condition in swapoff/blockdev --rereadpt -%ifarch x86_64 -make check -%endif +#%ifarch x86_64 +#make check +#%endif %install @@ -533,6 +534,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1.fc11.1 +- Disable tests (because of RHBZ#516096). + * Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 - New upstream release 1.0.66. From rjones at fedoraproject.org Thu Aug 6 17:51:31 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 6 Aug 2009 17:51:31 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.83, 1.84 Message-ID: <20090806175131.7009211C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31250 Modified Files: libguestfs.spec Log Message: Update comment. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.83 retrieving revision 1.84 diff -u -p -r1.83 -r1.84 --- libguestfs.spec 6 Aug 2009 16:15:09 -0000 1.83 +++ libguestfs.spec 6 Aug 2009 17:51:31 -0000 1.84 @@ -340,6 +340,7 @@ export LIBGUESTFS_DEBUG=1 # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu (FIXED) # 516022 all F-12 virtio-net gives "Network is unreachable" errors +# 516096 ? F-11 race condition in swapoff/blockdev --rereadpt #%ifarch x86_64 #make check From rel-eng at fedoraproject.org Thu Aug 6 17:11:55 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 17:11:55 -0000 Subject: [fedora-virt-maint] Re: #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha In-Reply-To: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> References: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> Message-ID: <058.be932ca25d1139934106a57642e79e18@fedoraproject.org> #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by jkeating): +1 from me to fix the blocker issue. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 17:13:39 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 17:13:39 -0000 Subject: [fedora-virt-maint] Re: #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha In-Reply-To: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> References: <049.4d608b8f8feab6914e12a6c68777c7ae@fedoraproject.org> Message-ID: <058.bdb02652bc1b5ff019a423877e566a16@fedoraproject.org> #2051: Please tag libvirt-0.7.0-2.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Alpha | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by wtogami): * status: new => closed * resolution: => fixed Comment: tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 17:13:42 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 17:13:42 -0000 Subject: [fedora-virt-maint] Re: #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha In-Reply-To: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> References: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> Message-ID: <058.6f43f9d127cfc0effe8696f4b5ff3709@fedoraproject.org> #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by jkeating): This is a critical path package, so we'll need to get an extra set of eyes/testing on this. I don't have a rawhide install yet that I can test this with. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 17:14:35 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 17:14:35 -0000 Subject: [fedora-virt-maint] Re: #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha In-Reply-To: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> References: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> Message-ID: <058.063df5a5450e36672dfb625b99362850@fedoraproject.org> #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by wtogami): I suppose +1 -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 17:15:46 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 17:15:46 -0000 Subject: [fedora-virt-maint] Re: #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha In-Reply-To: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> References: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> Message-ID: <058.266e1276db67ce8ada7286bbb9c2ee84@fedoraproject.org> #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Alpha | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: +1, tagged. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 17:59:09 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 17:59:09 -0000 Subject: [fedora-virt-maint] Re: #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha In-Reply-To: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> References: <049.eb977e9511d7bab085e132dd297c427f@fedoraproject.org> Message-ID: <058.94347b738f052fec84360e50abcfa3f2@fedoraproject.org> #2053: please tag shadow-utils-4.1.4.1-6.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Alpha | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Comment (by notting): This needs a pretty huge flag in the release notes, FWIW. It's changing 15-year old RH behavior. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rjones at fedoraproject.org Fri Aug 7 07:37:09 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 7 Aug 2009 07:37:09 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch, NONE, 1.1 libguestfs.spec, 1.55, 1.56 Message-ID: <20090807073709.72CB311C00D7@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31557 Modified Files: libguestfs.spec Added Files: 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch Log Message: Another patch to try to fix the tests. 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch: generator.ml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) --- NEW FILE 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch --- >From 39e4f1dad208124640f0f795518390ba680a9704 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 7 Aug 2009 08:32:56 +0100 Subject: [PATCH 3/3] Tests: swapon_device test mkswap /dev/sda1 instead of /dev/sdb. On RHEL 5, mkswap /dev/sdb fails, even with the '-f' option (contradictory to what the manual page says). This commit adds a new 'InitPartition' initialization which just creates /dev/sda1, and then does the swap test on that. --- src/generator.ml | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/generator.ml b/src/generator.ml index 8b0fc66..fdf8f09 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -301,6 +301,12 @@ and test_init = (* Block devices are empty and no filesystems are mounted. *) | InitEmpty + (* /dev/sda contains a single partition /dev/sda1, with random + * content. /dev/sdb and /dev/sdc may have random content. + * No LVM. + *) + | InitPartition + (* /dev/sda contains a single partition /dev/sda1, which is formatted * as ext2, empty [except for lost+found] and mounted on /. * /dev/sdb and /dev/sdc may have random content. @@ -3207,10 +3213,10 @@ C command which allocates a file in the host and attaches it as a device."); ("swapon_device", (RErr, [String "device"]), 170, [], - [InitNone, Always, TestRun ( - [["mkswap"; "/dev/sdb"]; - ["swapon_device"; "/dev/sdb"]; - ["swapoff_device"; "/dev/sdb"]])], + [InitPartition, Always, TestRun ( + [["mkswap"; "/dev/sda1"]; + ["swapon_device"; "/dev/sda1"]; + ["swapoff_device"; "/dev/sda1"]])], "enable swap on device", "\ This command enables the libguestfs appliance to use the @@ -5318,6 +5324,13 @@ and generate_one_test_body name i test_name init test = [["blockdev_setrw"; "/dev/sda"]; ["umount_all"]; ["lvm_remove_all"]] + | InitPartition -> + pr " /* InitPartition for %s: create /dev/sda1 */\n" test_name; + List.iter (generate_test_command_call test_name) + [["blockdev_setrw"; "/dev/sda"]; + ["umount_all"]; + ["lvm_remove_all"]; + ["sfdiskM"; "/dev/sda"; ","]] | InitBasicFS -> pr " /* InitBasicFS for %s: create ext2 on /dev/sda1 */\n" test_name; List.iter (generate_test_command_call test_name) -- 1.6.2.5 Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.55 retrieving revision 1.56 diff -u -p -r1.55 -r1.56 --- libguestfs.spec 6 Aug 2009 17:50:27 -0000 1.55 +++ libguestfs.spec 7 Aug 2009 07:37:09 -0000 1.56 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -14,6 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{versi Patch0: 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch Patch1: 0002-Always-pass-mkswap-f-parameter.patch +Patch2: 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch # Currently fails on PPC because: # "No Package Found for kernel" @@ -311,6 +312,7 @@ mkdir -p daemon/m4 %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build @@ -539,6 +541,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-4 +- Another patch to try to fix the tests. + * Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-3 - New upstream release 1.0.66. - Incorporate upstream patches to fix some tests. From rel-eng at fedoraproject.org Thu Aug 6 19:15:59 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 19:15:59 -0000 Subject: [fedora-virt-maint] Re: #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha In-Reply-To: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> References: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> Message-ID: <058.ee4e73da59ad31ddae38517a48fd8c5b@fedoraproject.org> #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by jkeating): Installed this and rebooted, didn't see any AVCs, +1 -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Aug 6 19:24:11 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 06 Aug 2009 19:24:11 -0000 Subject: [fedora-virt-maint] Re: #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha In-Reply-To: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> References: <049.284690a85514c3f120b8f6142a65bd7e@fedoraproject.org> Message-ID: <058.7ead2243438b995c52f4476f4e69533f@fedoraproject.org> #2052: please tag selinux-policy-3.6.26-6.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Alpha | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by notting): * status: new => closed * resolution: => fixed Comment: Tagged. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rjones at fedoraproject.org Fri Aug 7 08:38:25 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 7 Aug 2009 08:38:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel 0001-Allow-network-interface-to-be-configured.patch, NONE, 1.1 libguestfs.spec, 1.84, 1.85 Message-ID: <20090807083825.81D8211C00D7@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15737 Modified Files: libguestfs.spec Added Files: 0001-Allow-network-interface-to-be-configured.patch Log Message: Set network interface to ne2k_pci (workaround for RHBZ#516022). 0001-Allow-network-interface-to-be-configured.patch: configure.ac | 11 +++++++++++ src/guestfs.c | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) --- NEW FILE 0001-Allow-network-interface-to-be-configured.patch --- >From b5b87cdb764dc757295316878a7fd6e2ff01bec4 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 7 Aug 2009 09:31:35 +0100 Subject: [PATCH] Allow network interface to be configured. Add ./configure --with-net-if=(virtio|ne2k_pci) option. This lets you workaround the following virtio_net bug: https://bugzilla.redhat.com/show_bug.cgi?id=516022 --- configure.ac | 11 +++++++++++ src/guestfs.c | 2 +- 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/configure.ac b/configure.ac index f6f1735..cf0591d 100644 --- a/configure.ac +++ b/configure.ac @@ -138,6 +138,17 @@ AC_ARG_WITH([drive-if], [with_drive_if=ide]) AC_DEFINE_UNQUOTED([DRIVE_IF],["$with_drive_if"],[Default drive interface.]) +dnl Set interface used by the network. Normally you should +dnl leave this at the default (virtio) but you can use the +dnl alternative (ne2k_pci) because of bugs in virtio networking +dnl eg. https://bugzilla.redhat.com/show_bug.cgi?id=516022 +AC_ARG_WITH([net-if], + [AS_HELP_STRING([--with-net-if], + [set default net driver (virtio|ne2k_pci) @<:@default=virtio@:>@])], + [], + [with_net_if=virtio]) +AC_DEFINE_UNQUOTED([NET_IF],["$with_net_if"],[Default network interface.]) + dnl Check for febootstrap etc. AC_CHECK_PROG([FEBOOTSTRAP], [febootstrap],[febootstrap],[no]) diff --git a/src/guestfs.c b/src/guestfs.c index de63275..186c570 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -1103,7 +1103,7 @@ guestfs_launch (guestfs_h *g) } #endif add_cmdline (g, "-net"); - add_cmdline (g, "nic,model=virtio,vlan=0"); /* model=ne2k_pci also works */ + add_cmdline (g, "nic,model=" NET_IF ",vlan=0"); /* These options recommended by KVM developers to improve reliability. */ if (qemu_supports (g, "-no-hpet")) -- 1.6.2.5 Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.84 retrieving revision 1.85 diff -u -p -r1.84 -r1.85 --- libguestfs.spec 6 Aug 2009 17:51:31 -0000 1.84 +++ libguestfs.spec 7 Aug 2009 08:38:23 -0000 1.85 @@ -5,13 +5,15 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Patch0: 0001-Allow-network-interface-to-be-configured.patch + # Basic build requirements: BuildRequires: /usr/bin/pod2man BuildRequires: /usr/bin/pod2text @@ -292,6 +294,8 @@ Requires: jpackage-utils mkdir -p daemon/m4 +%patch0 -p1 + %build %if %{buildnonet} @@ -303,12 +307,14 @@ createrepo repo %define extra %nil %endif +# --with-net-if=ne2k_pci is a workaround for RHBZ#516022. ./configure \ --prefix=%{_prefix} --libdir=%{_libdir} \ --mandir=%{_mandir} \ --with-qemu="qemu-kvm qemu-system-%{_build_arch} qemu" \ --enable-debug-command \ --enable-supermin \ + --with-net-if=ne2k_pci \ %{extra} # This ensures that /usr/sbin/chroot is on the path. Not needed @@ -340,11 +346,12 @@ export LIBGUESTFS_DEBUG=1 # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu (FIXED) # 516022 all F-12 virtio-net gives "Network is unreachable" errors +# (WORKAROUND ENABLED) # 516096 ? F-11 race condition in swapoff/blockdev --rereadpt -#%ifarch x86_64 -#make check -#%endif +%ifarch x86_64 +make check +%endif %install @@ -538,6 +545,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-2 +- Set network interface to ne2k_pci (workaround for RHBZ#516022). + * Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 - New upstream release 1.0.66. From markmc at fedoraproject.org Fri Aug 7 08:53:27 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 7 Aug 2009 08:53:27 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-vnet-hdr-slirp-bustage.patch, NONE, 1.1 qemu.spec, 1.118, 1.119 Message-ID: <20090807085327.6E3B311C00D7@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19731 Modified Files: qemu.spec Added Files: qemu-fix-vnet-hdr-slirp-bustage.patch Log Message: * Fri Aug 7 2009 Mark McLoughlin - 2:0.10.91-0.5.rc1 - Fix virtio_net with -net user (#516022) qemu-fix-vnet-hdr-slirp-bustage.patch: net.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- NEW FILE qemu-fix-vnet-hdr-slirp-bustage.patch --- >From 97064ad88123744056d141e96247348dd2d9621c Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 7 Aug 2009 09:39:51 +0100 Subject: [PATCH] net: fix vnet_hdr bustage with slirp slirp has started using VLANClientState::opaque and this has caused the kvm specific tap_has_vnet_hdr() hack to break because we blindly use this opaque pointer even if it is not a tap client. Add yet another hack to check that we're actually getting called with a tap client. [Needed on stable-0.11 too] Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-vnet-hdr-slirp-bustage.patch --- net.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/net.c b/net.c index c7702f8..2428f63 100644 --- a/net.c +++ b/net.c @@ -1521,6 +1521,9 @@ int tap_has_vnet_hdr(void *opaque) VLANClientState *vc = opaque; TAPState *s = vc->opaque; + if (vc->receive != tap_receive) + return 0; + return s ? s->has_vnet_hdr : 0; } @@ -1529,6 +1532,9 @@ void tap_using_vnet_hdr(void *opaque, int using_vnet_hdr) VLANClientState *vc = opaque; TAPState *s = vc->opaque; + if (vc->receive != tap_receive) + return; + if (!s || !s->has_vnet_hdr) return; -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.118 retrieving revision 1.119 diff -u -p -r1.118 -r1.119 --- qemu.spec 4 Aug 2009 14:48:16 -0000 1.118 +++ qemu.spec 7 Aug 2009 08:53:27 -0000 1.119 @@ -4,7 +4,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.91 -Release: 0.4.%{kvmvertag}%{?dist} +Release: 0.5.%{kvmvertag}%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -31,6 +31,9 @@ Patch04: qemu-add-ksm-support.patch # Fix extboot checksum (bug #514899) Patch05: qemu-fix-extboot-signrom.patch +# Fix virtio_net with -net user (bug #516022) +Patch06: qemu-fix-vnet-hdr-slirp-bustage.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -216,6 +219,7 @@ such as kvmtrace and kvm_stat. %patch03 -p1 %patch04 -p1 %patch05 -p1 +%patch06 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -480,6 +484,9 @@ getent passwd qemu >/dev/null || \ %{_mandir}/man1/qemu-img.1* %changelog +* Fri Aug 7 2009 Mark McLoughlin - 2:0.10.91-0.5.rc1 +- Fix virtio_net with -net user (#516022) + * Tue Aug 4 2009 Mark McLoughlin - 2:0.10.91-0.4.rc1 - Update to qemu-kvm-0.11-rc1; no changes from rc1-rc0 From rjones at fedoraproject.org Fri Aug 7 08:57:49 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 7 Aug 2009 08:57:49 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.85, 1.86 Message-ID: <20090807085749.741CF11C00D7@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20743 Modified Files: libguestfs.spec Log Message: Rerun autoreconf because patch touches configure script. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.85 retrieving revision 1.86 diff -u -p -r1.85 -r1.86 --- libguestfs.spec 7 Aug 2009 08:38:23 -0000 1.85 +++ libguestfs.spec 7 Aug 2009 08:57:49 -0000 1.86 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -13,6 +13,7 @@ Source0: http://libguestfs.org/downl BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Patch0: 0001-Allow-network-interface-to-be-configured.patch +BuildRequires: automake, autoconf, libtool # Basic build requirements: BuildRequires: /usr/bin/pod2man @@ -295,6 +296,7 @@ Requires: jpackage-utils mkdir -p daemon/m4 %patch0 -p1 +autoreconf -i %build @@ -545,8 +547,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-2 +* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-3 - Set network interface to ne2k_pci (workaround for RHBZ#516022). +- Rerun autoconf because patch touches configure script. * Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1 - New upstream release 1.0.66. From rjones at fedoraproject.org Fri Aug 7 09:06:39 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 7 Aug 2009 09:06:39 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.86, 1.87 Message-ID: <20090807090639.AEB0B11C00D7@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22844 Modified Files: libguestfs.spec Log Message: Add BR gettext, gettext-devel. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.86 retrieving revision 1.87 diff -u -p -r1.86 -r1.87 --- libguestfs.spec 7 Aug 2009 08:57:49 -0000 1.86 +++ libguestfs.spec 7 Aug 2009 09:06:39 -0000 1.87 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -13,7 +13,7 @@ Source0: http://libguestfs.org/downl BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Patch0: 0001-Allow-network-interface-to-be-configured.patch -BuildRequires: automake, autoconf, libtool +BuildRequires: automake, autoconf, libtool, gettext, gettext-devel # Basic build requirements: BuildRequires: /usr/bin/pod2man @@ -547,7 +547,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-3 +* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-4 - Set network interface to ne2k_pci (workaround for RHBZ#516022). - Rerun autoconf because patch touches configure script. From rjones at fedoraproject.org Fri Aug 7 09:14:48 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 7 Aug 2009 09:14:48 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.87, 1.88 Message-ID: <20090807091448.ED4C211C00D7@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25520 Modified Files: libguestfs.spec Log Message: Add BR cvs. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.87 retrieving revision 1.88 diff -u -p -r1.87 -r1.88 --- libguestfs.spec 7 Aug 2009 09:06:39 -0000 1.87 +++ libguestfs.spec 7 Aug 2009 09:14:48 -0000 1.88 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.66 -Release: 4%{?dist} +Release: 5%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -13,7 +13,7 @@ Source0: http://libguestfs.org/downl BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Patch0: 0001-Allow-network-interface-to-be-configured.patch -BuildRequires: automake, autoconf, libtool, gettext, gettext-devel +BuildRequires: automake, autoconf, libtool, gettext, gettext-devel, cvs # Basic build requirements: BuildRequires: /usr/bin/pod2man @@ -547,7 +547,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-4 +* Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-5 - Set network interface to ne2k_pci (workaround for RHBZ#516022). - Rerun autoconf because patch touches configure script. From kraxel at fedoraproject.org Fri Aug 7 09:40:13 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Fri, 7 Aug 2009 09:40:13 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel .cvsignore, 1.40, 1.41 sources, 1.55, 1.56 Message-ID: <20090807094013.B0E6C11C0439@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31986 Modified Files: .cvsignore sources Log Message: upload xen 3.4.1 Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/.cvsignore,v retrieving revision 1.40 retrieving revision 1.41 diff -u -p -r1.40 -r1.41 --- .cvsignore 27 May 2009 16:24:00 -0000 1.40 +++ .cvsignore 7 Aug 2009 09:40:13 -0000 1.41 @@ -6,3 +6,4 @@ lwip-1.3.0.tar.gz pciutils-2.2.9.tar.bz2 zlib-1.2.3.tar.gz xen-3.4.0.tar.gz +xen-3.4.1.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/sources,v retrieving revision 1.55 retrieving revision 1.56 diff -u -p -r1.55 -r1.56 --- sources 27 May 2009 16:24:00 -0000 1.55 +++ sources 7 Aug 2009 09:40:13 -0000 1.56 @@ -4,3 +4,4 @@ bf8f1f9e3ca83d732c00a79a6ef29bc4 newlib cec05e7785497c5e19da2f114b934ffd pciutils-2.2.9.tar.bz2 debc62758716a169df9f62e6ab2bc634 zlib-1.2.3.tar.gz bf1b29f07ec2c12673779600aea183b2 xen-3.4.0.tar.gz +c3f8dbcf833140825b1e2f16b64655f3 xen-3.4.1.tar.gz From rel-eng at fedoraproject.org Fri Aug 7 09:56:09 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 07 Aug 2009 09:56:09 -0000 Subject: [fedora-virt-maint] #2060: please tag qemu-0.10.91-0.5.rc1.fc12 into f12-alpha Message-ID: <049.83298aeb3e4d7dd6c3bda51382fbd254@fedoraproject.org> #2060: please tag qemu-0.10.91-0.5.rc1.fc12 into f12-alpha -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Keywords: | -----------------------------+---------------------------------------------- only change since -0.4.rc1 is: * Fri Aug 7 2009 Mark McLoughlin - 2:0.10.91-0.5.rc1 - Fix virtio_net with -net user (#516022) this is a regression which totally breaks libguestfs since that's a feature we want people to test in F-12 alpha, it'd be nice to get it in if there's still time Tested by me, fixes the libguestfs regression and hasn't seemed to cause any other problems -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From kraxel at fedoraproject.org Fri Aug 7 14:56:03 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Fri, 7 Aug 2009 14:56:03 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel .cvsignore, 1.41, 1.42 sources, 1.56, 1.57 xen.spec, 1.240, 1.241 Message-ID: <20090807145603.1A77F11C00D7@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20403 Modified Files: .cvsignore sources xen.spec Log Message: 3.4.1 update Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/.cvsignore,v retrieving revision 1.41 retrieving revision 1.42 diff -u -p -r1.41 -r1.42 --- .cvsignore 7 Aug 2009 09:40:13 -0000 1.41 +++ .cvsignore 7 Aug 2009 14:56:02 -0000 1.42 @@ -5,5 +5,4 @@ newlib-1.16.0.tar.gz lwip-1.3.0.tar.gz pciutils-2.2.9.tar.bz2 zlib-1.2.3.tar.gz -xen-3.4.0.tar.gz xen-3.4.1.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/sources,v retrieving revision 1.56 retrieving revision 1.57 diff -u -p -r1.56 -r1.57 --- sources 7 Aug 2009 09:40:13 -0000 1.56 +++ sources 7 Aug 2009 14:56:02 -0000 1.57 @@ -3,5 +3,4 @@ bf8f1f9e3ca83d732c00a79a6ef29bc4 newlib 36cc57650cffda9a0269493be2a169bb lwip-1.3.0.tar.gz cec05e7785497c5e19da2f114b934ffd pciutils-2.2.9.tar.bz2 debc62758716a169df9f62e6ab2bc634 zlib-1.2.3.tar.gz -bf1b29f07ec2c12673779600aea183b2 xen-3.4.0.tar.gz c3f8dbcf833140825b1e2f16b64655f3 xen-3.4.1.tar.gz Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.240 retrieving revision 1.241 diff -u -p -r1.240 -r1.241 --- xen.spec 5 Aug 2009 11:49:56 -0000 1.240 +++ xen.spec 7 Aug 2009 14:56:02 -0000 1.241 @@ -5,12 +5,12 @@ Summary: Xen is a virtual machine monitor Name: xen -Version: 3.4.0 -Release: 4%{?dist} +Version: 3.4.1 +Release: 1%{?dist} Group: Development/Libraries License: GPLv2+ and LGPLv2+ and BSD URL: http://xen.org/ -Source0: http://bits.xensource.com/oss-xen/release/3.4.0/xen-3.4.0.tar.gz +Source0: http://bits.xensource.com/oss-xen/release/3.4.0/xen-%{version}.tar.gz Source1: %{name}.modules Source2: %{name}.logrotate Source3: dom0-kernel.repo @@ -31,7 +31,6 @@ Source31: sysconfig.xenconsoled Source32: sysconfig.blktapctrl Patch1: xen-initscript.patch -Patch2: xen-fix-deprecated-warnings.patch Patch3: xen-xenstore-cli.patch Patch4: xen-dumpdir.patch Patch5: xen-net-disable-iptables-on-bridge.patch @@ -67,7 +66,8 @@ Requires: xen-runtime = %{version}-%{rel # installs xen. Requires: kpartx Prereq: chkconfig -ExclusiveArch: %{ix86} x86_64 ia64 +ExclusiveArch: %{ix86} x86_64 ia64 noarch +BuildArch: %{ix86} x86_64 ia64 %description This package contains the XenD daemon and xm command line @@ -110,7 +110,8 @@ This package contains the Xen hypervisor %package doc Summary: Xen documentation -Group: Development/Libraries +Group: Documentation +BuildArch: noarch %description doc This package contains the Xen documentation. @@ -129,7 +130,6 @@ which manage Xen virtual machines. %prep %setup -q %patch1 -p1 -%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 @@ -449,6 +449,10 @@ rm -rf %{buildroot} %{_libdir}/*.a %changelog +* Fri Aug 7 2007 Gerd Hoffmann - 3.4.1-1 +- update to 3.4.1 release. +- make doc subpackage noarch. + * Wed Aug 5 2009 Gerd Hoffmann - 3.4.0-4 - Kill info files. No xen docs, just standard gnu stuff. - kill -Werror in tools/libxc to fix build. From kraxel at fedoraproject.org Fri Aug 7 15:02:49 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Fri, 7 Aug 2009 15:02:49 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel xen.spec,1.241,1.242 Message-ID: <20090807150249.9419811C00D7@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22248 Modified Files: xen.spec Log Message: fix year tyops Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.241 retrieving revision 1.242 diff -u -p -r1.241 -r1.242 --- xen.spec 7 Aug 2009 14:56:02 -0000 1.241 +++ xen.spec 7 Aug 2009 15:02:49 -0000 1.242 @@ -449,7 +449,7 @@ rm -rf %{buildroot} %{_libdir}/*.a %changelog -* Fri Aug 7 2007 Gerd Hoffmann - 3.4.1-1 +* Fri Aug 7 2009 Gerd Hoffmann - 3.4.1-1 - update to 3.4.1 release. - make doc subpackage noarch. From kraxel at fedoraproject.org Fri Aug 7 15:14:17 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Fri, 7 Aug 2009 15:14:17 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel xen.spec,1.242,1.243 Message-ID: <20090807151417.987AD11C00D7@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24893 Modified Files: xen.spec Log Message: buildarch fixup Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.242 retrieving revision 1.243 diff -u -p -r1.242 -r1.243 --- xen.spec 7 Aug 2009 15:02:49 -0000 1.242 +++ xen.spec 7 Aug 2009 15:14:15 -0000 1.243 @@ -67,7 +67,6 @@ Requires: xen-runtime = %{version}-%{rel Requires: kpartx Prereq: chkconfig ExclusiveArch: %{ix86} x86_64 ia64 noarch -BuildArch: %{ix86} x86_64 ia64 %description This package contains the XenD daemon and xm command line From kraxel at fedoraproject.org Fri Aug 7 15:27:58 2009 From: kraxel at fedoraproject.org (Gerd Hoffmann) Date: Fri, 7 Aug 2009 15:27:58 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel xen.spec,1.243,1.244 Message-ID: <20090807152758.94E0B11C00D7@cvs1.fedora.phx.redhat.com> Author: kraxel Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29472 Modified Files: xen.spec Log Message: buildarch fixup #2 Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.243 retrieving revision 1.244 diff -u -p -r1.243 -r1.244 --- xen.spec 7 Aug 2009 15:14:15 -0000 1.243 +++ xen.spec 7 Aug 2009 15:27:58 -0000 1.244 @@ -66,7 +66,8 @@ Requires: xen-runtime = %{version}-%{rel # installs xen. Requires: kpartx Prereq: chkconfig -ExclusiveArch: %{ix86} x86_64 ia64 noarch +ExclusiveArch: %{ix86} x86_64 ia64 +#ExclusiveArch: %{ix86} x86_64 ia64 noarch %description This package contains the XenD daemon and xm command line @@ -110,7 +111,7 @@ This package contains the Xen hypervisor %package doc Summary: Xen documentation Group: Documentation -BuildArch: noarch +#BuildArch: noarch %description doc This package contains the Xen documentation. @@ -450,7 +451,6 @@ rm -rf %{buildroot} %changelog * Fri Aug 7 2009 Gerd Hoffmann - 3.4.1-1 - update to 3.4.1 release. -- make doc subpackage noarch. * Wed Aug 5 2009 Gerd Hoffmann - 3.4.0-4 - Kill info files. No xen docs, just standard gnu stuff. From rel-eng at fedoraproject.org Fri Aug 7 16:03:06 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 07 Aug 2009 16:03:06 -0000 Subject: [fedora-virt-maint] Re: #2060: please tag qemu-0.10.91-0.5.rc1.fc12 into f12-alpha In-Reply-To: <049.83298aeb3e4d7dd6c3bda51382fbd254@fedoraproject.org> References: <049.83298aeb3e4d7dd6c3bda51382fbd254@fedoraproject.org> Message-ID: <058.8b92d0351d8d0e67fbff39c23426409d@fedoraproject.org> #2060: please tag qemu-0.10.91-0.5.rc1.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by jkeating): +1 -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Aug 7 16:09:49 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 07 Aug 2009 16:09:49 -0000 Subject: [fedora-virt-maint] Re: #2060: please tag qemu-0.10.91-0.5.rc1.fc12 into f12-alpha In-Reply-To: <049.83298aeb3e4d7dd6c3bda51382fbd254@fedoraproject.org> References: <049.83298aeb3e4d7dd6c3bda51382fbd254@fedoraproject.org> Message-ID: <058.4ff5e13c3e1ee528a0efa551ed467ad0@fedoraproject.org> #2060: please tag qemu-0.10.91-0.5.rc1.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Alpha | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by notting): * status: new => closed * resolution: => fixed Comment: Tagged. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From markmc at fedoraproject.org Mon Aug 10 10:24:13 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 10 Aug 2009 10:24:13 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch, NONE, 1.1 libvirt.spec, 1.164, 1.165 Message-ID: <20090810102413.146A711C0344@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv925 Modified Files: libvirt.spec Added Files: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch Log Message: * Mon Aug 10 2009 Mark McLoughlin - 0.7.0-3 - Don't fail to start network if ipv6 modules is not loaded libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch: network_driver.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- NEW FILE libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch --- From: Mark McLoughlin Subject: [PATCH] Handle kernels with no ipv6 support If the ipv6 kernel module is not loaded, then we get this when starting a virtual network: libvir: Network Config error : cannot enable /proc/sys/net/ipv6/conf/virbr0/disable_ipv6: No such file or directory If disable_ipv6 is not present, we should just merrily continue on our way. * src/network_driver.c: make networkDisableIPV6() not fail if the kernel has no ipv6 support --- src/network_driver.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/src/network_driver.c b/src/network_driver.c index eaea454..84910ab 100644 --- a/src/network_driver.c +++ b/src/network_driver.c @@ -801,6 +801,12 @@ static int networkDisableIPV6(virConnectPtr conn, goto cleanup; } + if (access(field, W_OK) < 0 && errno == ENOENT) { + VIR_DEBUG("ipv6 appears to already be disabled on %s", network->def->bridge); + ret = 0; + goto cleanup; + } + if (virFileWriteStr(field, "1") < 0) { virReportSystemError(conn, errno, _("cannot enable %s"), field); -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.164 retrieving revision 1.165 diff -u -p -r1.164 -r1.165 --- libvirt.spec 6 Aug 2009 15:01:49 -0000 1.164 +++ libvirt.spec 10 Aug 2009 10:24:12 -0000 1.165 @@ -78,7 +78,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.0 -Release: 2%{?dist}%{?extra_release} +Release: 3%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -86,6 +86,9 @@ Source: libvirt-%{version}.tar.gz # Make sure qemu can access kernel/initrd (bug #516034) Patch01: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch +# Don't fail to start network if ipv6 modules is not loaded +Patch02: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch + # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) Patch200: libvirt-0.6.4-svirt-sound.patch @@ -256,6 +259,7 @@ of recent versions of Linux (and other O %setup -q %patch01 -p1 +%patch02 -p1 %patch200 -p0 @@ -617,6 +621,9 @@ fi %endif %changelog +* Mon Aug 10 2009 Mark McLoughlin - 0.7.0-3 +- Don't fail to start network if ipv6 modules is not loaded + * Thu Aug 6 2009 Mark McLoughlin - 0.7.0-2 - Make sure qemu can access kernel/initrd (bug #516034) - Set perms on /var/lib/libvirt/boot to 0711 (bug #516034) From markmc at fedoraproject.org Mon Aug 10 10:32:29 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 10 Aug 2009 10:32:29 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt.spec,1.165,1.166 Message-ID: <20090810103229.26B0E11C0344@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2708 Modified Files: libvirt.spec Log Message: Add bz number 516497 for reference Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.165 retrieving revision 1.166 diff -u -p -r1.165 -r1.166 --- libvirt.spec 10 Aug 2009 10:24:12 -0000 1.165 +++ libvirt.spec 10 Aug 2009 10:32:28 -0000 1.166 @@ -86,7 +86,7 @@ Source: libvirt-%{version}.tar.gz # Make sure qemu can access kernel/initrd (bug #516034) Patch01: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch -# Don't fail to start network if ipv6 modules is not loaded +# Don't fail to start network if ipv6 modules is not loaded (bug #516497) Patch02: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch # Temporary hack till PulseAudio autostart problems are sorted @@ -622,7 +622,7 @@ fi %changelog * Mon Aug 10 2009 Mark McLoughlin - 0.7.0-3 -- Don't fail to start network if ipv6 modules is not loaded +- Don't fail to start network if ipv6 modules is not loaded (#516497) * Thu Aug 6 2009 Mark McLoughlin - 0.7.0-2 - Make sure qemu can access kernel/initrd (bug #516034) From rjones at fedoraproject.org Mon Aug 10 11:38:33 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Mon, 10 Aug 2009 11:38:33 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.52,1.53 Message-ID: <20090810113833.3007311C0344@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17241/F-11 Modified Files: libguestfs.spec Log Message: Updated %check section with current build status. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.52 retrieving revision 1.53 diff -u -p -r1.52 -r1.53 --- libguestfs.spec 6 Aug 2009 17:50:56 -0000 1.52 +++ libguestfs.spec 10 Aug 2009 11:38:32 -0000 1.53 @@ -336,7 +336,9 @@ export LIBGUESTFS_DEBUG=1 # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu # 516022 all F-12 virtio-net gives "Network is unreachable" errors +# (WORKAROUND ENABLED) # 516096 ? F-11 race condition in swapoff/blockdev --rereadpt +# 516543 ? F-12 qemu-kvm segfaults when run inside a VM #%ifarch x86_64 #make check From rjones at fedoraproject.org Mon Aug 10 11:38:33 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Mon, 10 Aug 2009 11:38:33 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.88, 1.89 Message-ID: <20090810113833.48AF011C0344@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17241/devel Modified Files: libguestfs.spec Log Message: Updated %check section with current build status. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.88 retrieving revision 1.89 diff -u -p -r1.88 -r1.89 --- libguestfs.spec 7 Aug 2009 09:14:48 -0000 1.88 +++ libguestfs.spec 10 Aug 2009 11:38:33 -0000 1.89 @@ -350,10 +350,11 @@ export LIBGUESTFS_DEBUG=1 # 516022 all F-12 virtio-net gives "Network is unreachable" errors # (WORKAROUND ENABLED) # 516096 ? F-11 race condition in swapoff/blockdev --rereadpt +# 516543 ? F-12 qemu-kvm segfaults when run inside a VM -%ifarch x86_64 -make check -%endif +#%ifarch x86_64 +#make check +#%endif %install From apevec at fedoraproject.org Mon Aug 10 23:41:40 2009 From: apevec at fedoraproject.org (Alan Pevec) Date: Mon, 10 Aug 2009 23:41:40 +0000 (UTC) Subject: [fedora-virt-maint] rpms/collectd/F-11 .cvsignore, 1.7, 1.8 collectd-4.5.1-configure-OpenIPMI.patch, 1.1, 1.2 collectd.spec, 1.18, 1.19 sources, 1.7, 1.8 collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch, 1.2, NONE Message-ID: <20090810234140.D66DD11C0344@cvs1.fedora.phx.redhat.com> Author: apevec Update of /cvs/pkgs/rpms/collectd/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2448 Modified Files: .cvsignore collectd-4.5.1-configure-OpenIPMI.patch collectd.spec sources Removed Files: collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch Log Message: * Tue Aug 11 2009 Alan Pevec 4.5.4-1 - New upstream version 4.5.4 http://collectd.org/news.shtml#news66 - drop collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/collectd/F-11/.cvsignore,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- .cvsignore 2 Mar 2009 23:43:02 -0000 1.7 +++ .cvsignore 10 Aug 2009 23:41:40 -0000 1.8 @@ -1 +1 @@ -collectd-4.5.3.tar.bz2 +collectd-4.5.4.tar.bz2 collectd-4.5.1-configure-OpenIPMI.patch: configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: collectd-4.5.1-configure-OpenIPMI.patch =================================================================== RCS file: /cvs/pkgs/rpms/collectd/F-11/collectd-4.5.1-configure-OpenIPMI.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- collectd-4.5.1-configure-OpenIPMI.patch 30 Nov 2008 11:44:01 -0000 1.1 +++ collectd-4.5.1-configure-OpenIPMI.patch 10 Aug 2009 23:41:40 -0000 1.2 @@ -1,29 +1,29 @@ ---- configure.ORIG 2008-10-16 22:43:28.000000000 +0200 -+++ configure 2008-11-30 11:30:53.000000000 +0100 -@@ -36831,7 +36831,7 @@ +--- configure.orig 2009-05-09 14:00:51.000000000 +0200 ++++ configure 2009-08-11 01:29:42.000000000 +0200 +@@ -39191,7 +39191,7 @@ then - { echo "$as_me:$LINENO: checking for libOpenIPMIpthread" >&5 - echo $ECHO_N "checking for libOpenIPMIpthread... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking for libOpenIPMIpthread" >&5 + $as_echo_n "checking for libOpenIPMIpthread... " >&6; } - $PKG_CONFIG --exists OpenIPMIpthread 2>/dev/null -+ $PKG_CONFIG --exists OpenIPMI 2>/dev/null ++ $PKG_CONFIG --exists OpenIPMI 2>/dev/null if test "$?" != "0" then with_libopenipmipthread="no ($PKG_CONFIG doesn't know OpenIPMIpthread)" -@@ -36844,7 +36844,7 @@ +@@ -39204,7 +39204,7 @@ then - { echo "$as_me:$LINENO: checking for libOpenIPMIpthread CFLAGS" >&5 - echo $ECHO_N "checking for libOpenIPMIpthread CFLAGS... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking for libOpenIPMIpthread CFLAGS" >&5 + $as_echo_n "checking for libOpenIPMIpthread CFLAGS... " >&6; } - temp_result="`$PKG_CONFIG --cflags OpenIPMIpthread`" -+ temp_result="`$PKG_CONFIG --cflags OpenIPMI` -pthread" ++ temp_result="`$PKG_CONFIG --cflags OpenIPMI` -pthread" if test "$?" = "0" then with_libopenipmipthread_cflags="$temp_result" -@@ -36860,7 +36860,7 @@ +@@ -39220,7 +39220,7 @@ then - { echo "$as_me:$LINENO: checking for libOpenIPMIpthread LDFLAGS" >&5 - echo $ECHO_N "checking for libOpenIPMIpthread LDFLAGS... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking for libOpenIPMIpthread LDFLAGS" >&5 + $as_echo_n "checking for libOpenIPMIpthread LDFLAGS... " >&6; } - temp_result="`$PKG_CONFIG --libs OpenIPMIpthread`" -+ temp_result="-lOpenIPMIpthread `$PKG_CONFIG --libs OpenIPMI`" ++ temp_result="-lOpenIPMIpthread `$PKG_CONFIG --libs OpenIPMI`" if test "$?" = "0" then with_libopenipmipthread_ldflags="$temp_result" Index: collectd.spec =================================================================== RCS file: /cvs/pkgs/rpms/collectd/F-11/collectd.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -u -p -r1.18 -r1.19 --- collectd.spec 3 Mar 2009 15:26:08 -0000 1.18 +++ collectd.spec 10 Aug 2009 23:41:40 -0000 1.19 @@ -1,7 +1,7 @@ Summary: Statistics collection daemon for filling RRD files Name: collectd -Version: 4.5.3 -Release: 2%{?dist} +Version: 4.5.4 +Release: 1%{?dist} License: GPLv2 Group: System Environment/Daemons URL: http://collectd.org/ @@ -10,8 +10,6 @@ Source: http://collectd.org/files/%{name Patch0: %{name}-4.5.1-include-collectd.d.patch # bug 468067 "pkg-config --libs OpenIPMIpthread" fails Patch1: %{name}-4.5.1-configure-OpenIPMI.patch -# posted upstream -Patch2: collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -153,7 +151,6 @@ This plugin collects information from vi %setup -q %patch0 -p1 %patch1 -p0 -%patch2 -p1 sed -i.orig -e 's|-Werror||g' Makefile.in */Makefile.in @@ -410,6 +407,11 @@ fi %changelog +* Tue Aug 11 2009 Alan Pevec 4.5.4-1 +- New upstream version 4.5.4 + http://collectd.org/news.shtml#news66 +- drop collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch + * Tue Mar 03 2009 Alan Pevec 4.5.3-2 - patch for strict-aliasing issue in liboping.c Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/collectd/F-11/sources,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- sources 2 Mar 2009 23:43:02 -0000 1.7 +++ sources 10 Aug 2009 23:41:40 -0000 1.8 @@ -1 +1 @@ -f368200c4bedd64baba46094906e81ee collectd-4.5.3.tar.bz2 +b59500d1346c16a63ba10cbc6c0cf7df collectd-4.5.4.tar.bz2 --- collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch DELETED --- From rel-eng at fedoraproject.org Tue Aug 11 09:00:12 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 11 Aug 2009 09:00:12 -0000 Subject: [fedora-virt-maint] #2088: Please tag libvirt-0.7.0-3.fc12 into f12-alpha Message-ID: <049.13a64be4b1165962e075fabe88c08784@fedoraproject.org> #2088: Please tag libvirt-0.7.0-3.fc12 into f12-alpha -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Keywords: | -----------------------------+---------------------------------------------- #2051 requested -2 be tagged, but it appears it never actually got tagged even though the ticket got closed so, please now tag -3. The only change since -2 is: * Mon Aug 10 2009 Mark McLoughlin - 0.7.0-3 - Don't fail to start network if ipv6 modules is not loaded (#516497) Fairly trivial change to fix a problem on some machines. Tested by me. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Tue Aug 11 14:39:54 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 11 Aug 2009 14:39:54 -0000 Subject: [fedora-virt-maint] Re: #2088: Please tag libvirt-0.7.0-3.fc12 into f12-alpha In-Reply-To: <049.13a64be4b1165962e075fabe88c08784@fedoraproject.org> References: <049.13a64be4b1165962e075fabe88c08784@fedoraproject.org> Message-ID: <058.ddc6d52ba20b80eb2e6b2c542f81aa4c@fedoraproject.org> #2088: Please tag libvirt-0.7.0-3.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Alpha | Component: koji Resolution: | Keywords: ------------------------------+--------------------------------------------- Comment (by notting): +1 -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From apevec at fedoraproject.org Tue Aug 11 22:34:15 2009 From: apevec at fedoraproject.org (Alan Pevec) Date: Tue, 11 Aug 2009 22:34:15 +0000 (UTC) Subject: [fedora-virt-maint] rpms/collectd/F-11 collectd-4.5.4-fix-condrestart.patch, NONE, 1.1 collectd-4.5.4-libvirt-reconnect.patch, NONE, 1.1 collectd.spec, 1.19, 1.20 Message-ID: <20090811223416.09DC711C006D@cvs1.fedora.phx.redhat.com> Author: apevec Update of /cvs/pkgs/rpms/collectd/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32714 Modified Files: collectd.spec Added Files: collectd-4.5.4-fix-condrestart.patch collectd-4.5.4-libvirt-reconnect.patch Log Message: * Wed Aug 12 2009 Alan Pevec 4.5.4-2 - fix condrestart: on upgrade collectd is not restarted, bz# 516273 - collectd does not re-connect to libvirtd, bz# 480997 collectd-4.5.4-fix-condrestart.patch: init.d-collectd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE collectd-4.5.4-fix-condrestart.patch --- --- contrib/fedora/init.d-collectd.orig 2009-08-11 01:50:15.000000000 +0200 +++ contrib/fedora/init.d-collectd 2009-08-11 01:51:10.000000000 +0200 @@ -54,7 +54,7 @@ start ;; condrestart) - [ -f /var/lock/subsys/$prog ] && restart || : + [ -f /var/lock/subsys/$prog ] && stop && start || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" collectd-4.5.4-libvirt-reconnect.patch: libvirt.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) --- NEW FILE collectd-4.5.4-libvirt-reconnect.patch --- --- a/src/libvirt.c 2009-08-11 23:27:35.000000000 +0200 +++ b/src/libvirt.c 2009-08-12 00:14:58.000000000 +0200 @@ -49,6 +49,8 @@ /* Connection. */ static virConnectPtr conn = 0; +static char *conn_string = NULL; +static int conn_count = 0; /* Seconds between list refreshes, 0 disables completely. */ static int interval = 60; @@ -153,14 +155,14 @@ il_interface_devices = ignorelist_create (1); if (strcasecmp (key, "Connection") == 0) { - if (conn != 0) { + if (conn_count++ != 0) { ERROR ("Connection may only be given once in config file"); return 1; } - conn = virConnectOpenReadOnly (value); - if (!conn) { - VIRT_ERROR (NULL, "connection failed"); - return 1; + conn_string = strdup(value); + if (conn_string == NULL) { + ERROR ("libvirt plugin: Connection strdup failed."); + return -1; } return 0; } @@ -253,10 +255,11 @@ int i; if (conn == NULL) { - ERROR ("libvirt plugin: Not connected. Use Connection in " - "config file to supply connection URI. For more information " - "see "); - return -1; + conn = virConnectOpenReadOnly (conn_string); + if (conn == NULL) { + ERROR ("libvirt plugin: Not connected."); + return -1; + } } time (&t); @@ -264,8 +267,12 @@ /* Need to refresh domain or device lists? */ if ((last_refresh == (time_t) 0) || ((interval > 0) && ((last_refresh + interval) <= t))) { - if (refresh_lists () != 0) + if (refresh_lists () != 0) { + if (conn != NULL) + virConnectClose (conn); + conn = NULL; return -1; + } last_refresh = t; } Index: collectd.spec =================================================================== RCS file: /cvs/pkgs/rpms/collectd/F-11/collectd.spec,v retrieving revision 1.19 retrieving revision 1.20 diff -u -p -r1.19 -r1.20 --- collectd.spec 10 Aug 2009 23:41:40 -0000 1.19 +++ collectd.spec 11 Aug 2009 22:34:15 -0000 1.20 @@ -1,7 +1,7 @@ Summary: Statistics collection daemon for filling RRD files Name: collectd Version: 4.5.4 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 Group: System Environment/Daemons URL: http://collectd.org/ @@ -10,6 +10,10 @@ Source: http://collectd.org/files/%{name Patch0: %{name}-4.5.1-include-collectd.d.patch # bug 468067 "pkg-config --libs OpenIPMIpthread" fails Patch1: %{name}-4.5.1-configure-OpenIPMI.patch +# bug 516273 on upgrade collectd is not restarted +Patch2: %{name}-%{version}-fix-condrestart.patch +# bug 480997 collectd does not re-connect to libvirtd +Patch3: %{name}-%{version}-libvirt-reconnect.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -151,6 +155,8 @@ This plugin collects information from vi %setup -q %patch0 -p1 %patch1 -p0 +%patch2 -p0 +%patch3 -p1 sed -i.orig -e 's|-Werror||g' Makefile.in */Makefile.in @@ -407,6 +413,10 @@ fi %changelog +* Wed Aug 12 2009 Alan Pevec 4.5.4-2 +- fix condrestart: on upgrade collectd is not restarted, bz# 516273 +- collectd does not re-connect to libvirtd, bz# 480997 + * Tue Aug 11 2009 Alan Pevec 4.5.4-1 - New upstream version 4.5.4 http://collectd.org/news.shtml#news66 From rel-eng at fedoraproject.org Tue Aug 11 17:18:04 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 11 Aug 2009 17:18:04 -0000 Subject: [fedora-virt-maint] Re: #2088: Please tag libvirt-0.7.0-3.fc12 into f12-alpha In-Reply-To: <049.13a64be4b1165962e075fabe88c08784@fedoraproject.org> References: <049.13a64be4b1165962e075fabe88c08784@fedoraproject.org> Message-ID: <058.29912fbcc3902222991434ac9f541564@fedoraproject.org> #2088: Please tag libvirt-0.7.0-3.fc12 into f12-alpha ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Alpha | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rjones at fedoraproject.org Thu Aug 13 10:11:05 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 10:11:05 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.56,1.57 Message-ID: <20090813101105.1AD9D11C0097@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31552/EL-5 Modified Files: libguestfs.spec Log Message: Add requirement for libselinux{,-devel} which will be needed for the next release. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.56 retrieving revision 1.57 diff -u -p -r1.56 -r1.57 --- libguestfs.spec 7 Aug 2009 07:37:09 -0000 1.56 +++ libguestfs.spec 13 Aug 2009 10:11:04 -0000 1.57 @@ -34,6 +34,7 @@ BuildRequires: qemu-system-x86 >= 0.10.5 BuildRequires: qemu-system-ppc >= 0.10.5 %endif BuildRequires: createrepo +BuildRequires: libselinux-devel # This is only needed for RHEL 5 because readline-devel doesn't # properly depend on it, but doesn't do any harm on other platforms: @@ -43,7 +44,7 @@ BuildRequires: ncurses-devel BuildRequires: kernel, bash, coreutils, lvm2 BuildRequires: MAKEDEV, net-tools, file BuildRequires: module-init-tools, procps, strace, iputils -BuildRequires: dosfstools, lsof, scrub +BuildRequires: dosfstools, lsof, scrub, libselinux # Not supported in EPEL yet: ntfs-3g util-linux-ng zerofree # Not working: augeas-libs %ifarch %{ix86} x86_64 @@ -54,7 +55,7 @@ BuildRequires: grub, ntfsprogs Requires: kernel, bash, coreutils, lvm2 Requires: MAKEDEV, net-tools, file Requires: module-init-tools, procps, strace, iputils -Requires: dosfstools, lsof, scrub +Requires: dosfstools, lsof, scrub, libselinux # Not supported in EPEL yet: ntfs-3g util-linux-ng zerofree # Not working: augeas-libs %ifarch %{ix86} x86_64 From rjones at fedoraproject.org Thu Aug 13 10:11:05 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 10:11:05 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.89, 1.90 Message-ID: <20090813101105.7773111C043C@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31552/devel Modified Files: libguestfs.spec Log Message: Add requirement for libselinux{,-devel} which will be needed for the next release. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.89 retrieving revision 1.90 diff -u -p -r1.89 -r1.90 --- libguestfs.spec 10 Aug 2009 11:38:33 -0000 1.89 +++ libguestfs.spec 13 Aug 2009 10:11:05 -0000 1.90 @@ -25,6 +25,7 @@ BuildRequires: squashfs-tools BuildRequires: qemu-kvm >= 0.10-7 BuildRequires: createrepo BuildRequires: glibc-static +BuildRequires: libselinux-devel # This is only needed for RHEL 5 because readline-devel doesn't # properly depend on it, but doesn't do any harm on other platforms: @@ -34,7 +35,7 @@ BuildRequires: ncurses-devel BuildRequires: kernel, bash, coreutils, lvm2, ntfs-3g, util-linux-ng BuildRequires: MAKEDEV, net-tools, augeas-libs, file BuildRequires: module-init-tools, procps, strace, iputils -BuildRequires: dosfstools, zerofree, lsof, scrub +BuildRequires: dosfstools, zerofree, lsof, scrub, libselinux %ifarch %{ix86} x86_64 BuildRequires: grub, ntfsprogs %endif @@ -43,7 +44,7 @@ BuildRequires: grub, ntfsprogs Requires: kernel, bash, coreutils, lvm2, ntfs-3g, util-linux-ng Requires: MAKEDEV, net-tools, augeas-libs, file Requires: module-init-tools, procps, strace, iputils -Requires: dosfstools, zerofree, lsof, scrub +Requires: dosfstools, zerofree, lsof, scrub, libselinux %ifarch %{ix86} x86_64 Requires: grub, ntfsprogs %endif From rjones at fedoraproject.org Thu Aug 13 10:11:05 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 10:11:05 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.53,1.54 Message-ID: <20090813101105.488B911C0349@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31552/F-11 Modified Files: libguestfs.spec Log Message: Add requirement for libselinux{,-devel} which will be needed for the next release. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- libguestfs.spec 10 Aug 2009 11:38:32 -0000 1.53 +++ libguestfs.spec 13 Aug 2009 10:11:05 -0000 1.54 @@ -22,6 +22,7 @@ BuildRequires: squashfs-tools BuildRequires: qemu-kvm >= 0.10-7 BuildRequires: createrepo BuildRequires: glibc-static +BuildRequires: libselinux-devel # This is only needed for RHEL 5 because readline-devel doesn't # properly depend on it, but doesn't do any harm on other platforms: @@ -31,7 +32,7 @@ BuildRequires: ncurses-devel BuildRequires: kernel, bash, coreutils, lvm2, ntfs-3g, util-linux-ng BuildRequires: MAKEDEV, net-tools, augeas-libs, file BuildRequires: module-init-tools, procps, strace, iputils -BuildRequires: dosfstools, zerofree, lsof, scrub +BuildRequires: dosfstools, zerofree, lsof, scrub, libselinux %ifarch %{ix86} x86_64 BuildRequires: grub, ntfsprogs %endif @@ -40,7 +41,7 @@ BuildRequires: grub, ntfsprogs Requires: kernel, bash, coreutils, lvm2, ntfs-3g, util-linux-ng Requires: MAKEDEV, net-tools, augeas-libs, file Requires: module-init-tools, procps, strace, iputils -Requires: dosfstools, zerofree, lsof, scrub +Requires: dosfstools, zerofree, lsof, scrub, libselinux %ifarch %{ix86} x86_64 Requires: grub, ntfsprogs %endif From berrange at fedoraproject.org Thu Aug 13 15:27:44 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Thu, 13 Aug 2009 15:27:44 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-0.7.0-policy-kit-rewrite.patch, NONE, 1.1 libvirt.spec, 1.166, 1.167 Message-ID: <20090813152744.655C711C0097@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22411 Modified Files: libvirt.spec Added Files: libvirt-0.7.0-policy-kit-rewrite.patch Log Message: Rewrite policykit support (rhbz #499970) libvirt-0.7.0-policy-kit-rewrite.patch: configure.in | 73 +++++++++++++++++++++++++++++-------------- qemud/Makefile.am | 11 +++++- qemud/libvirtd.policy | 42 ------------------------ qemud/libvirtd.policy-0 | 42 ++++++++++++++++++++++++ qemud/libvirtd.policy-1 | 42 ++++++++++++++++++++++++ qemud/qemud.c | 4 +- qemud/qemud.h | 4 +- qemud/remote.c | 81 +++++++++++++++++++++++++++++++++++++++++++++--- src/remote_internal.c | 7 ++++ 9 files changed, 230 insertions(+), 76 deletions(-) --- NEW FILE libvirt-0.7.0-policy-kit-rewrite.patch --- diff -rupN libvirt-0.7.0/configure.in libvirt-0.7.0.new/configure.in --- libvirt-0.7.0/configure.in 2009-08-05 08:53:49.000000000 -0400 +++ libvirt-0.7.0.new/configure.in 2009-08-13 08:37:22.393897620 -0400 @@ -641,40 +641,61 @@ AC_SUBST([SASL_LIBS]) dnl PolicyKit library POLKIT_CFLAGS= POLKIT_LIBS= +PKCHECK_PATH= AC_ARG_WITH([polkit], [ --with-polkit use PolicyKit for UNIX socket access checks], [], [with_polkit=check]) +with_polkit0=no +with_polkit1=no if test "x$with_polkit" = "xyes" -o "x$with_polkit" = "xcheck"; then - PKG_CHECK_MODULES(POLKIT, polkit-dbus >= $POLKIT_REQUIRED, - [with_polkit=yes], [ - if test "x$with_polkit" = "xcheck" ; then - with_polkit=no - else - AC_MSG_ERROR( - [You must install PolicyKit >= $POLKIT_REQUIRED to compile libvirt]) - fi - ]) - if test "x$with_polkit" = "xyes" ; then + dnl Check for new polkit first - just a binary + AC_PATH_PROG([PKCHECK_PATH],[pkcheck], [], [/usr/sbin:$PATH]) + if test "x$PKCHECK_PATH" != "x" ; then + AC_DEFINE_UNQUOTED([PKCHECK_PATH],["$PKCHECK_PATH"],[Location of pkcheck program]) AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1, - [use PolicyKit for UNIX socket access checks]) - - old_CFLAGS=$CFLAGS - old_LDFLAGS=$LDFLAGS - CFLAGS="$CFLAGS $POLKIT_CFLAGS" - LDFLAGS="$LDFLAGS $POLKIT_LIBS" - AC_CHECK_FUNCS([polkit_context_is_caller_authorized]) - CFLAGS="$old_CFLAGS" - LDFLAGS="$old_LDFLAGS" - - AC_PATH_PROG([POLKIT_AUTH], [polkit-auth]) - if test "x$POLKIT_AUTH" != "x"; then - AC_DEFINE_UNQUOTED([POLKIT_AUTH],["$POLKIT_AUTH"],[Location of polkit-auth program]) + [use PolicyKit for UNIX socket access checks]) + AC_DEFINE_UNQUOTED([HAVE_POLKIT1], 1, + [use PolicyKit for UNIX socket access checks]) + with_polkit="yes" + with_polkit1="yes" + else + dnl Check for old polkit second - library + binary + PKG_CHECK_MODULES(POLKIT, polkit-dbus >= $POLKIT_REQUIRED, + [with_polkit=yes], [ + if test "x$with_polkit" = "xcheck" ; then + with_polkit=no + else + AC_MSG_ERROR( + [You must install PolicyKit >= $POLKIT_REQUIRED to compile libvirt]) + fi + ]) + if test "x$with_polkit" = "xyes" ; then + AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1, + [use PolicyKit for UNIX socket access checks]) + AC_DEFINE_UNQUOTED([HAVE_POLKIT0], 1, + [use PolicyKit for UNIX socket access checks]) + + old_CFLAGS=$CFLAGS + old_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS $POLKIT_CFLAGS" + LDFLAGS="$LDFLAGS $POLKIT_LIBS" + AC_CHECK_FUNCS([polkit_context_is_caller_authorized]) + CFLAGS="$old_CFLAGS" + LDFLAGS="$old_LDFLAGS" + + AC_PATH_PROG([POLKIT_AUTH], [polkit-auth]) + if test "x$POLKIT_AUTH" != "x"; then + AC_DEFINE_UNQUOTED([POLKIT_AUTH],["$POLKIT_AUTH"],[Location of polkit-auth program]) + fi + with_polkit0="yes" fi fi fi AM_CONDITIONAL([HAVE_POLKIT], [test "x$with_polkit" = "xyes"]) +AM_CONDITIONAL([HAVE_POLKIT0], [test "x$with_polkit0" = "xyes"]) +AM_CONDITIONAL([HAVE_POLKIT1], [test "x$with_polkit1" = "xyes"]) AC_SUBST([POLKIT_CFLAGS]) AC_SUBST([POLKIT_LIBS]) @@ -1695,7 +1716,11 @@ else AC_MSG_NOTICE([ avahi: no]) fi if test "$with_polkit" = "yes" ; then -AC_MSG_NOTICE([ polkit: $POLKIT_CFLAGS $POLKIT_LIBS]) +if test "$with_polkit0" = "yes" ; then +AC_MSG_NOTICE([ polkit: $POLKIT_CFLAGS $POLKIT_LIBS (version 0)]) +else +AC_MSG_NOTICE([ polkit: $PKCHECK_PATH (version 1)]) +fi else AC_MSG_NOTICE([ polkit: no]) fi diff -rupN libvirt-0.7.0/qemud/libvirtd.policy libvirt-0.7.0.new/qemud/libvirtd.policy --- libvirt-0.7.0/qemud/libvirtd.policy 2009-07-22 09:37:32.000000000 -0400 +++ libvirt-0.7.0.new/qemud/libvirtd.policy 1969-12-31 19:00:00.000000000 -0500 @@ -1,42 +0,0 @@ - - - - - - - Monitor local virtualized systems - System policy prevents monitoring of local virtualized systems - - - yes - yes - yes - - - - - Manage local virtualized systems - System policy prevents management of local virtualized systems - - - no - no - auth_admin_keep_session - - - diff -rupN libvirt-0.7.0/qemud/libvirtd.policy-0 libvirt-0.7.0.new/qemud/libvirtd.policy-0 --- libvirt-0.7.0/qemud/libvirtd.policy-0 1969-12-31 19:00:00.000000000 -0500 +++ libvirt-0.7.0.new/qemud/libvirtd.policy-0 2009-08-13 08:37:22.408883879 -0400 @@ -0,0 +1,42 @@ + + + + + + + Monitor local virtualized systems + System policy prevents monitoring of local virtualized systems + + + yes + yes + yes + + + + + Manage local virtualized systems + System policy prevents management of local virtualized systems + + + no + no + auth_admin_keep_session + + + diff -rupN libvirt-0.7.0/qemud/libvirtd.policy-1 libvirt-0.7.0.new/qemud/libvirtd.policy-1 --- libvirt-0.7.0/qemud/libvirtd.policy-1 1969-12-31 19:00:00.000000000 -0500 +++ libvirt-0.7.0.new/qemud/libvirtd.policy-1 2009-08-13 08:37:22.412905763 -0400 @@ -0,0 +1,42 @@ + + + + + + + Monitor local virtualized systems + System policy prevents monitoring of local virtualized systems + + + yes + yes + yes + + + + + Manage local virtualized systems + System policy prevents management of local virtualized systems + + + no + no + auth_admin_keep + + + diff -rupN libvirt-0.7.0/qemud/Makefile.am libvirt-0.7.0.new/qemud/Makefile.am --- libvirt-0.7.0/qemud/Makefile.am 2009-07-22 09:37:32.000000000 -0400 +++ libvirt-0.7.0.new/qemud/Makefile.am 2009-08-13 08:37:22.398915449 -0400 @@ -21,7 +21,8 @@ EXTRA_DIST = \ remote_protocol.x \ libvirtd.conf \ libvirtd.init.in \ - libvirtd.policy \ + libvirtd.policy-0 \ + libvirtd.policy-1 \ libvirtd.sasl \ libvirtd.sysconf \ libvirtd.aug \ @@ -147,7 +148,13 @@ endif libvirtd_LDADD += ../src/libvirt.la if HAVE_POLKIT +if HAVE_POLKIT0 policydir = $(datadir)/PolicyKit/policy +policyfile = libvirtd.policy-0 +else +policydir = $(datadir)/polkit-1/actions +policyfile = libvirtd.policy-1 +endif endif if HAVE_AVAHI @@ -197,7 +204,7 @@ endif if HAVE_POLKIT install-data-polkit:: install-init mkdir -p $(DESTDIR)$(policydir) - $(INSTALL_DATA) $(srcdir)/libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy + $(INSTALL_DATA) $(srcdir)/$(policyfile) $(DESTDIR)$(policydir)/org.libvirt.unix.policy uninstall-data-polkit:: install-init rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy else diff -rupN libvirt-0.7.0/qemud/qemud.c libvirt-0.7.0.new/qemud/qemud.c --- libvirt-0.7.0/qemud/qemud.c 2009-07-22 09:37:32.000000000 -0400 +++ libvirt-0.7.0.new/qemud/qemud.c 2009-08-13 08:37:22.419878018 -0400 @@ -895,7 +895,7 @@ static struct qemud_server *qemudNetwork } #endif -#ifdef HAVE_POLKIT +#if HAVE_POLKIT0 if (auth_unix_rw == REMOTE_AUTH_POLKIT || auth_unix_ro == REMOTE_AUTH_POLKIT) { DBusError derr; @@ -982,7 +982,7 @@ static struct qemud_server *qemudNetwork sock = sock->next; } -#ifdef HAVE_POLKIT +#if HAVE_POLKIT0 if (server->sysbus) dbus_connection_unref(server->sysbus); #endif diff -rupN libvirt-0.7.0/qemud/qemud.h libvirt-0.7.0.new/qemud/qemud.h --- libvirt-0.7.0/qemud/qemud.h 2009-07-23 12:33:02.000000000 -0400 +++ libvirt-0.7.0.new/qemud/qemud.h 2009-08-13 08:37:22.425909852 -0400 @@ -34,7 +34,7 @@ #include #endif -#ifdef HAVE_POLKIT +#if HAVE_POLKIT0 #include #endif @@ -253,7 +253,7 @@ struct qemud_server { #if HAVE_SASL char **saslUsernameWhitelist; #endif -#if HAVE_POLKIT +#if HAVE_POLKIT0 DBusConnection *sysbus; #endif }; diff -rupN libvirt-0.7.0/qemud/remote.c libvirt-0.7.0.new/qemud/remote.c --- libvirt-0.7.0/qemud/remote.c 2009-07-23 12:33:02.000000000 -0400 +++ libvirt-0.7.0.new/qemud/remote.c 2009-08-13 08:37:22.431865087 -0400 @@ -43,7 +43,7 @@ #include #include "virterror_internal.h" -#ifdef HAVE_POLKIT +#if HAVE_POLKIT0 #include #include #endif @@ -3106,7 +3106,80 @@ remoteDispatchAuthSaslStep (struct qemud #endif /* HAVE_SASL */ -#if HAVE_POLKIT +#if HAVE_POLKIT1 +static int +remoteDispatchAuthPolkit (struct qemud_server *server, + struct qemud_client *client, + virConnectPtr conn ATTRIBUTE_UNUSED, + remote_error *rerr, + void *args ATTRIBUTE_UNUSED, + remote_auth_polkit_ret *ret) +{ + pid_t callerPid; + uid_t callerUid; + const char *action; + int status = -1; + char pidbuf[50]; + int rv; + + virMutexLock(&server->lock); + virMutexLock(&client->lock); + virMutexUnlock(&server->lock); + + action = client->readonly ? + "org.libvirt.unix.monitor" : + "org.libvirt.unix.manage"; + + const char * const pkcheck [] = { + PKCHECK_PATH, + "--action-id", action, + "--process", pidbuf, + "--allow-user-interaction", + NULL + }; + + REMOTE_DEBUG("Start PolicyKit auth %d", client->fd); + if (client->auth != REMOTE_AUTH_POLKIT) { + VIR_ERROR0(_("client tried invalid PolicyKit init request")); + goto authfail; + } + + if (qemudGetSocketIdentity(client->fd, &callerUid, &callerPid) < 0) { + VIR_ERROR0(_("cannot get peer socket identity")); + goto authfail; + } + + VIR_INFO(_("Checking PID %d running as %d"), callerPid, callerUid); + + rv = snprintf(pidbuf, sizeof pidbuf, "%d", callerPid); + if (rv < 0 || rv >= sizeof pidbuf) { + VIR_ERROR(_("Caller PID was too large %d"), callerPid); + goto authfail; + } + + if (virRun(NULL, pkcheck, &status) < 0) { + VIR_ERROR(_("Cannot invoke %s"), PKCHECK_PATH); + goto authfail; + } + if (status != 0) { + VIR_ERROR(_("Policy kit denied action %s from pid %d, uid %d, result: %d\n"), + action, callerPid, callerUid, status); + goto authfail; + } + VIR_INFO(_("Policy allowed action %s from pid %d, uid %d"), + action, callerPid, callerUid); + ret->complete = 1; + client->auth = REMOTE_AUTH_NONE; + + virMutexUnlock(&client->lock); + return 0; + +authfail: + remoteDispatchAuthError(rerr); + virMutexUnlock(&client->lock); + return -1; +} +#elif HAVE_POLKIT0 static int remoteDispatchAuthPolkit (struct qemud_server *server, struct qemud_client *client, @@ -3217,7 +3290,7 @@ authfail: return -1; } -#else /* HAVE_POLKIT */ +#else /* !HAVE_POLKIT0 & !HAVE_POLKIT1*/ static int remoteDispatchAuthPolkit (struct qemud_server *server ATTRIBUTE_UNUSED, @@ -3231,7 +3304,7 @@ remoteDispatchAuthPolkit (struct qemud_s remoteDispatchAuthError(rerr); return -1; } -#endif /* HAVE_POLKIT */ +#endif /* HAVE_POLKIT1 */ /*************************************************************** diff -rupN libvirt-0.7.0/src/remote_internal.c libvirt-0.7.0.new/src/remote_internal.c --- libvirt-0.7.0/src/remote_internal.c 2009-07-29 10:42:15.000000000 -0400 +++ libvirt-0.7.0.new/src/remote_internal.c 2009-08-13 10:55:57.607899170 -0400 @@ -6201,6 +6201,7 @@ remoteAuthPolkit (virConnectPtr conn, st virConnectAuthPtr auth) { remote_auth_polkit_ret ret; +#if HAVE_POLKIT0 int i, allowcb = 0; virConnectCredential cred = { VIR_CRED_EXTERNAL, @@ -6210,8 +6211,10 @@ remoteAuthPolkit (virConnectPtr conn, st NULL, 0, }; +#endif DEBUG0("Client initialize PolicyKit authentication"); +#if HAVE_POLKIT0 if (auth && auth->cb) { /* Check if the necessary credential type for PolicyKit is supported */ for (i = 0 ; i < auth->ncredtype ; i++) { @@ -6220,6 +6223,7 @@ remoteAuthPolkit (virConnectPtr conn, st } if (allowcb) { + DEBUG0("Client run callback for PolicyKit authentication"); /* Run the authentication callback */ if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0) { virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE, @@ -6233,6 +6237,9 @@ remoteAuthPolkit (virConnectPtr conn, st } else { DEBUG0("No auth callback provided"); } +#else + DEBUG0("No auth callback required for PolicyKit-1"); +#endif memset (&ret, 0, sizeof ret); if (call (conn, priv, in_open, REMOTE_PROC_AUTH_POLKIT, Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.166 retrieving revision 1.167 diff -u -p -r1.166 -r1.167 --- libvirt.spec 10 Aug 2009 10:32:28 -0000 1.166 +++ libvirt.spec 13 Aug 2009 15:27:42 -0000 1.167 @@ -78,7 +78,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.0 -Release: 3%{?dist}%{?extra_release} +Release: 4%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -89,6 +89,10 @@ Patch01: libvirt-0.7.0-chown-kernel-init # Don't fail to start network if ipv6 modules is not loaded (bug #516497) Patch02: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch +# Policykit rewrite (bug #499970) +# NB remove autoreconf hack & extra BRs when this goes away +Patch03: libvirt-0.7.0-policy-kit-rewrite.patch + # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) Patch200: libvirt-0.6.4-svirt-sound.patch @@ -106,8 +110,12 @@ Requires: iptables # needed for device enumeration Requires: hal %if %{with_polkit} +%if 0%{?fedora} >= 12 +Requires: polkit >= 0.93 +%else Requires: PolicyKit >= 0.6 %endif +%endif %if %{with_storage_fs} # For mount/umount in FS driver BuildRequires: util-linux @@ -161,8 +169,13 @@ BuildRequires: bridge-utils BuildRequires: cyrus-sasl-devel %endif %if %{with_polkit} +%if 0%{?fedora} >= 12 +# Only need the binary, not -devel +BuildRequires: polkit >= 0.93 +%else BuildRequires: PolicyKit-devel >= 0.6 %endif +%endif %if %{with_storage_fs} # For mount/umount in FS driver BuildRequires: util-linux @@ -205,6 +218,9 @@ BuildRequires: netcf-devel # Fedora build root suckage BuildRequires: gawk +# Temp hack for patch 3 +BuildRequires: libtool autoconf automake gettext + %description Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The main package includes @@ -260,6 +276,7 @@ of recent versions of Linux (and other O %patch01 -p1 %patch02 -p1 +%patch03 -p1 %patch200 -p0 @@ -352,6 +369,9 @@ of recent versions of Linux (and other O %define _without_netcf --without-netcf %endif +# Temp hack for patch 3 +autoreconf -if + %configure %{?_without_xen} \ %{?_without_qemu} \ %{?_without_openvz} \ @@ -541,8 +561,12 @@ fi %endif %if %{with_polkit} +%if 0%{?fedora} >= 12 +%{_datadir}/polkit-1/actions/org.libvirt.unix.policy +%else %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy %endif +%endif %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ %if %{with_qemu} @@ -621,6 +645,9 @@ fi %endif %changelog +* Thu Aug 13 2009 - 0.7.0-4 +- Rewrite policykit support (rhbz #499970) + * Mon Aug 10 2009 Mark McLoughlin - 0.7.0-3 - Don't fail to start network if ipv6 modules is not loaded (#516497) From berrange at fedoraproject.org Thu Aug 13 15:30:20 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Thu, 13 Aug 2009 15:30:20 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-0.7.0-numa-ignore-fail.patch, NONE, 1.1 libvirt.spec, 1.167, 1.168 Message-ID: <20090813153020.1E86A11C043B@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23557 Modified Files: libvirt.spec Added Files: libvirt-0.7.0-numa-ignore-fail.patch Log Message: Log and ignore NUMA topology problems (rhbz #506590) libvirt-0.7.0-numa-ignore-fail.patch: capabilities.c | 1 + lxc_conf.c | 12 ++++++++++-- uml_conf.c | 11 +++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) --- NEW FILE libvirt-0.7.0-numa-ignore-fail.patch --- commit 19bac57b26c2d46ac8a7601158f210f34acdceac Author: Daniel P. Berrange Date: Thu Aug 13 11:56:31 2009 +0100 Make LXC / UML drivers robust against NUMA topology brokenness Some kernel versions expose broken NUMA topology for some machines. This causes the LXC/UML drivers to fail to start. QEMU driver was already fixed for this problem * src/lxc_conf.c: Log and ignore failure to populate NUMA info * src/uml_conf.c: Log and ignore failure to populate NUMA info * src/capabilities.c: Reset nnumaCell to 0 after freeing diff --git a/src/capabilities.c b/src/capabilities.c index c6766b6..193a9fe 100644 --- a/src/capabilities.c +++ b/src/capabilities.c @@ -139,6 +139,7 @@ virCapabilitiesFreeNUMAInfo(virCapsPtr caps) for (i = 0 ; i < caps->host.nnumaCell ; i++) virCapabilitiesFreeHostNUMACell(caps->host.numaCell[i]); VIR_FREE(caps->host.numaCell); + caps->host.nnumaCell = 0; } /** diff --git a/src/lxc_conf.c b/src/lxc_conf.c index d06a024..fef60ba 100644 --- a/src/lxc_conf.c +++ b/src/lxc_conf.c @@ -30,6 +30,8 @@ #include "lxc_conf.h" #include "nodeinfo.h" #include "virterror_internal.h" +#include "logging.h" + #define VIR_FROM_THIS VIR_FROM_LXC @@ -46,8 +48,14 @@ virCapsPtr lxcCapsInit(void) 0, 0)) == NULL) goto no_memory; - if (nodeCapsInitNUMA(caps) < 0) - goto no_memory; + /* Some machines have problematic NUMA toplogy causing + * unexpected failures. We don't want to break the QEMU + * driver in this scenario, so log errors & carry on + */ + if (nodeCapsInitNUMA(caps) < 0) { + virCapabilitiesFreeNUMAInfo(caps); + VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities"); + } /* XXX shouldn't 'borrow' KVM's prefix */ virCapabilitiesSetMacPrefix(caps, (unsigned char []){ 0x52, 0x54, 0x00 }); diff --git a/src/uml_conf.c b/src/uml_conf.c index 48e05a8..4f756d4 100644 --- a/src/uml_conf.c +++ b/src/uml_conf.c @@ -45,6 +45,7 @@ #include "nodeinfo.h" #include "verify.h" #include "bridge.h" +#include "logging.h" #define VIR_FROM_THIS VIR_FROM_UML @@ -63,8 +64,14 @@ virCapsPtr umlCapsInit(void) { 0, 0)) == NULL) goto no_memory; - if (nodeCapsInitNUMA(caps) < 0) - goto no_memory; + /* Some machines have problematic NUMA toplogy causing + * unexpected failures. We don't want to break the QEMU + * driver in this scenario, so log errors & carry on + */ + if (nodeCapsInitNUMA(caps) < 0) { + virCapabilitiesFreeNUMAInfo(caps); + VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities"); + } if ((guest = virCapabilitiesAddGuest(caps, "uml", Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.167 retrieving revision 1.168 diff -u -p -r1.167 -r1.168 --- libvirt.spec 13 Aug 2009 15:27:42 -0000 1.167 +++ libvirt.spec 13 Aug 2009 15:30:19 -0000 1.168 @@ -93,6 +93,9 @@ Patch02: libvirt-0.7.0-handle-kernels-wi # NB remove autoreconf hack & extra BRs when this goes away Patch03: libvirt-0.7.0-policy-kit-rewrite.patch +# Log and ignore NUMA topology problems (rhbz #506590) +Patch04: libvirt-0.7.0-numa-ignore-fail.patch + # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) Patch200: libvirt-0.6.4-svirt-sound.patch @@ -277,6 +280,7 @@ of recent versions of Linux (and other O %patch01 -p1 %patch02 -p1 %patch03 -p1 +%patch04 -p1 %patch200 -p0 @@ -645,8 +649,9 @@ fi %endif %changelog -* Thu Aug 13 2009 - 0.7.0-4 +* Thu Aug 13 2009 Daniel P. Berrange - 0.7.0-4 - Rewrite policykit support (rhbz #499970) +- Log and ignore NUMA topology problems (rhbz #506590) * Mon Aug 10 2009 Mark McLoughlin - 0.7.0-3 - Don't fail to start network if ipv6 modules is not loaded (#516497) From berrange at fedoraproject.org Thu Aug 13 15:40:14 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Thu, 13 Aug 2009 15:40:14 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-manager/devel virt-manager.spec, 1.54, 1.55 Message-ID: <20090813154014.9457311C048B@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/virt-manager/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25081 Modified Files: virt-manager.spec Log Message: Remove obsolete dep on policykit agent Index: virt-manager.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-manager/devel/virt-manager.spec,v retrieving revision 1.54 retrieving revision 1.55 diff -u -p -r1.54 -r1.55 --- virt-manager.spec 29 Jul 2009 02:35:39 -0000 1.54 +++ virt-manager.spec 13 Aug 2009 15:40:14 -0000 1.55 @@ -8,7 +8,7 @@ Name: virt-manager Version: 0.8.0 -Release: 1%{_extra_release} +Release: 2%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -54,7 +54,8 @@ Requires: scrollkeeper # For console widget Requires: gtk-vnc-python >= 0.3.8 # For local authentication against PolicyKit -%if 0%{?fedora} >= 11 +# Fedora 12 has no need for a client agent. +%if 0%{?fedora} = 11 Requires: PolicyKit-authentication-agent %endif %if 0%{?fedora} >= 9 && 0%{?fedora} < 11 @@ -153,6 +154,9 @@ fi %{_datadir}/dbus-1/services/%{name}.service %changelog +* Thu Aug 13 2009 Daniel P. Berrange - 0.8.0-2.fc12 +- Remove obsolete dep on policykit agent + * Tue Jul 28 2009 Cole Robinson - 0.8.0-1.fc12 - Update to release 0.8.0 - New 'Clone VM' Wizard From berrange at fedoraproject.org Thu Aug 13 15:43:14 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Thu, 13 Aug 2009 15:43:14 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt.spec,1.168,1.169 Message-ID: <20090813154314.671CB11C0097@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25660 Modified Files: libvirt.spec Log Message: Added utterly crazy build dep on CVS for stupid autopoint tool Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.168 retrieving revision 1.169 diff -u -p -r1.168 -r1.169 --- libvirt.spec 13 Aug 2009 15:30:19 -0000 1.168 +++ libvirt.spec 13 Aug 2009 15:43:14 -0000 1.169 @@ -222,7 +222,7 @@ BuildRequires: netcf-devel BuildRequires: gawk # Temp hack for patch 3 -BuildRequires: libtool autoconf automake gettext +BuildRequires: libtool autoconf automake gettext cvs %description Libvirt is a C toolkit to interact with the virtualization capabilities From berrange at fedoraproject.org Thu Aug 13 15:51:03 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Thu, 13 Aug 2009 15:51:03 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-manager/devel virt-manager.spec, 1.55, 1.56 Message-ID: <20090813155103.E8F2411C0097@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/virt-manager/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27127 Modified Files: virt-manager.spec Log Message: Fix typo in comparison Index: virt-manager.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-manager/devel/virt-manager.spec,v retrieving revision 1.55 retrieving revision 1.56 diff -u -p -r1.55 -r1.56 --- virt-manager.spec 13 Aug 2009 15:40:14 -0000 1.55 +++ virt-manager.spec 13 Aug 2009 15:51:03 -0000 1.56 @@ -55,7 +55,7 @@ Requires: scrollkeeper Requires: gtk-vnc-python >= 0.3.8 # For local authentication against PolicyKit # Fedora 12 has no need for a client agent. -%if 0%{?fedora} = 11 +%if 0%{?fedora} == 11 Requires: PolicyKit-authentication-agent %endif %if 0%{?fedora} >= 9 && 0%{?fedora} < 11 From berrange at fedoraproject.org Thu Aug 13 16:07:23 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Thu, 13 Aug 2009 16:07:23 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt-0.6.2-numa-ignore-fail.patch, NONE, 1.1 libvirt.spec, 1.136, 1.137 Message-ID: <20090813160723.A409F11C0097@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30818 Modified Files: libvirt.spec Added Files: libvirt-0.6.2-numa-ignore-fail.patch Log Message: Log and ignore NUMA topology problems (rhbz #506590) libvirt-0.6.2-numa-ignore-fail.patch: capabilities.c | 16 +++++++++++++--- capabilities.h | 3 +++ libvirt_private.syms | 1 + lxc_conf.c | 11 +++++++++-- qemu_conf.c | 10 ++++++++-- uml_conf.c | 11 +++++++++-- 6 files changed, 43 insertions(+), 9 deletions(-) --- NEW FILE libvirt-0.6.2-numa-ignore-fail.patch --- diff -rup libvirt-0.6.2.orig/src/capabilities.c libvirt-0.6.2.new/src/capabilities.c --- libvirt-0.6.2.orig/src/capabilities.c 2009-03-24 12:31:01.000000000 +0000 +++ libvirt-0.6.2.new/src/capabilities.c 2009-08-13 12:10:57.000000000 +0100 @@ -122,6 +122,18 @@ virCapabilitiesFreeGuest(virCapsGuestPtr } +void +virCapabilitiesFreeNUMAInfo(virCapsPtr caps) +{ + int i; + + for (i = 0 ; i < caps->host.nnumaCell ; i++) + virCapabilitiesFreeHostNUMACell(caps->host.numaCell[i]); + VIR_FREE(caps->host.numaCell); + caps->host.nnumaCell = 0; +} + + /** * virCapabilitiesFree: * @caps: object to free @@ -141,9 +153,7 @@ virCapabilitiesFree(virCapsPtr caps) { for (i = 0 ; i < caps->host.nfeatures ; i++) VIR_FREE(caps->host.features[i]); VIR_FREE(caps->host.features); - for (i = 0 ; i < caps->host.nnumaCell ; i++) - virCapabilitiesFreeHostNUMACell(caps->host.numaCell[i]); - VIR_FREE(caps->host.numaCell); + virCapabilitiesFreeNUMAInfo(caps); for (i = 0 ; i < caps->host.nmigrateTrans ; i++) VIR_FREE(caps->host.migrateTrans[i]); diff -rup libvirt-0.6.2.orig/src/capabilities.h libvirt-0.6.2.new/src/capabilities.h --- libvirt-0.6.2.orig/src/capabilities.h 2009-03-24 12:31:01.000000000 +0000 +++ libvirt-0.6.2.new/src/capabilities.h 2009-08-13 11:50:46.000000000 +0100 @@ -118,6 +118,9 @@ extern void virCapabilitiesFree(virCapsPtr caps); extern void +virCapabilitiesFreeNUMAInfo(virCapsPtr caps); + +extern void virCapabilitiesSetMacPrefix(virCapsPtr caps, unsigned char *prefix); diff -rup libvirt-0.6.2.orig/src/libvirt_private.syms libvirt-0.6.2.new/src/libvirt_private.syms --- libvirt-0.6.2.orig/src/libvirt_private.syms 2009-04-03 15:04:28.000000000 +0100 +++ libvirt-0.6.2.new/src/libvirt_private.syms 2009-08-13 11:50:59.000000000 +0100 @@ -24,6 +24,7 @@ virCapabilitiesDefaultGuestEmulator; virCapabilitiesDefaultGuestMachine; virCapabilitiesFormatXML; virCapabilitiesFree; +virCapabilitiesFreeNUMAInfo; virCapabilitiesNew; virCapabilitiesSetMacPrefix; virCapabilitiesGenerateMac; diff -rup libvirt-0.6.2.orig/src/lxc_conf.c libvirt-0.6.2.new/src/lxc_conf.c --- libvirt-0.6.2.orig/src/lxc_conf.c 2009-01-31 09:04:17.000000000 +0000 +++ libvirt-0.6.2.new/src/lxc_conf.c 2009-08-13 11:58:41.000000000 +0100 @@ -30,6 +30,7 @@ #include "lxc_conf.h" #include "nodeinfo.h" #include "virterror_internal.h" +#include "logging.h" #define VIR_FROM_THIS VIR_FROM_LXC @@ -46,8 +47,14 @@ virCapsPtr lxcCapsInit(void) 0, 0)) == NULL) goto no_memory; - if (virCapsInitNUMA(caps) < 0) - goto no_memory; + /* Some machines have problematic NUMA toplogy causing + * unexpected failures. We don't want to break the QEMU + * driver in this scenario, so log errors & carry on + */ + if (virCapsInitNUMA(caps) < 0) { + virCapabilitiesFreeNUMAInfo(caps); + VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities"); + } /* XXX shouldn't 'borrow' KVM's prefix */ virCapabilitiesSetMacPrefix(caps, (unsigned char []){ 0x52, 0x54, 0x00 }); diff -rup libvirt-0.6.2.orig/src/qemu_conf.c libvirt-0.6.2.new/src/qemu_conf.c --- libvirt-0.6.2.orig/src/qemu_conf.c 2009-08-13 11:44:11.000000000 +0100 +++ libvirt-0.6.2.new/src/qemu_conf.c 2009-08-13 11:45:34.000000000 +0100 @@ -376,8 +376,14 @@ virCapsPtr qemudCapsInit(void) { /* Using KVM's mac prefix for QEMU too */ virCapabilitiesSetMacPrefix(caps, (unsigned char[]){ 0x52, 0x54, 0x00 }); - if (virCapsInitNUMA(caps) < 0) - goto no_memory; + /* Some machines have problematic NUMA toplogy causing + * unexpected failures. We don't want to break the QEMU + * driver in this scenario, so log errors & carry on + */ + if (virCapsInitNUMA(caps) < 0) { + virCapabilitiesFreeNUMAInfo(caps); + VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities"); + } /* First the pure HVM guests */ for (i = 0 ; i < ARRAY_CARDINALITY(arch_info_hvm) ; i++) diff -rup libvirt-0.6.2.orig/src/uml_conf.c libvirt-0.6.2.new/src/uml_conf.c --- libvirt-0.6.2.orig/src/uml_conf.c 2009-01-31 09:04:18.000000000 +0000 +++ libvirt-0.6.2.new/src/uml_conf.c 2009-08-13 11:58:47.000000000 +0100 @@ -44,6 +44,7 @@ #include "memory.h" #include "nodeinfo.h" #include "verify.h" +#include "logging.h" #define VIR_FROM_THIS VIR_FROM_UML @@ -62,8 +63,14 @@ virCapsPtr umlCapsInit(void) { 0, 0)) == NULL) goto no_memory; - if (virCapsInitNUMA(caps) < 0) - goto no_memory; + /* Some machines have problematic NUMA toplogy causing + * unexpected failures. We don't want to break the QEMU + * driver in this scenario, so log errors & carry on + */ + if (virCapsInitNUMA(caps) < 0) { + virCapabilitiesFreeNUMAInfo(caps); + VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities"); + } if ((guest = virCapabilitiesAddGuest(caps, "uml", Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.136 retrieving revision 1.137 diff -u -p -r1.136 -r1.137 --- libvirt.spec 5 Aug 2009 15:48:14 -0000 1.136 +++ libvirt.spec 13 Aug 2009 16:07:23 -0000 1.137 @@ -66,7 +66,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.6.2 -Release: 14%{?dist}%{?extra_release} +Release: 15%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -116,6 +116,8 @@ Patch20: libvirt-0.6.2-pci-device-crash. Patch21: libvirt-0.6.2-qemu-name-uniqueness.patch # rhbz #479517 Patch22: libvirt-0.6.2-buf-locale-escape.patch +# rhbz #506590 +Patch23: libvirt-0.6.2-numa-ignore-fail.patch # Not for upstream. Temporary hack till PulseAudio autostart # problems are sorted out when SELinux enforcing @@ -290,6 +292,7 @@ of recent versions of Linux (and other O %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 %patch200 -p0 @@ -613,6 +616,9 @@ fi %endif %changelog +* Thu Aug 13 2009 Daniel P. Berrange - 0.6.2-15.fc11 +- Log and ignore NUMA topology problems (rhbz #506590) + * Wed Aug 5 2009 Daniel P. Berrange - 0.6.2-14.fc11 - Fix crash when attaching/detaching non-existant PCI device (rhbz #510907) - Fix QEMU guest name/uuid uniqueness checks (rhbz #507405) From rjones at fedoraproject.org Thu Aug 13 18:09:04 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 18:09:04 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 .cvsignore, 1.32, 1.33 libguestfs.spec, 1.54, 1.55 sources, 1.32, 1.33 Message-ID: <20090813180904.8028E11C0349@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19091 Modified Files: .cvsignore libguestfs.spec sources Log Message: New upstream release 1.0.67. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/.cvsignore,v retrieving revision 1.32 retrieving revision 1.33 diff -u -p -r1.32 -r1.33 --- .cvsignore 6 Aug 2009 16:15:11 -0000 1.32 +++ .cvsignore 13 Aug 2009 18:09:04 -0000 1.33 @@ -1 +1 @@ -libguestfs-1.0.66.tar.gz +libguestfs-1.0.67.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.54 retrieving revision 1.55 diff -u -p -r1.54 -r1.55 --- libguestfs.spec 13 Aug 2009 10:11:05 -0000 1.54 +++ libguestfs.spec 13 Aug 2009 18:09:04 -0000 1.55 @@ -4,8 +4,8 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.66 -Release: 1%{?dist}.1 +Version: 1.0.67 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -537,6 +537,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 +- New upstream release 1.0.67. + * Thu Aug 6 2009 Richard W.M. Jones - 1.0.66-1.fc11.1 - Disable tests (because of RHBZ#516096). Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/sources,v retrieving revision 1.32 retrieving revision 1.33 diff -u -p -r1.32 -r1.33 --- sources 6 Aug 2009 16:15:11 -0000 1.32 +++ sources 13 Aug 2009 18:09:04 -0000 1.33 @@ -1 +1 @@ -385d65176732738566e9ab99898104f7 libguestfs-1.0.66.tar.gz +ce1896a1faa9a19642d5a19aa4f09c4b libguestfs-1.0.67.tar.gz From rjones at fedoraproject.org Thu Aug 13 18:09:07 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 18:09:07 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel .cvsignore, 1.45, 1.46 libguestfs.spec, 1.90, 1.91 sources, 1.45, 1.46 Message-ID: <20090813180907.ADF9211C0349@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19128 Modified Files: .cvsignore libguestfs.spec sources Log Message: New upstream release 1.0.67. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/.cvsignore,v retrieving revision 1.45 retrieving revision 1.46 diff -u -p -r1.45 -r1.46 --- .cvsignore 6 Aug 2009 16:15:09 -0000 1.45 +++ .cvsignore 13 Aug 2009 18:09:07 -0000 1.46 @@ -1 +1 @@ -libguestfs-1.0.66.tar.gz +libguestfs-1.0.67.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.90 retrieving revision 1.91 diff -u -p -r1.90 -r1.91 --- libguestfs.spec 13 Aug 2009 10:11:05 -0000 1.90 +++ libguestfs.spec 13 Aug 2009 18:09:07 -0000 1.91 @@ -4,8 +4,8 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.66 -Release: 5%{?dist} +Version: 1.0.67 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -549,6 +549,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 +- New upstream release 1.0.67. + * Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-5 - Set network interface to ne2k_pci (workaround for RHBZ#516022). - Rerun autoconf because patch touches configure script. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/sources,v retrieving revision 1.45 retrieving revision 1.46 diff -u -p -r1.45 -r1.46 --- sources 6 Aug 2009 16:15:09 -0000 1.45 +++ sources 13 Aug 2009 18:09:07 -0000 1.46 @@ -1 +1 @@ -385d65176732738566e9ab99898104f7 libguestfs-1.0.66.tar.gz +ce1896a1faa9a19642d5a19aa4f09c4b libguestfs-1.0.67.tar.gz From rjones at fedoraproject.org Thu Aug 13 18:09:00 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 18:09:00 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.26, 1.27 libguestfs.spec, 1.57, 1.58 sources, 1.26, 1.27 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch, 1.1, NONE 0002-Always-pass-mkswap-f-parameter.patch, 1.1, NONE 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch, 1.1, NONE Message-ID: <20090813180900.C9DF011C0349@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19068 Modified Files: .cvsignore libguestfs.spec sources Removed Files: 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch 0002-Always-pass-mkswap-f-parameter.patch 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch Log Message: New upstream release 1.0.67. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.26 retrieving revision 1.27 diff -u -p -r1.26 -r1.27 --- .cvsignore 6 Aug 2009 16:15:17 -0000 1.26 +++ .cvsignore 13 Aug 2009 18:09:00 -0000 1.27 @@ -1 +1 @@ -libguestfs-1.0.66.tar.gz +libguestfs-1.0.67.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.57 retrieving revision 1.58 diff -u -p -r1.57 -r1.58 --- libguestfs.spec 13 Aug 2009 10:11:04 -0000 1.57 +++ libguestfs.spec 13 Aug 2009 18:09:00 -0000 1.58 @@ -4,18 +4,14 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.66 -Release: 4%{?dist} +Version: 1.0.67 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -Patch0: 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch -Patch1: 0002-Always-pass-mkswap-f-parameter.patch -Patch2: 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch - # Currently fails on PPC because: # "No Package Found for kernel" ExclusiveArch: %{ix86} x86_64 @@ -311,10 +307,6 @@ Requires: jpackage-utils mkdir -p daemon/m4 -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 - %build %if %{buildnonet} @@ -542,6 +534,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 +- New upstream release 1.0.67. + * Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-4 - Another patch to try to fix the tests. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.26 retrieving revision 1.27 diff -u -p -r1.26 -r1.27 --- sources 6 Aug 2009 16:15:17 -0000 1.26 +++ sources 13 Aug 2009 18:09:00 -0000 1.27 @@ -1 +1 @@ -385d65176732738566e9ab99898104f7 libguestfs-1.0.66.tar.gz +ce1896a1faa9a19642d5a19aa4f09c4b libguestfs-1.0.67.tar.gz --- 0001-Tests-Don-t-test-block-size-in-statvfs-test.patch DELETED --- --- 0002-Always-pass-mkswap-f-parameter.patch DELETED --- --- 0003-Tests-swapon_device-test-mkswap-dev-sda1-instead-o.patch DELETED --- From rjones at fedoraproject.org Thu Aug 13 18:15:35 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 13 Aug 2009 18:15:35 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.91, 1.92 0001-Allow-network-interface-to-be-configured.patch, 1.1, NONE Message-ID: <20090813181535.E352511C0349@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20593 Modified Files: libguestfs.spec Removed Files: 0001-Allow-network-interface-to-be-configured.patch Log Message: Workaround for RHBZ#516022 no longer required - removed. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.91 retrieving revision 1.92 diff -u -p -r1.91 -r1.92 --- libguestfs.spec 13 Aug 2009 18:09:07 -0000 1.91 +++ libguestfs.spec 13 Aug 2009 18:15:35 -0000 1.92 @@ -5,16 +5,13 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.67 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -Patch0: 0001-Allow-network-interface-to-be-configured.patch -BuildRequires: automake, autoconf, libtool, gettext, gettext-devel, cvs - # Basic build requirements: BuildRequires: /usr/bin/pod2man BuildRequires: /usr/bin/pod2text @@ -296,9 +293,6 @@ Requires: jpackage-utils mkdir -p daemon/m4 -%patch0 -p1 -autoreconf -i - %build %if %{buildnonet} @@ -310,14 +304,12 @@ createrepo repo %define extra %nil %endif -# --with-net-if=ne2k_pci is a workaround for RHBZ#516022. ./configure \ --prefix=%{_prefix} --libdir=%{_libdir} \ --mandir=%{_mandir} \ --with-qemu="qemu-kvm qemu-system-%{_build_arch} qemu" \ --enable-debug-command \ --enable-supermin \ - --with-net-if=ne2k_pci \ %{extra} # This ensures that /usr/sbin/chroot is on the path. Not needed @@ -349,7 +341,7 @@ export LIBGUESTFS_DEBUG=1 # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu (FIXED) # 516022 all F-12 virtio-net gives "Network is unreachable" errors -# (WORKAROUND ENABLED) +# (FIXED) # 516096 ? F-11 race condition in swapoff/blockdev --rereadpt # 516543 ? F-12 qemu-kvm segfaults when run inside a VM @@ -549,7 +541,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 +* Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-2 - New upstream release 1.0.67. * Fri Aug 7 2009 Richard W.M. Jones - 1.0.66-5 --- 0001-Allow-network-interface-to-be-configured.patch DELETED --- From lkundrak at fedoraproject.org Mon Aug 17 03:21:08 2009 From: lkundrak at fedoraproject.org (Lubomir Rintel) Date: Mon, 17 Aug 2009 03:21:08 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel kvm.modules, 1.1, 1.2 qemu.spec, 1.119, 1.120 Message-ID: <20090817032108.7CB0211C0262@cvs1.fedora.phx.redhat.com> Author: lkundrak Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13737 Modified Files: kvm.modules qemu.spec Log Message: * Mon Aug 17 2009 Lubomir Rintel - 2:0.10.91-0.6.rc1 - Allow blacklisting of kvm modules Index: kvm.modules =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/kvm.modules,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- kvm.modules 4 Mar 2009 00:11:56 -0000 1.1 +++ kvm.modules 17 Aug 2009 03:21:08 -0000 1.2 @@ -1,9 +1,9 @@ #!/bin/sh if [ $(grep -c vmx /proc/cpuinfo) -ne 0 ]; then - modprobe kvm-intel >/dev/null 2>&1 + modprobe -b kvm-intel >/dev/null 2>&1 fi if [ $(grep -c svm /proc/cpuinfo) -ne 0 ]; then - modprobe kvm-amd >/dev/null 2>&1 + modprobe -b kvm-amd >/dev/null 2>&1 fi Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.119 retrieving revision 1.120 diff -u -p -r1.119 -r1.120 --- qemu.spec 7 Aug 2009 08:53:27 -0000 1.119 +++ qemu.spec 17 Aug 2009 03:21:08 -0000 1.120 @@ -4,7 +4,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.91 -Release: 0.5.%{kvmvertag}%{?dist} +Release: 0.6.%{kvmvertag}%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -484,6 +484,9 @@ getent passwd qemu >/dev/null || \ %{_mandir}/man1/qemu-img.1* %changelog +* Mon Aug 17 2009 Lubomir Rintel - 2:0.10.91-0.6.rc1 +- Allow blacklisting of kvm modules + * Fri Aug 7 2009 Mark McLoughlin - 2:0.10.91-0.5.rc1 - Fix virtio_net with -net user (#516022) From markmc at fedoraproject.org Mon Aug 17 08:08:48 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 17 Aug 2009 08:08:48 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-0.6.4-svirt-sound.patch, 1.1, 1.2 libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch, 1.1, 1.2 libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch, 1.1, 1.2 libvirt-0.7.0-numa-ignore-fail.patch, 1.1, 1.2 libvirt-0.7.0-policy-kit-rewrite.patch, 1.1, 1.2 libvirt.spec, 1.169, 1.170 Message-ID: <20090817080848.693AA11C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20576 Modified Files: libvirt-0.6.4-svirt-sound.patch libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch libvirt-0.7.0-numa-ignore-fail.patch libvirt-0.7.0-policy-kit-rewrite.patch libvirt.spec Log Message: Sync patches from git libvirt-0.6.4-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.4-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.6.4-svirt-sound.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.4-svirt-sound.patch 29 May 2009 17:28:28 -0000 1.1 +++ libvirt-0.6.4-svirt-sound.patch 17 Aug 2009 08:08:46 -0000 1.2 @@ -1,6 +1,21 @@ ---- src/qemu_conf.c.orig 2009-05-29 19:24:59.000000000 +0200 -+++ src/qemu_conf.c 2009-05-29 19:19:39.000000000 +0200 -@@ -792,6 +792,20 @@ int qemudBuildCommandLine(virConnectPtr +From f9355301cf4dda452308b616e8c00e59be5aec0a Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 17 Aug 2009 08:32:08 +0100 +Subject: [PATCH] Disable sound cards when running sVirt + +Temporary hack till PulseAudio autostart problems are sorted out when +SELinux enforcing (bz 486112) + +Fedora-patch: libvirt-0.6.4-svirt-sound.patch +--- + src/qemu_conf.c | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +diff --git a/src/qemu_conf.c b/src/qemu_conf.c +index 6b0b404..53186e0 100644 +--- a/src/qemu_conf.c ++++ b/src/qemu_conf.c +@@ -1384,6 +1384,20 @@ int qemudBuildCommandLine(virConnectPtr conn, char uuid[VIR_UUID_STRING_BUFLEN]; char domid[50]; const char *cpu = NULL; @@ -10,7 +25,7 @@ + driver->securityDriver->name && + STREQ(driver->securityDriver->name, "selinux") && + getuid() == 0) { -+ static int soundWarned = 0; ++ static int soundWarned = 0; + skipSound = 1; + if (def->nsounds && + !soundWarned) { @@ -21,7 +36,7 @@ uname_normalize(&ut); -@@ -1429,7 +1443,8 @@ int qemudBuildCommandLine(virConnectPtr +@@ -2015,7 +2029,8 @@ int qemudBuildCommandLine(virConnectPtr conn, } /* Add sound hardware */ @@ -31,3 +46,6 @@ int size = 100; char *modstr; if (VIR_ALLOC_N(modstr, size+1) < 0) +-- +1.6.2.5 + libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch: qemu_driver.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) Index: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch 6 Aug 2009 15:01:49 -0000 1.1 +++ libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch 17 Aug 2009 08:08:46 -0000 1.2 @@ -1,4 +1,6 @@ +From 541cfdf5465ac3bba2c0c0901950547bc6638e47 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin +Date: Thu, 6 Aug 2009 15:14:19 +0100 Subject: [PATCH] chown kernel/initrd before spawning qemu If we're running qemu unprivileged, we need to chown any supplied kernel @@ -8,6 +10,10 @@ or initrd before spawning it. qemuDomainSetFileOwnership(), pass it a path string instead of a disk definition and use it for chowning the kernel/initrd in qemuDomainSetAllDeviceOwnership() + +(cherry picked from commit c42b39784534930791d1feb3de859d85a7848168) + +Fedora-patch: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch --- src/qemu_driver.c | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch: network_driver.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) Index: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch 10 Aug 2009 10:24:12 -0000 1.1 +++ libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch 17 Aug 2009 08:08:46 -0000 1.2 @@ -1,4 +1,6 @@ +From ddf0a7cb04debe60825d11186e68cc6de6fd1dd2 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin +Date: Mon, 10 Aug 2009 11:16:37 +0100 Subject: [PATCH] Handle kernels with no ipv6 support If the ipv6 kernel module is not loaded, then we get this when starting @@ -13,6 +15,10 @@ way. * src/network_driver.c: make networkDisableIPV6() not fail if the kernel has no ipv6 support + +(cherry picked from commit f5a8f969dd92ec2744e1eec5d35288d5fbcded22) + +Fedora-patch: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch --- src/network_driver.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) libvirt-0.7.0-numa-ignore-fail.patch: capabilities.c | 1 + lxc_conf.c | 12 ++++++++++-- uml_conf.c | 12 +++++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) Index: libvirt-0.7.0-numa-ignore-fail.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.7.0-numa-ignore-fail.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.7.0-numa-ignore-fail.patch 13 Aug 2009 15:30:19 -0000 1.1 +++ libvirt-0.7.0-numa-ignore-fail.patch 17 Aug 2009 08:08:46 -0000 1.2 @@ -1,16 +1,24 @@ -commit 19bac57b26c2d46ac8a7601158f210f34acdceac -Author: Daniel P. Berrange -Date: Thu Aug 13 11:56:31 2009 +0100 - - Make LXC / UML drivers robust against NUMA topology brokenness - - Some kernel versions expose broken NUMA topology for some machines. - This causes the LXC/UML drivers to fail to start. QEMU driver was - already fixed for this problem - - * src/lxc_conf.c: Log and ignore failure to populate NUMA info - * src/uml_conf.c: Log and ignore failure to populate NUMA info - * src/capabilities.c: Reset nnumaCell to 0 after freeing +From 663bf081dc6737c7fcc68a7ca1169aca60fbf8e5 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Thu, 13 Aug 2009 11:56:31 +0100 +Subject: [PATCH] Make LXC / UML drivers robust against NUMA topology brokenness + +Some kernel versions expose broken NUMA topology for some machines. +This causes the LXC/UML drivers to fail to start. QEMU driver was +already fixed for this problem + +* src/lxc_conf.c: Log and ignore failure to populate NUMA info +* src/uml_conf.c: Log and ignore failure to populate NUMA info +* src/capabilities.c: Reset nnumaCell to 0 after freeing + +(cherry picked from commit 19bac57b26c2d46ac8a7601158f210f34acdceac) + +Fedora-patch: libvirt-0.7.0-numa-ignore-fail.patch +--- + src/capabilities.c | 1 + + src/lxc_conf.c | 12 ++++++++++-- + src/uml_conf.c | 11 +++++++++-- + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/capabilities.c b/src/capabilities.c index c6766b6..193a9fe 100644 @@ -83,3 +91,6 @@ index 48e05a8..4f756d4 100644 if ((guest = virCapabilitiesAddGuest(caps, "uml", +-- +1.6.2.5 + libvirt-0.7.0-policy-kit-rewrite.patch: b/configure.in | 73 +++++++++++++++++++++++++++-------------- b/qemud/Makefile.am | 11 +++++- b/qemud/libvirtd.policy-0 | 42 +++++++++++++++++++++++ b/qemud/libvirtd.policy-1 | 42 +++++++++++++++++++++++ b/qemud/qemud.c | 4 +- b/qemud/qemud.h | 4 +- b/qemud/remote.c | 81 +++++++++++++++++++++++++++++++++++++++++++--- b/src/remote_internal.c | 8 +++- qemud/libvirtd.policy | 42 ----------------------- 9 files changed, 230 insertions(+), 77 deletions(-) Index: libvirt-0.7.0-policy-kit-rewrite.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.7.0-policy-kit-rewrite.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.7.0-policy-kit-rewrite.patch 13 Aug 2009 15:27:42 -0000 1.1 +++ libvirt-0.7.0-policy-kit-rewrite.patch 17 Aug 2009 08:08:46 -0000 1.2 @@ -1,6 +1,28 @@ -diff -rupN libvirt-0.7.0/configure.in libvirt-0.7.0.new/configure.in ---- libvirt-0.7.0/configure.in 2009-08-05 08:53:49.000000000 -0400 -+++ libvirt-0.7.0.new/configure.in 2009-08-13 08:37:22.393897620 -0400 +From d54fc5008d465d192101a0cb78fd02c437dff736 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 17 Aug 2009 08:32:08 +0100 +Subject: [PATCH] Policykit rewrite (bug #499970) + +Fedora-patch: libvirt-0.7.0-policy-kit-rewrite.patch +--- + configure.in | 73 ++++++++++++++++++++++++++++-------------- + qemud/Makefile.am | 11 +++++- + qemud/libvirtd.policy | 42 ------------------------ + qemud/libvirtd.policy-0 | 42 ++++++++++++++++++++++++ + qemud/libvirtd.policy-1 | 42 ++++++++++++++++++++++++ + qemud/qemud.c | 4 +- + qemud/qemud.h | 4 +- + qemud/remote.c | 81 ++++++++++++++++++++++++++++++++++++++++++++-- + src/remote_internal.c | 7 ++++ + 9 files changed, 230 insertions(+), 76 deletions(-) + delete mode 100644 qemud/libvirtd.policy + create mode 100644 qemud/libvirtd.policy-0 + create mode 100644 qemud/libvirtd.policy-1 + +diff --git a/configure.in b/configure.in +index 45fa9ed..d28c44a 100644 +--- a/configure.in ++++ b/configure.in @@ -641,40 +641,61 @@ AC_SUBST([SASL_LIBS]) dnl PolicyKit library POLKIT_CFLAGS= @@ -99,9 +121,48 @@ diff -rupN libvirt-0.7.0/configure.in li else AC_MSG_NOTICE([ polkit: no]) fi -diff -rupN libvirt-0.7.0/qemud/libvirtd.policy libvirt-0.7.0.new/qemud/libvirtd.policy ---- libvirt-0.7.0/qemud/libvirtd.policy 2009-07-22 09:37:32.000000000 -0400 -+++ libvirt-0.7.0.new/qemud/libvirtd.policy 1969-12-31 19:00:00.000000000 -0500 +diff --git a/qemud/Makefile.am b/qemud/Makefile.am +index 959ff88..3d143da 100644 +--- a/qemud/Makefile.am ++++ b/qemud/Makefile.am +@@ -21,7 +21,8 @@ EXTRA_DIST = \ + remote_protocol.x \ + libvirtd.conf \ + libvirtd.init.in \ +- libvirtd.policy \ ++ libvirtd.policy-0 \ ++ libvirtd.policy-1 \ + libvirtd.sasl \ + libvirtd.sysconf \ + libvirtd.aug \ +@@ -147,7 +148,13 @@ endif + libvirtd_LDADD += ../src/libvirt.la + + if HAVE_POLKIT ++if HAVE_POLKIT0 + policydir = $(datadir)/PolicyKit/policy ++policyfile = libvirtd.policy-0 ++else ++policydir = $(datadir)/polkit-1/actions ++policyfile = libvirtd.policy-1 ++endif + endif + + if HAVE_AVAHI +@@ -197,7 +204,7 @@ endif + if HAVE_POLKIT + install-data-polkit:: install-init + mkdir -p $(DESTDIR)$(policydir) +- $(INSTALL_DATA) $(srcdir)/libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy ++ $(INSTALL_DATA) $(srcdir)/$(policyfile) $(DESTDIR)$(policydir)/org.libvirt.unix.policy + uninstall-data-polkit:: install-init + rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy + else +diff --git a/qemud/libvirtd.policy b/qemud/libvirtd.policy +deleted file mode 100644 +index b6da946..0000000 +--- a/qemud/libvirtd.policy ++++ /dev/null @@ -1,42 +0,0 @@ - - - -diff -rupN libvirt-0.7.0/qemud/libvirtd.policy-0 libvirt-0.7.0.new/qemud/libvirtd.policy-0 ---- libvirt-0.7.0/qemud/libvirtd.policy-0 1969-12-31 19:00:00.000000000 -0500 -+++ libvirt-0.7.0.new/qemud/libvirtd.policy-0 2009-08-13 08:37:22.408883879 -0400 +diff --git a/qemud/libvirtd.policy-0 b/qemud/libvirtd.policy-0 +new file mode 100644 +index 0000000..b6da946 +--- /dev/null ++++ b/qemud/libvirtd.policy-0 @@ -0,0 +1,42 @@ + + + -diff -rupN libvirt-0.7.0/qemud/libvirtd.policy-1 libvirt-0.7.0.new/qemud/libvirtd.policy-1 ---- libvirt-0.7.0/qemud/libvirtd.policy-1 1969-12-31 19:00:00.000000000 -0500 -+++ libvirt-0.7.0.new/qemud/libvirtd.policy-1 2009-08-13 08:37:22.412905763 -0400 +diff --git a/qemud/libvirtd.policy-1 b/qemud/libvirtd.policy-1 +new file mode 100644 +index 0000000..6fa3a5e +--- /dev/null ++++ b/qemud/libvirtd.policy-1 @@ -0,0 +1,42 @@ + + + -diff -rupN libvirt-0.7.0/qemud/Makefile.am libvirt-0.7.0.new/qemud/Makefile.am ---- libvirt-0.7.0/qemud/Makefile.am 2009-07-22 09:37:32.000000000 -0400 -+++ libvirt-0.7.0.new/qemud/Makefile.am 2009-08-13 08:37:22.398915449 -0400 -@@ -21,7 +21,8 @@ EXTRA_DIST = \ - remote_protocol.x \ - libvirtd.conf \ - libvirtd.init.in \ -- libvirtd.policy \ -+ libvirtd.policy-0 \ -+ libvirtd.policy-1 \ - libvirtd.sasl \ - libvirtd.sysconf \ - libvirtd.aug \ -@@ -147,7 +148,13 @@ endif - libvirtd_LDADD += ../src/libvirt.la - - if HAVE_POLKIT -+if HAVE_POLKIT0 - policydir = $(datadir)/PolicyKit/policy -+policyfile = libvirtd.policy-0 -+else -+policydir = $(datadir)/polkit-1/actions -+policyfile = libvirtd.policy-1 -+endif - endif - - if HAVE_AVAHI -@@ -197,7 +204,7 @@ endif - if HAVE_POLKIT - install-data-polkit:: install-init - mkdir -p $(DESTDIR)$(policydir) -- $(INSTALL_DATA) $(srcdir)/libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy -+ $(INSTALL_DATA) $(srcdir)/$(policyfile) $(DESTDIR)$(policydir)/org.libvirt.unix.policy - uninstall-data-polkit:: install-init - rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy - else -diff -rupN libvirt-0.7.0/qemud/qemud.c libvirt-0.7.0.new/qemud/qemud.c ---- libvirt-0.7.0/qemud/qemud.c 2009-07-22 09:37:32.000000000 -0400 -+++ libvirt-0.7.0.new/qemud/qemud.c 2009-08-13 08:37:22.419878018 -0400 -@@ -895,7 +895,7 @@ static struct qemud_server *qemudNetwork +diff --git a/qemud/qemud.c b/qemud/qemud.c +index 3e551ca..50b0cdd 100644 +--- a/qemud/qemud.c ++++ b/qemud/qemud.c +@@ -895,7 +895,7 @@ static struct qemud_server *qemudNetworkInit(struct qemud_server *server) { } #endif @@ -285,7 +315,7 @@ diff -rupN libvirt-0.7.0/qemud/qemud.c l if (auth_unix_rw == REMOTE_AUTH_POLKIT || auth_unix_ro == REMOTE_AUTH_POLKIT) { DBusError derr; -@@ -982,7 +982,7 @@ static struct qemud_server *qemudNetwork +@@ -982,7 +982,7 @@ static struct qemud_server *qemudNetworkInit(struct qemud_server *server) { sock = sock->next; } @@ -294,9 +324,10 @@ diff -rupN libvirt-0.7.0/qemud/qemud.c l if (server->sysbus) dbus_connection_unref(server->sysbus); #endif -diff -rupN libvirt-0.7.0/qemud/qemud.h libvirt-0.7.0.new/qemud/qemud.h ---- libvirt-0.7.0/qemud/qemud.h 2009-07-23 12:33:02.000000000 -0400 -+++ libvirt-0.7.0.new/qemud/qemud.h 2009-08-13 08:37:22.425909852 -0400 +diff --git a/qemud/qemud.h b/qemud/qemud.h +index 254db44..e8ce209 100644 +--- a/qemud/qemud.h ++++ b/qemud/qemud.h @@ -34,7 +34,7 @@ #include #endif @@ -315,9 +346,10 @@ diff -rupN libvirt-0.7.0/qemud/qemud.h l DBusConnection *sysbus; #endif }; -diff -rupN libvirt-0.7.0/qemud/remote.c libvirt-0.7.0.new/qemud/remote.c ---- libvirt-0.7.0/qemud/remote.c 2009-07-23 12:33:02.000000000 -0400 -+++ libvirt-0.7.0.new/qemud/remote.c 2009-08-13 08:37:22.431865087 -0400 +diff --git a/qemud/remote.c b/qemud/remote.c +index d32d513..490a807 100644 +--- a/qemud/remote.c ++++ b/qemud/remote.c @@ -43,7 +43,7 @@ #include #include "virterror_internal.h" @@ -327,7 +359,7 @@ diff -rupN libvirt-0.7.0/qemud/remote.c #include #include #endif -@@ -3106,7 +3106,80 @@ remoteDispatchAuthSaslStep (struct qemud +@@ -3106,7 +3106,80 @@ remoteDispatchAuthSaslStep (struct qemud_server *server ATTRIBUTE_UNUSED, #endif /* HAVE_SASL */ @@ -418,7 +450,7 @@ diff -rupN libvirt-0.7.0/qemud/remote.c static int remoteDispatchAuthPolkit (struct qemud_server *server ATTRIBUTE_UNUSED, -@@ -3231,7 +3304,7 @@ remoteDispatchAuthPolkit (struct qemud_s +@@ -3231,7 +3304,7 @@ remoteDispatchAuthPolkit (struct qemud_server *server ATTRIBUTE_UNUSED, remoteDispatchAuthError(rerr); return -1; } @@ -427,10 +459,11 @@ diff -rupN libvirt-0.7.0/qemud/remote.c /*************************************************************** -diff -rupN libvirt-0.7.0/src/remote_internal.c libvirt-0.7.0.new/src/remote_internal.c ---- libvirt-0.7.0/src/remote_internal.c 2009-07-29 10:42:15.000000000 -0400 -+++ libvirt-0.7.0.new/src/remote_internal.c 2009-08-13 10:55:57.607899170 -0400 -@@ -6201,6 +6201,7 @@ remoteAuthPolkit (virConnectPtr conn, st +diff --git a/src/remote_internal.c b/src/remote_internal.c +index a58b768..e98c99b 100644 +--- a/src/remote_internal.c ++++ b/src/remote_internal.c +@@ -6201,6 +6201,7 @@ remoteAuthPolkit (virConnectPtr conn, struct private_data *priv, int in_open, virConnectAuthPtr auth) { remote_auth_polkit_ret ret; @@ -438,7 +471,7 @@ diff -rupN libvirt-0.7.0/src/remote_inte int i, allowcb = 0; virConnectCredential cred = { VIR_CRED_EXTERNAL, -@@ -6210,8 +6211,10 @@ remoteAuthPolkit (virConnectPtr conn, st +@@ -6210,8 +6211,10 @@ remoteAuthPolkit (virConnectPtr conn, struct private_data *priv, int in_open, NULL, 0, }; @@ -449,7 +482,7 @@ diff -rupN libvirt-0.7.0/src/remote_inte if (auth && auth->cb) { /* Check if the necessary credential type for PolicyKit is supported */ for (i = 0 ; i < auth->ncredtype ; i++) { -@@ -6220,6 +6223,7 @@ remoteAuthPolkit (virConnectPtr conn, st +@@ -6220,6 +6223,7 @@ remoteAuthPolkit (virConnectPtr conn, struct private_data *priv, int in_open, } if (allowcb) { @@ -457,7 +490,7 @@ diff -rupN libvirt-0.7.0/src/remote_inte /* Run the authentication callback */ if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0) { virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE, -@@ -6233,6 +6237,9 @@ remoteAuthPolkit (virConnectPtr conn, st +@@ -6233,6 +6237,9 @@ remoteAuthPolkit (virConnectPtr conn, struct private_data *priv, int in_open, } else { DEBUG0("No auth callback provided"); } @@ -467,3 +500,6 @@ diff -rupN libvirt-0.7.0/src/remote_inte memset (&ret, 0, sizeof ret); if (call (conn, priv, in_open, REMOTE_PROC_AUTH_POLKIT, +-- +1.6.2.5 + Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.169 retrieving revision 1.170 diff -u -p -r1.169 -r1.170 --- libvirt.spec 13 Aug 2009 15:43:14 -0000 1.169 +++ libvirt.spec 17 Aug 2009 08:08:46 -0000 1.170 @@ -78,7 +78,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.0 -Release: 4%{?dist}%{?extra_release} +Release: 5%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -282,7 +282,7 @@ of recent versions of Linux (and other O %patch03 -p1 %patch04 -p1 -%patch200 -p0 +%patch200 -p1 %build %if ! %{with_xen} From markmc at fedoraproject.org Mon Aug 17 08:08:58 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 17 Aug 2009 08:08:58 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch, 1.1, 1.2 libvirt-0.6.2-bring-up-ipless-bridge.patch, 1.1, 1.2 libvirt-0.6.2-buf-locale-escape.patch, 1.1, 1.2 libvirt-0.6.2-do-not-log-monitor-output.patch, 1.1, 1.2 libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch, 1.1, 1.2 libvirt-0.6.2-enable-qemu-0-10-migration.patch, 1.1, 1.2 libvirt-0.6.2-event-handling-1.patch, 1.1, 1.2 libvirt-0.6.2-event-handling-2.patch, 1.1, 1.2 libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch, 1.1, 1.2 libvirt-0.6.2-fix-nosource-label.patch, 1.1, 1.2 libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch, 1.1, 1.2 libvirt-0.6.2-hotplug-labelling.patch, 1.1, 1.2 libvirt-0.6.2-hotplug-monitor-syntax.patch, 1.1, 1.2 libvirt-0.6.2-libvirtd-double-free.patch, 1.1, 1.2 libvirt-0.6.2-monitor-prompt-discard.patch, 1.1, 1.2 libvirt-0.6.2-numa-ignore-fail.patch, 1.1, 1.2 libvirt-0.6.2-pci-device-crash.patch, 1.1, 1.2 libvirt-0.6.2-qemu-drive-format.patch, 1.1, 1.2 libvirt-0.6.2-qemu-name-uniqueness.patch, 1.1, 1.2 libvirt-0.6.2-qemu-ppc-machine-type.patch, 1.1, 1.2 libvirt-0.6.2-shared-readonly-label.patch, 1.1, 1.2 libvirt-0.6.2-svirt-sound.patch, 1.1, 1.2 libvirt-0.6.2-xml-attribute-escaping.patch, 1.1, 1.2 libvirt-0.6.3-hostdev-managed.patch, 1.1, 1.2 libvirt-0.6.3-refresh-qemu-caps.patch, 1.1, 1.2 libvirt.spec, 1.137, 1.138 Message-ID: <20090817080858.E06FF11C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20666 Modified Files: libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch libvirt-0.6.2-bring-up-ipless-bridge.patch libvirt-0.6.2-buf-locale-escape.patch libvirt-0.6.2-do-not-log-monitor-output.patch libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch libvirt-0.6.2-enable-qemu-0-10-migration.patch libvirt-0.6.2-event-handling-1.patch libvirt-0.6.2-event-handling-2.patch libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch libvirt-0.6.2-fix-nosource-label.patch libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch libvirt-0.6.2-hotplug-labelling.patch libvirt-0.6.2-hotplug-monitor-syntax.patch libvirt-0.6.2-libvirtd-double-free.patch libvirt-0.6.2-monitor-prompt-discard.patch libvirt-0.6.2-numa-ignore-fail.patch libvirt-0.6.2-pci-device-crash.patch libvirt-0.6.2-qemu-drive-format.patch libvirt-0.6.2-qemu-name-uniqueness.patch libvirt-0.6.2-qemu-ppc-machine-type.patch libvirt-0.6.2-shared-readonly-label.patch libvirt-0.6.2-svirt-sound.patch libvirt-0.6.2-xml-attribute-escaping.patch libvirt-0.6.3-hostdev-managed.patch libvirt-0.6.3-refresh-qemu-caps.patch libvirt.spec Log Message: Sync patches from git libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch: qemu_conf.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Index: libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch 5 Jun 2009 11:47:31 -0000 1.1 +++ libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch 17 Aug 2009 08:08:56 -0000 1.2 @@ -1,14 +1,17 @@ -From 934b71abf1b908f720811a44ad5411cfc1a4ca37 Mon Sep 17 00:00:00 2001 +From 6e80c60b89728de28267242f7373ecf553e40bc1 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Thu, 28 May 2009 13:15:57 +0000 -Subject: [PATCH 1/1] Avoid broken networking with new QEMU/KVM >= 86 +Subject: [PATCH] Avoid broken networking with new QEMU/KVM >= 86 +(cherry picked from commit 2afc3bfd8b779ddba974da9d66d6ea337fc91c01) + +Fedora-patch: libvirt-0.6.2-avoid-broken-networking-with-newer-qemu.patch --- src/qemu_conf.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c -index 93dc0b7..a04d216 100644 +index fc0e772..99f13c6 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -658,8 +658,8 @@ qemudNetworkIfaceConnect(virConnectPtr conn, @@ -23,5 +26,5 @@ index 93dc0b7..a04d216 100644 if (!(retval = strdup(tapfdstr))) goto no_memory; -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-bring-up-ipless-bridge.patch: network_driver.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) Index: libvirt-0.6.2-bring-up-ipless-bridge.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-bring-up-ipless-bridge.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-bring-up-ipless-bridge.patch 25 May 2009 15:23:17 -0000 1.1 +++ libvirt-0.6.2-bring-up-ipless-bridge.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,10 +1,11 @@ -From 4db7474b0c1907e877d7206edeb4d73962971096 Mon Sep 17 00:00:00 2001 +From 6635abc3bbe54e6b0168182805de92cd70d125e4 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Tue, 12 May 2009 15:31:22 +0000 -Subject: [PATCH 1/1] * src/network_driver.c: enable bridges which are not up - without an IP address, patch by Ludwig Nussel - Daniel +Subject: [PATCH] * src/network_driver.c: enable bridges which are not up without an IP address, patch by Ludwig Nussel +(cherry picked from commit e978774ec67f4b062b1f65e5c76a13193a9430eb) + +Fedora-patch: libvirt-0.6.2-bring-up-ipless-bridge.patch --- src/network_driver.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) @@ -44,5 +45,5 @@ index a17a769..a163b15 100644 network->def->bridge, virStrerror(err, ebuf, sizeof ebuf)); } -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-buf-locale-escape.patch: buf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) Index: libvirt-0.6.2-buf-locale-escape.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-buf-locale-escape.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-buf-locale-escape.patch 5 Aug 2009 15:48:14 -0000 1.1 +++ libvirt-0.6.2-buf-locale-escape.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,13 +1,19 @@ -commit 8feb499ba2c3625632210c997b49f5df515c05d4 -Author: Daniel P. Berrange -Date: Tue Aug 4 18:13:09 2009 +0100 - - Fix escaping of 8-bit high characters - - Fix https://bugzilla.redhat.com/show_bug.cgi?id=479517 - - * src/buf.c: Cast to 'unsigned char' before doing compare to - avoid rejecting 8-bit high characters +From f793cd9b7220145b6df8086d77db4fdc035d680b Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Tue, 4 Aug 2009 18:13:09 +0100 +Subject: [PATCH] Fix escaping of 8-bit high characters + +Fix https://bugzilla.redhat.com/show_bug.cgi?id=479517 + +* src/buf.c: Cast to 'unsigned char' before doing compare to + avoid rejecting 8-bit high characters + +(cherry picked from commit 8feb499ba2c3625632210c997b49f5df515c05d4) + +Fedora-patch: libvirt-0.6.2-buf-locale-escape.patch +--- + src/buf.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/buf.c b/src/buf.c index 259175d..c802aa2 100644 @@ -22,3 +28,6 @@ index 259175d..c802aa2 100644 (*cur == '\r')) { /* * default case, just copy ! +-- +1.6.2.5 + libvirt-0.6.2-do-not-log-monitor-output.patch: qemu_driver.c | 61 ++++++++++++++++++++++------------------------------------ 1 file changed, 24 insertions(+), 37 deletions(-) Index: libvirt-0.6.2-do-not-log-monitor-output.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-do-not-log-monitor-output.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-do-not-log-monitor-output.patch 22 May 2009 09:24:30 -0000 1.1 +++ libvirt-0.6.2-do-not-log-monitor-output.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,19 +1,23 @@ -From fbd16cecc72494e8a9450f38197221f2f50c9d0e Mon Sep 17 00:00:00 2001 +From 182a3cac2b4339e988802eb02279e7ab4c883c67 Mon Sep 17 00:00:00 2001 From: =?utf-8?q?Guido=20G=C3=BCnther?= Date: Thu, 16 Apr 2009 15:56:27 +0000 -Subject: [PATCH 1/1] Don't log monitor output to domain log file. +Subject: [PATCH] Don't log monitor output to domain log file. It's logged via the logging system already. Prefix monitor debug output with vm name. + +(cherry picked from commit 5caa1e0eb050a12fe8ed02cf635bb672a56cdb6f) + +Fedora-patch: libvirt-0.6.2-do-not-log-monitor-output.patch --- src/qemu_driver.c | 60 +++++++++++++++++++++------------------------------- 1 files changed, 24 insertions(+), 36 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index 79ee072..f5b5fa5 100644 +index 5ca3d20..cb738b2 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c -@@ -1710,27 +1710,11 @@ qemudMonitorCommandExtra(const virDomainObjPtr vm, +@@ -1706,27 +1706,11 @@ qemudMonitorCommandExtra(const virDomainObjPtr vm, goto error; } } @@ -42,7 +46,7 @@ index 79ee072..f5b5fa5 100644 return -1; } -@@ -2463,7 +2447,7 @@ static int qemudDomainGetMemoryBalloon(virConnectPtr conn, +@@ -2461,7 +2445,7 @@ static int qemudDomainGetMemoryBalloon(virConnectPtr conn, goto cleanup; } @@ -51,7 +55,7 @@ index 79ee072..f5b5fa5 100644 if ((offset = strstr(reply, BALLOON_PREFIX)) != NULL) { unsigned int memMB; char *end; -@@ -2517,7 +2501,7 @@ static int qemudDomainSetMemoryBalloon(virConnectPtr conn, +@@ -2515,7 +2499,7 @@ static int qemudDomainSetMemoryBalloon(virConnectPtr conn, /* If the command failed qemu prints: 'unknown command' * No message is printed on success it seems */ @@ -60,7 +64,7 @@ index 79ee072..f5b5fa5 100644 if (strstr(reply, "\nunknown command:")) { /* Don't set error - it is expected memory balloon fails on many qemu */ ret = 0; -@@ -2812,7 +2796,7 @@ static int qemudDomainSave(virDomainPtr dom, +@@ -2810,7 +2794,7 @@ static int qemudDomainSave(virDomainPtr dom, goto cleanup; } @@ -69,7 +73,7 @@ index 79ee072..f5b5fa5 100644 /* If the command isn't supported then qemu prints: * unknown command: migrate" */ -@@ -3658,7 +3642,7 @@ static int qemudDomainChangeEjectableMedia(virConnectPtr conn, +@@ -3662,7 +3646,7 @@ static int qemudDomainChangeEjectableMedia(virConnectPtr conn, /* If the command failed qemu prints: * device not found, device is locked ... * No message is printed on success it seems */ @@ -78,7 +82,7 @@ index 79ee072..f5b5fa5 100644 if (strstr(reply, "\ndevice ")) { qemudReportError (conn, dom, NULL, VIR_ERR_OPERATION_FAILED, _("changing cdrom media failed: %s"), reply); -@@ -3719,7 +3703,7 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, +@@ -3723,7 +3707,7 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, return -1; } @@ -87,7 +91,7 @@ index 79ee072..f5b5fa5 100644 /* If the command succeeds qemu prints: * OK bus 0... */ #define PCI_ATTACH_OK_MSG "OK bus 0, slot " -@@ -3787,7 +3771,7 @@ static int qemudDomainAttachUsbMassstorageDevice(virConnectPtr conn, +@@ -3791,7 +3775,7 @@ static int qemudDomainAttachUsbMassstorageDevice(virConnectPtr conn, return -1; } @@ -96,7 +100,7 @@ index 79ee072..f5b5fa5 100644 /* If the command failed qemu prints: * Could not add ... */ if (strstr(reply, "Could not add ")) { -@@ -3841,7 +3825,7 @@ static int qemudDomainAttachHostDevice(virConnectPtr conn, +@@ -3845,7 +3829,7 @@ static int qemudDomainAttachHostDevice(virConnectPtr conn, return -1; } @@ -105,7 +109,7 @@ index 79ee072..f5b5fa5 100644 /* If the command failed qemu prints: * Could not add ... */ if (strstr(reply, "Could not add ")) { -@@ -3980,7 +3964,7 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, +@@ -3984,7 +3968,7 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, goto cleanup; } @@ -114,7 +118,7 @@ index 79ee072..f5b5fa5 100644 /* If the command fails due to a wrong slot qemu prints: invalid slot, * nothing is printed on success */ if (strstr(reply, "invalid slot")) { -@@ -4210,7 +4194,7 @@ qemudDomainBlockStats (virDomainPtr dom, +@@ -4214,7 +4198,7 @@ qemudDomainBlockStats (virDomainPtr dom, "%s", _("'info blockstats' command failed")); goto cleanup; } @@ -123,7 +127,7 @@ index 79ee072..f5b5fa5 100644 /* If the command isn't supported then qemu prints the supported * info commands, so the output starts "info ". Since this is -@@ -4251,21 +4235,25 @@ qemudDomainBlockStats (virDomainPtr dom, +@@ -4255,21 +4239,25 @@ qemudDomainBlockStats (virDomainPtr dom, if (STRPREFIX (p, "rd_bytes=")) { p += 9; if (virStrToLong_ll (p, &dummy, 10, &stats->rd_bytes) == -1) @@ -154,7 +158,7 @@ index 79ee072..f5b5fa5 100644 /* Skip to next label. */ p = strchr (p, ' '); -@@ -4477,7 +4465,7 @@ qemudDomainMemoryPeek (virDomainPtr dom, +@@ -4481,7 +4469,7 @@ qemudDomainMemoryPeek (virDomainPtr dom, goto cleanup; } @@ -163,7 +167,7 @@ index 79ee072..f5b5fa5 100644 /* Read the memory file into buffer. */ if (saferead (fd, buffer, size) == (ssize_t) -1) { -@@ -4794,7 +4782,7 @@ qemudDomainMigratePerform (virDomainPtr dom, +@@ -4798,7 +4786,7 @@ qemudDomainMigratePerform (virDomainPtr dom, "%s", _("off-line migration specified, but suspend operation failed")); goto cleanup; } @@ -172,7 +176,7 @@ index 79ee072..f5b5fa5 100644 VIR_FREE(info); paused = 1; -@@ -4811,7 +4799,7 @@ qemudDomainMigratePerform (virDomainPtr dom, +@@ -4815,7 +4803,7 @@ qemudDomainMigratePerform (virDomainPtr dom, snprintf (cmd, sizeof cmd, "migrate_set_speed %lum", resource); qemudMonitorCommand (vm, cmd, &info); @@ -181,7 +185,7 @@ index 79ee072..f5b5fa5 100644 VIR_FREE (info); } -@@ -4830,7 +4818,7 @@ qemudDomainMigratePerform (virDomainPtr dom, +@@ -4834,7 +4822,7 @@ qemudDomainMigratePerform (virDomainPtr dom, goto cleanup; } @@ -190,7 +194,7 @@ index 79ee072..f5b5fa5 100644 /* Now check for "fail" in the output string */ if (strstr(info, "fail") != NULL) { -@@ -4869,7 +4857,7 @@ cleanup: +@@ -4873,7 +4861,7 @@ cleanup: vm->def->name); } else { @@ -200,5 +204,5 @@ index 79ee072..f5b5fa5 100644 } -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch: security_selinux.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) Index: libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch 3 Jul 2009 10:05:41 -0000 1.1 +++ libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,7 +1,7 @@ -From ae4523336ac06e3ff7cc7b416fad9e57998c6b54 Mon Sep 17 00:00:00 2001 -From: Tim Waugh -Date: Fri, 3 Jul 2009 10:29:01 +0100 -Subject: [PATCH 2/3] Don't unnecessarily try to change a file context +From 2d299525f5de29d11c6dc4810aa41e893535695b Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Fri, 3 Jul 2009 10:27:46 +0000 +Subject: [PATCH] Don't unnecessarily try to change a file context As pointed out by Tim Waugh here: @@ -12,13 +12,15 @@ matches what we want. (Fixed to use STREQ() and not use tabs, as pointed out by danpb) -Signed-off-by: Mark McLoughlin +(cherry picked from commit add254feeaa830dd5af1118c141cb140bf55b5a7) + +Fedora-patch: libvirt-0.6.2-do-not-unnecessarily-try-to-change-a-file-context.patch --- src/security_selinux.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/src/security_selinux.c b/src/security_selinux.c -index db1c27d..c2015a1 100644 +index 450fce2..8ebe1fe 100644 --- a/src/security_selinux.c +++ b/src/security_selinux.c @@ -280,10 +280,19 @@ static int libvirt-0.6.2-enable-qemu-0-10-migration.patch: qemu_conf.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) Index: libvirt-0.6.2-enable-qemu-0-10-migration.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-enable-qemu-0-10-migration.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-enable-qemu-0-10-migration.patch 7 May 2009 19:08:42 -0000 1.1 +++ libvirt-0.6.2-enable-qemu-0-10-migration.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,17 +1,20 @@ -From: "Daniel P. Berrange" -To: libvir-list at redhat.com -Date: Thu, 30 Apr 2009 15:09:05 +0100 -Subject: [libvirt] PATCH: Enable migration with QEMU >= 0.10.0 +From 9b41d6550b6bf8d4450bb5b86550eb605cc1fd91 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Fri, 8 May 2009 10:07:15 +0000 +Subject: [PATCH] Enable save/restore/migrate for QEMU >= 0.10.0 -The KVM migration code was added to QEMU for the 0.10.0 release, so we -should enable this in libvirt now. +(cherry picked from commit 88e22e4e8cb7fc7e1fa1d132778aa1994f4b55b6) -Daniel +Fedora-patch: libvirt-0.6.2-enable-qemu-0-10-migration.patch +--- + src/qemu_conf.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) -diff -r be7993675e07 src/qemu_conf.c ---- a/src/qemu_conf.c Thu Apr 30 14:49:27 2009 +0100 -+++ b/src/qemu_conf.c Thu Apr 30 15:08:45 2009 +0100 -@@ -472,16 +472,13 @@ int qemudExtractVersionInfo(const char * +diff --git a/src/qemu_conf.c b/src/qemu_conf.c +index 6f9e610..929fe00 100644 +--- a/src/qemu_conf.c ++++ b/src/qemu_conf.c +@@ -472,16 +472,13 @@ int qemudExtractVersionInfo(const char *qemu, /* * Handling of -incoming arg with varying features @@ -30,7 +33,7 @@ diff -r be7993675e07 src/qemu_conf.c */ if (kvm_version >= 79) { flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP; -@@ -489,6 +486,9 @@ int qemudExtractVersionInfo(const char * +@@ -489,6 +486,9 @@ int qemudExtractVersionInfo(const char *qemu, flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC; } else if (kvm_version > 0) { flags |= QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO; @@ -40,6 +43,6 @@ diff -r be7993675e07 src/qemu_conf.c } if (retversion) - - -- +1.6.2.5 + libvirt-0.6.2-event-handling-1.patch: event.c | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) Index: libvirt-0.6.2-event-handling-1.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-event-handling-1.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-event-handling-1.patch 21 May 2009 12:07:19 -0000 1.1 +++ libvirt-0.6.2-event-handling-1.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,17 +1,20 @@ -From e7be6cc841a5652b73ddd2ccd3769c7f8bbad13d Mon Sep 17 00:00:00 2001 +From 261ec2c9597b2eb6c7d91589fc66e203f60b6735 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Tue, 12 May 2009 16:41:49 +0000 -Subject: [PATCH 1/2] Fix interrupting of main event thread & protect against accidental uniniitalized variables +Subject: [PATCH] Fix interrupting of main event thread & protect against accidental uniniitalized variables +(cherry picked from commit 0a31be6ba243066378c344882cc1a32802774edb) + +Fedora-patch: libvirt-0.6.2-event-handling-1.patch --- qemud/event.c | 42 +++++++++++++++++++++++++++++++++++------- 1 files changed, 35 insertions(+), 7 deletions(-) diff --git a/qemud/event.c b/qemud/event.c -index 65f548e..754f2b1 100644 +index 0887008..4dc1020 100644 --- a/qemud/event.c +++ b/qemud/event.c -@@ -84,10 +84,10 @@ struct virEventLoop { +@@ -83,10 +83,10 @@ struct virEventLoop { static struct virEventLoop eventLoop; /* Unique ID for the next FD watch to be registered */ @@ -24,7 +27,7 @@ index 65f548e..754f2b1 100644 static void virEventLock(void) { -@@ -143,15 +143,22 @@ int virEventAddHandleImpl(int fd, int events, +@@ -142,15 +142,22 @@ int virEventAddHandleImpl(int fd, int events, void virEventUpdateHandleImpl(int watch, int events) { int i; @@ -48,7 +51,7 @@ index 65f548e..754f2b1 100644 virEventUnlock(); } -@@ -164,6 +171,12 @@ void virEventUpdateHandleImpl(int watch, int events) { +@@ -163,6 +170,12 @@ void virEventUpdateHandleImpl(int watch, int events) { int virEventRemoveHandleImpl(int watch) { int i; EVENT_DEBUG("Remove handle %d", watch); @@ -61,7 +64,7 @@ index 65f548e..754f2b1 100644 virEventLock(); for (i = 0 ; i < eventLoop.handlesCount ; i++) { if (eventLoop.handles[i].deleted) -@@ -172,11 +185,11 @@ int virEventRemoveHandleImpl(int watch) { +@@ -171,11 +184,11 @@ int virEventRemoveHandleImpl(int watch) { if (eventLoop.handles[i].watch == watch) { EVENT_DEBUG("mark delete %d %d", i, eventLoop.handles[i].fd); eventLoop.handles[i].deleted = 1; @@ -74,7 +77,7 @@ index 65f548e..754f2b1 100644 virEventUnlock(); return -1; } -@@ -232,6 +245,12 @@ void virEventUpdateTimeoutImpl(int timer, int frequency) { +@@ -231,6 +244,12 @@ void virEventUpdateTimeoutImpl(int timer, int frequency) { struct timeval tv; int i; EVENT_DEBUG("Updating timer %d timeout with %d ms freq", timer, frequency); @@ -87,7 +90,7 @@ index 65f548e..754f2b1 100644 if (gettimeofday(&tv, NULL) < 0) { return; } -@@ -244,10 +263,10 @@ void virEventUpdateTimeoutImpl(int timer, int frequency) { +@@ -243,10 +262,10 @@ void virEventUpdateTimeoutImpl(int timer, int frequency) { frequency >= 0 ? frequency + (((unsigned long long)tv.tv_sec)*1000) + (((unsigned long long)tv.tv_usec)/1000) : 0; @@ -99,7 +102,7 @@ index 65f548e..754f2b1 100644 virEventUnlock(); } -@@ -260,6 +279,12 @@ void virEventUpdateTimeoutImpl(int timer, int frequency) { +@@ -259,6 +278,12 @@ void virEventUpdateTimeoutImpl(int timer, int frequency) { int virEventRemoveTimeoutImpl(int timer) { int i; EVENT_DEBUG("Remove timer %d", timer); @@ -112,7 +115,7 @@ index 65f548e..754f2b1 100644 virEventLock(); for (i = 0 ; i < eventLoop.timeoutsCount ; i++) { if (eventLoop.timeouts[i].deleted) -@@ -267,11 +292,11 @@ int virEventRemoveTimeoutImpl(int timer) { +@@ -266,11 +291,11 @@ int virEventRemoveTimeoutImpl(int timer) { if (eventLoop.timeouts[i].timer == timer) { eventLoop.timeouts[i].deleted = 1; @@ -125,7 +128,7 @@ index 65f548e..754f2b1 100644 virEventUnlock(); return -1; } -@@ -617,9 +642,12 @@ static int virEventInterruptLocked(void) +@@ -616,9 +641,12 @@ static int virEventInterruptLocked(void) char c = '\0'; if (!eventLoop.running || @@ -140,5 +143,5 @@ index 65f548e..754f2b1 100644 return -1; return 0; -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-event-handling-2.patch: event.c | 113 ++++++++++++++++++++++++++++------------------------------------ 1 file changed, 51 insertions(+), 62 deletions(-) Index: libvirt-0.6.2-event-handling-2.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-event-handling-2.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-event-handling-2.patch 21 May 2009 12:07:19 -0000 1.1 +++ libvirt-0.6.2-event-handling-2.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,17 +1,20 @@ -From 6483ee77ed12f037d68a6adc690624fa1b508dc0 Mon Sep 17 00:00:00 2001 +From ef1a3eaa58d83c3367a1addff6c8132f27aa09dd Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Tue, 12 May 2009 16:43:04 +0000 -Subject: [PATCH 2/2] Fix watch/timer event deletion +Subject: [PATCH] Fix watch/timer event deletion +(cherry picked from commit 470317f5c71cbcc6b6d8d83d0978aea3510d3698) + +Fedora-patch: libvirt-0.6.2-event-handling-2.patch --- qemud/event.c | 112 ++++++++++++++++++++++++++------------------------------- 1 files changed, 51 insertions(+), 61 deletions(-) diff --git a/qemud/event.c b/qemud/event.c -index 754f2b1..a57d967 100644 +index 4dc1020..8bc7c34 100644 --- a/qemud/event.c +++ b/qemud/event.c -@@ -313,7 +313,7 @@ static int virEventCalculateTimeout(int *timeout) { +@@ -312,7 +312,7 @@ static int virEventCalculateTimeout(int *timeout) { EVENT_DEBUG("Calculate expiry of %d timers", eventLoop.timeoutsCount); /* Figure out if we need a timeout */ for (i = 0 ; i < eventLoop.timeoutsCount ; i++) { @@ -20,7 +23,7 @@ index 754f2b1..a57d967 100644 continue; EVENT_DEBUG("Got a timeout scheduled for %llu", eventLoop.timeouts[i].expiresAt); -@@ -350,32 +350,26 @@ static int virEventCalculateTimeout(int *timeout) { +@@ -349,32 +349,26 @@ static int virEventCalculateTimeout(int *timeout) { * file handles. The caller must free the returned data struct * returns: the pollfd array, or NULL on error */ @@ -66,7 +69,7 @@ index 754f2b1..a57d967 100644 } -@@ -435,26 +429,30 @@ static int virEventDispatchTimeouts(void) { +@@ -434,26 +428,30 @@ static int virEventDispatchTimeouts(void) { * Returns 0 upon success, -1 if an error occurred */ static int virEventDispatchHandles(int nfds, struct pollfd *fds) { @@ -106,7 +109,7 @@ index 754f2b1..a57d967 100644 } return 0; -@@ -545,22 +543,21 @@ static int virEventCleanupHandles(void) { +@@ -544,22 +542,21 @@ static int virEventCleanupHandles(void) { * at least one file handle has an event, or a timer expires */ int virEventRunOnce(void) { @@ -138,7 +141,7 @@ index 754f2b1..a57d967 100644 virEventUnlock(); -@@ -572,38 +569,31 @@ int virEventRunOnce(void) { +@@ -571,38 +568,31 @@ int virEventRunOnce(void) { if (errno == EINTR) { goto retry; } @@ -193,5 +196,5 @@ index 754f2b1..a57d967 100644 static void virEventHandleWakeup(int watch ATTRIBUTE_UNUSED, -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch: qemu_driver.c | 81 ++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 27 deletions(-) Index: libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch 3 Jul 2009 10:05:41 -0000 1.1 +++ libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,15 +1,19 @@ -From 80965bff6d46dea1808c8bbf02f50f0e289a0e65 Mon Sep 17 00:00:00 2001 +From d8bd0cff27c0572e9305e7fdbc6b843f74d9e30f Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 29 Jun 2009 10:41:56 +0000 Subject: [PATCH] Fix crash in QEMU driver with bad capabilities data +(cherry picked from commit 39c7e7a6b79bbdfa36928a430d56fa88a204e8fd) + +Fedora-patch: libvirt-0.6.2-fix-libvirtd-crash-with-bad-capabilities-data.patch --- src/qemu_driver.c | 80 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 54 insertions(+), 26 deletions(-) -diff -up libvirt-0.6.2/src/qemu_driver.c.bad-caps libvirt-0.6.2/src/qemu_driver.c ---- libvirt-0.6.2/src/qemu_driver.c.bad-caps 2009-07-03 10:07:03.275252815 +0100 -+++ libvirt-0.6.2/src/qemu_driver.c 2009-07-03 10:08:52.143502961 +0100 +diff --git a/src/qemu_driver.c b/src/qemu_driver.c +index cb738b2..3d3675c 100644 +--- a/src/qemu_driver.c ++++ b/src/qemu_driver.c @@ -360,12 +360,43 @@ next: return 0; } @@ -56,7 +60,7 @@ diff -up libvirt-0.6.2/src/qemu_driver.c virSecurityDriverPtr security_drv; ret = virSecurityDriverStartup(&security_drv, -@@ -381,36 +412,17 @@ qemudSecurityInit(struct qemud_driver *q +@@ -381,36 +412,17 @@ qemudSecurityInit(struct qemud_driver *qemud_drv) } qemud_drv->securityDriver = security_drv; @@ -96,7 +100,7 @@ diff -up libvirt-0.6.2/src/qemu_driver.c /** * qemudStartup: -@@ -1852,13 +1864,29 @@ static int qemudGetNodeInfo(virConnectPt +@@ -1852,13 +1864,29 @@ static int qemudGetNodeInfo(virConnectPtr conn, static char *qemudGetCapabilities(virConnectPtr conn) { struct qemud_driver *driver = conn->privateData; @@ -128,3 +132,6 @@ diff -up libvirt-0.6.2/src/qemu_driver.c qemuDriverUnlock(driver); return xml; +-- +1.6.2.5 + libvirt-0.6.2-fix-nosource-label.patch: security_selinux.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: libvirt-0.6.2-fix-nosource-label.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-fix-nosource-label.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-fix-nosource-label.patch 11 May 2009 02:28:23 -0000 1.1 +++ libvirt-0.6.2-fix-nosource-label.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,7 +1,28 @@ -diff -rup libvirt-0.6.2/src/security_selinux.c new/src/security_selinux.c ---- libvirt-0.6.2/src/security_selinux.c 2009-05-10 22:04:25.000000000 -0400 -+++ new/src/security_selinux.c 2009-05-10 22:06:09.000000000 -0400 -@@ -338,6 +338,9 @@ SELinuxSetSecurityImageLabel(virConnectP +From 99c018831379f23e65860ad4f3628a6d5f1a7d5a Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Fri, 3 Jul 2009 10:29:09 +0000 +Subject: [PATCH] Skip labelling if no src path present + +Fixes startup of guest's with sourceless cdrom devices. + +Patch from Cole Robinson originally posted here: + + https://bugzilla.redhat.com/499569 + +but never sent upstream. + +(cherry picked from commit 67d0c6eb9410d5101f4820a7286deacb6398afde) + +Fedora-patch: libvirt-0.6.2-fix-nosource-label.patch +--- + src/security_selinux.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/src/security_selinux.c b/src/security_selinux.c +index 95fa0a6..450fce2 100644 +--- a/src/security_selinux.c ++++ b/src/security_selinux.c +@@ -338,6 +338,9 @@ SELinuxSetSecurityImageLabel(virConnectPtr conn, { const virSecurityLabelDefPtr secdef = &vm->def->seclabel; @@ -11,3 +32,6 @@ diff -rup libvirt-0.6.2/src/security_sel if (disk->shared) { return SELinuxSetFilecon(conn, disk->src, default_image_context); } else if (disk->readonly) { +-- +1.6.2.5 + libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch: qemu_conf.c | 18 ++++++++++++++---- qemu_driver.c | 13 ++----------- 2 files changed, 16 insertions(+), 15 deletions(-) Index: libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch 21 May 2009 12:07:19 -0000 1.1 +++ libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,15 +1,18 @@ -From 2b3fcdc378e7bec5c1a78b81632756e92930fd24 Mon Sep 17 00:00:00 2001 +From 9f6a5f50aee13575331f79f5d93635f701646eb7 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 11 May 2009 15:14:24 +0000 -Subject: [PATCH 1/1] Fix QEMU ARGV detection with kvm >= 85 +Subject: [PATCH] Fix QEMU ARGV detection with kvm >= 85 +(cherry picked from commit 426f9772b84752b4901b72fd382ff6e28e258efd) + +Fedora-patch: libvirt-0.6.2-fix-qemu-argv-detection-with-kvm-85.patch --- src/qemu_conf.c | 18 ++++++++++++++---- src/qemu_driver.c | 12 ++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c -index 9cb71eb..a57d3ab 100644 +index 929fe00..3e7e32d 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -431,18 +431,28 @@ int qemudExtractVersionInfo(const char *qemu, @@ -46,10 +49,10 @@ index 9cb71eb..a57d3ab 100644 version = (major * 1000 * 1000) + (minor * 1000) + micro; diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index 30642d5..bd60b29 100644 +index 4752a64..5ca3d20 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c -@@ -1391,12 +1391,8 @@ static int qemudStartVMDaemon(virConnectPtr conn, +@@ -1379,12 +1379,8 @@ static int qemudStartVMDaemon(virConnectPtr conn, if (qemudExtractVersionInfo(emulator, NULL, @@ -63,7 +66,7 @@ index 30642d5..bd60b29 100644 if (qemuPrepareHostDevices(conn, vm->def) < 0) goto cleanup; -@@ -3715,12 +3711,8 @@ static int qemudDomainChangeEjectableMedia(virConnectPtr conn, +@@ -3606,12 +3602,8 @@ static int qemudDomainChangeEjectableMedia(virConnectPtr conn, if (qemudExtractVersionInfo(vm->def->emulator, NULL, @@ -78,5 +81,5 @@ index 30642d5..bd60b29 100644 if (qemuCmdFlags & QEMUD_CMD_FLAG_DRIVE) { if (!(devname = qemudDiskDeviceName(conn, newdisk))) -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-hotplug-labelling.patch: qemu_driver.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) Index: libvirt-0.6.2-hotplug-labelling.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-hotplug-labelling.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-hotplug-labelling.patch 5 Aug 2009 15:48:14 -0000 1.1 +++ libvirt-0.6.2-hotplug-labelling.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,17 +1,23 @@ -commit 1795bfe4a177a5eff1b3b0a16d56df6f371c0f8e -Author: Daniel P. Berrange -Date: Mon Jul 6 16:01:55 2009 +0100 +From 0aac99f8e13dfc74b87986908165ae7f44662153 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 6 Jul 2009 16:01:55 +0100 +Subject: [PATCH] Fix SELinux denial during hotplug - Fix SELinux denial during hotplug - - * src/qemu_driver.c: Relabel disk images *before* running QEMU - hotplug monitor commands +* src/qemu_driver.c: Relabel disk images *before* running QEMU +hotplug monitor commands + +(cherry picked from commit 1795bfe4a177a5eff1b3b0a16d56df6f371c0f8e) + +Fedora-patch: libvirt-0.6.2-hotplug-labelling.patch +--- + src/qemu_driver.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index 5a0ab12..342ba01 100644 +index 5fc21a1..f3661f8 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c -@@ -4225,10 +4225,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom, +@@ -3934,10 +3934,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom, switch (dev->data.disk->device) { case VIR_DOMAIN_DISK_DEVICE_CDROM: case VIR_DOMAIN_DISK_DEVICE_FLOPPY: @@ -26,7 +32,7 @@ index 5a0ab12..342ba01 100644 if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_USB) { ret = qemudDomainAttachUsbMassstorageDevice(dom->conn, vm, dev); } else if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_SCSI || -@@ -4240,8 +4244,6 @@ static int qemudDomainAttachDevice(virDomainPtr dom, +@@ -3949,8 +3953,6 @@ static int qemudDomainAttachDevice(virDomainPtr dom, virDomainDiskBusTypeToString(dev->data.disk->bus)); goto cleanup; } @@ -35,3 +41,6 @@ index 5a0ab12..342ba01 100644 break; default: +-- +1.6.2.5 + libvirt-0.6.2-hotplug-monitor-syntax.patch: qemu_driver.c | 57 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 15 deletions(-) Index: libvirt-0.6.2-hotplug-monitor-syntax.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-hotplug-monitor-syntax.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-hotplug-monitor-syntax.patch 5 Aug 2009 15:48:14 -0000 1.1 +++ libvirt-0.6.2-hotplug-monitor-syntax.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,17 +1,23 @@ -commit 326ecb78145cfeb7706ef0dcd521b19d934950e7 -Author: Daniel P. Berrange -Date: Mon Jul 6 15:58:55 2009 +0100 +From ae80f9ec15b03d9d3ab6cfa2d48529b459a64fb2 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 6 Jul 2009 15:58:55 +0100 +Subject: [PATCH] Fix PCI device hotplug/unplug with newer QEMU - Fix PCI device hotplug/unplug with newer QEMU - - * src/qemu_driver.c: Try new monitor syntax for hotplug first. If - that fails fallback to old KVM specific syntax +* src/qemu_driver.c: Try new monitor syntax for hotplug first. If + that fails fallback to old KVM specific syntax + +(cherry picked from commit 326ecb78145cfeb7706ef0dcd521b19d934950e7) + +Fedora-patch: libvirt-0.6.2-hotplug-monitor-syntax.patch +--- + src/qemu_driver.c | 56 +++++++++++++++++++++++++++++++++++++++------------- + 1 files changed, 42 insertions(+), 14 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index 2e55045..5a0ab12 100644 +index f3661f8..8473616 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c -@@ -4004,6 +4004,7 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, +@@ -3724,6 +3724,7 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, char *cmd, *reply, *s; char *safe_path; const char* type = virDomainDiskBusTypeToString(dev->data.disk->bus); @@ -19,7 +25,7 @@ index 2e55045..5a0ab12 100644 for (i = 0 ; i < vm->def->ndisks ; i++) { if (STREQ(vm->def->disks[i]->dst, dev->data.disk->dst)) { -@@ -4018,14 +4019,15 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, +@@ -3738,14 +3739,15 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, return -1; } @@ -37,7 +43,7 @@ index 2e55045..5a0ab12 100644 VIR_FREE(safe_path); if (ret == -1) { virReportOOMError(conn); -@@ -4041,17 +4043,27 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, +@@ -3761,17 +3763,27 @@ static int qemudDomainAttachPciDiskDevice(virConnectPtr conn, DEBUG ("%s: pci_add reply: %s", vm->def->name, reply); /* If the command succeeds qemu prints: @@ -71,7 +77,7 @@ index 2e55045..5a0ab12 100644 VIR_FREE(reply); VIR_FREE(cmd); return -1; -@@ -4268,6 +4280,7 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, +@@ -3990,6 +4002,7 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, char *cmd = NULL; char *reply = NULL; virDomainDiskDefPtr detach = NULL; @@ -79,7 +85,7 @@ index 2e55045..5a0ab12 100644 for (i = 0 ; i < vm->def->ndisks ; i++) { if (STREQ(vm->def->disks[i]->dst, dev->data.disk->dst)) { -@@ -4289,9 +4302,17 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, +@@ -4011,9 +4024,17 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, goto cleanup; } @@ -100,7 +106,7 @@ index 2e55045..5a0ab12 100644 } if (qemudMonitorCommand(vm, cmd, &reply) < 0) { -@@ -4301,12 +4322,19 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, +@@ -4023,12 +4044,19 @@ static int qemudDomainDetachPciDiskDevice(virConnectPtr conn, } DEBUG ("%s: pci_del reply: %s",vm->def->name, reply); @@ -123,3 +129,6 @@ index 2e55045..5a0ab12 100644 goto cleanup; } +-- +1.6.2.5 + libvirt-0.6.2-libvirtd-double-free.patch: qemud.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) Index: libvirt-0.6.2-libvirtd-double-free.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-libvirtd-double-free.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-libvirtd-double-free.patch 5 Jun 2009 11:47:31 -0000 1.1 +++ libvirt-0.6.2-libvirtd-double-free.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,14 +1,17 @@ -From c3b3f6005d45552d01823504925eb587889cf25a Mon Sep 17 00:00:00 2001 +From 2c42e4c96efd390fa7a6957692a5863d30a10828 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Fri, 29 May 2009 14:34:35 +0000 -Subject: [PATCH 1/1] Avoid double-free in daemon client cleanup code +Subject: [PATCH] Avoid double-free in daemon client cleanup code +(cherry picked from commit 6c3ef350649b959215cfc5ccfdaba35bf9560066) + +Fedora-patch: libvirt-0.6.2-libvirtd-double-free.patch --- qemud/qemud.c | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/qemud/qemud.c b/qemud/qemud.c -index 1375560..783dc69 100644 +index 4f04355..e299a67 100644 --- a/qemud/qemud.c +++ b/qemud/qemud.c @@ -1397,7 +1397,10 @@ static int qemudDispatchServer(struct qemud_server *server, struct qemud_socket @@ -23,7 +26,7 @@ index 1375560..783dc69 100644 /* Deregister event delivery callback */ if(client->conn) { -@@ -1406,12 +1406,21 @@ void qemudDispatchClientFailure(struct qemud_client *client) { +@@ -1406,12 +1409,21 @@ void qemudDispatchClientFailure(struct qemud_client *client) { } #if HAVE_SASL @@ -50,5 +53,5 @@ index 1375560..783dc69 100644 -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-monitor-prompt-discard.patch: qemu_driver.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) Index: libvirt-0.6.2-monitor-prompt-discard.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-monitor-prompt-discard.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-monitor-prompt-discard.patch 5 Aug 2009 15:48:14 -0000 1.1 +++ libvirt-0.6.2-monitor-prompt-discard.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,18 +1,23 @@ -commit 2d1f2e706c8b13571e1227df1c69b2302da35d5a -Author: Daniel P. Berrange -Date: Mon Jul 6 15:45:04 2009 +0100 +From eb2fad7e94ba9bf48787e24542931688b9926ca1 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 6 Jul 2009 15:45:04 +0100 +Subject: [PATCH] Fix problem with QEMU monitor welcome prompt confusing libvirt after a libvirtd daemon restart with active guests - Fix problem with QEMU monitor welcome prompt confusing libvirt - after a libvirtd daemon restart with active guests - - * src/qemu_driver: Read and dicard pending monitor data - before issuing new monitor commands. +* src/qemu_driver: Read and dicard pending monitor data + before issuing new monitor commands. + +(cherry picked from commit 2d1f2e706c8b13571e1227df1c69b2302da35d5a) + +Fedora-patch: libvirt-0.6.2-monitor-prompt-discard.patch +--- + src/qemu_driver.c | 24 ++++++++++++++++++++++++ + 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index e2b7acb..2e55045 100644 +index 3d3675c..5fc21a1 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c -@@ -1744,6 +1744,28 @@ cleanup: +@@ -1636,6 +1636,28 @@ cleanup: qemuDriverUnlock(driver); } @@ -41,7 +46,7 @@ index e2b7acb..2e55045 100644 static int qemudMonitorCommandExtra(const virDomainObjPtr vm, const char *cmd, -@@ -1755,6 +1777,8 @@ qemudMonitorCommandExtra(const virDomainObjPtr vm, +@@ -1647,6 +1669,8 @@ qemudMonitorCommandExtra(const virDomainObjPtr vm, size_t cmdlen = strlen(cmd); size_t extralen = extra ? strlen(extra) : 0; @@ -50,3 +55,6 @@ index e2b7acb..2e55045 100644 if (safewrite(vm->monitor, cmd, cmdlen) != cmdlen) return -1; if (safewrite(vm->monitor, "\r", 1) != 1) +-- +1.6.2.5 + libvirt-0.6.2-numa-ignore-fail.patch: capabilities.c | 16 +++++++++++++--- capabilities.h | 3 +++ libvirt_private.syms | 1 + lxc_conf.c | 11 +++++++++-- qemu_conf.c | 10 ++++++++-- uml_conf.c | 12 +++++++++--- 6 files changed, 43 insertions(+), 10 deletions(-) Index: libvirt-0.6.2-numa-ignore-fail.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-numa-ignore-fail.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-numa-ignore-fail.patch 13 Aug 2009 16:07:23 -0000 1.1 +++ libvirt-0.6.2-numa-ignore-fail.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,7 +1,25 @@ -diff -rup libvirt-0.6.2.orig/src/capabilities.c libvirt-0.6.2.new/src/capabilities.c ---- libvirt-0.6.2.orig/src/capabilities.c 2009-03-24 12:31:01.000000000 +0000 -+++ libvirt-0.6.2.new/src/capabilities.c 2009-08-13 12:10:57.000000000 +0100 -@@ -122,6 +122,18 @@ virCapabilitiesFreeGuest(virCapsGuestPtr +From 3cf2f90a4747547f9877b15c1f573f8a771098e8 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 29 Jun 2009 10:41:56 +0000 +Subject: [PATCH] Fix crash in QEMU driver with bad capabilities data + +(cherry picked from commit 39c7e7a6b79bbdfa36928a430d56fa88a204e8fd) + +Fedora-patch: libvirt-0.6.2-numa-ignore-fail.patch +--- + src/capabilities.c | 16 +++++++++++++--- + src/capabilities.h | 3 +++ + src/libvirt_private.syms | 1 + + src/lxc_conf.c | 11 +++++++++-- + src/qemu_conf.c | 10 ++++++++-- + src/uml_conf.c | 11 +++++++++-- + 6 files changed, 43 insertions(+), 9 deletions(-) + +diff --git a/src/capabilities.c b/src/capabilities.c +index d6e3478..8dc32a1 100644 +--- a/src/capabilities.c ++++ b/src/capabilities.c +@@ -122,6 +122,18 @@ virCapabilitiesFreeGuest(virCapsGuestPtr guest) } @@ -31,9 +49,10 @@ diff -rup libvirt-0.6.2.orig/src/capabil for (i = 0 ; i < caps->host.nmigrateTrans ; i++) VIR_FREE(caps->host.migrateTrans[i]); -diff -rup libvirt-0.6.2.orig/src/capabilities.h libvirt-0.6.2.new/src/capabilities.h ---- libvirt-0.6.2.orig/src/capabilities.h 2009-03-24 12:31:01.000000000 +0000 -+++ libvirt-0.6.2.new/src/capabilities.h 2009-08-13 11:50:46.000000000 +0100 +diff --git a/src/capabilities.h b/src/capabilities.h +index 5b0bbab..1b49666 100644 +--- a/src/capabilities.h ++++ b/src/capabilities.h @@ -118,6 +118,9 @@ extern void virCapabilitiesFree(virCapsPtr caps); @@ -44,9 +63,10 @@ diff -rup libvirt-0.6.2.orig/src/capabil virCapabilitiesSetMacPrefix(virCapsPtr caps, unsigned char *prefix); -diff -rup libvirt-0.6.2.orig/src/libvirt_private.syms libvirt-0.6.2.new/src/libvirt_private.syms ---- libvirt-0.6.2.orig/src/libvirt_private.syms 2009-04-03 15:04:28.000000000 +0100 -+++ libvirt-0.6.2.new/src/libvirt_private.syms 2009-08-13 11:50:59.000000000 +0100 +diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms +index 350a931..9249a1a 100644 +--- a/src/libvirt_private.syms ++++ b/src/libvirt_private.syms @@ -24,6 +24,7 @@ virCapabilitiesDefaultGuestEmulator; virCapabilitiesDefaultGuestMachine; virCapabilitiesFormatXML; @@ -55,9 +75,10 @@ diff -rup libvirt-0.6.2.orig/src/libvirt virCapabilitiesNew; virCapabilitiesSetMacPrefix; virCapabilitiesGenerateMac; -diff -rup libvirt-0.6.2.orig/src/lxc_conf.c libvirt-0.6.2.new/src/lxc_conf.c ---- libvirt-0.6.2.orig/src/lxc_conf.c 2009-01-31 09:04:17.000000000 +0000 -+++ libvirt-0.6.2.new/src/lxc_conf.c 2009-08-13 11:58:41.000000000 +0100 +diff --git a/src/lxc_conf.c b/src/lxc_conf.c +index 34c8aea..fe721e3 100644 +--- a/src/lxc_conf.c ++++ b/src/lxc_conf.c @@ -30,6 +30,7 @@ #include "lxc_conf.h" #include "nodeinfo.h" @@ -83,9 +104,10 @@ diff -rup libvirt-0.6.2.orig/src/lxc_con /* XXX shouldn't 'borrow' KVM's prefix */ virCapabilitiesSetMacPrefix(caps, (unsigned char []){ 0x52, 0x54, 0x00 }); -diff -rup libvirt-0.6.2.orig/src/qemu_conf.c libvirt-0.6.2.new/src/qemu_conf.c ---- libvirt-0.6.2.orig/src/qemu_conf.c 2009-08-13 11:44:11.000000000 +0100 -+++ libvirt-0.6.2.new/src/qemu_conf.c 2009-08-13 11:45:34.000000000 +0100 +diff --git a/src/qemu_conf.c b/src/qemu_conf.c +index 99f13c6..1194e36 100644 +--- a/src/qemu_conf.c ++++ b/src/qemu_conf.c @@ -376,8 +376,14 @@ virCapsPtr qemudCapsInit(void) { /* Using KVM's mac prefix for QEMU too */ virCapabilitiesSetMacPrefix(caps, (unsigned char[]){ 0x52, 0x54, 0x00 }); @@ -103,9 +125,10 @@ diff -rup libvirt-0.6.2.orig/src/qemu_co /* First the pure HVM guests */ for (i = 0 ; i < ARRAY_CARDINALITY(arch_info_hvm) ; i++) -diff -rup libvirt-0.6.2.orig/src/uml_conf.c libvirt-0.6.2.new/src/uml_conf.c ---- libvirt-0.6.2.orig/src/uml_conf.c 2009-01-31 09:04:18.000000000 +0000 -+++ libvirt-0.6.2.new/src/uml_conf.c 2009-08-13 11:58:47.000000000 +0100 +diff --git a/src/uml_conf.c b/src/uml_conf.c +index c0d086e..9dd4967 100644 +--- a/src/uml_conf.c ++++ b/src/uml_conf.c @@ -44,6 +44,7 @@ #include "memory.h" #include "nodeinfo.h" @@ -131,3 +154,6 @@ diff -rup libvirt-0.6.2.orig/src/uml_con if ((guest = virCapabilitiesAddGuest(caps, "uml", +-- +1.6.2.5 + libvirt-0.6.2-pci-device-crash.patch: pci.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) Index: libvirt-0.6.2-pci-device-crash.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-pci-device-crash.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-pci-device-crash.patch 5 Aug 2009 15:48:14 -0000 1.1 +++ libvirt-0.6.2-pci-device-crash.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,14 +1,20 @@ -commit 4a7acedd3c59a6a750576cb8680bc3f08fe0b52c -Author: Daniel P. Berrange -Date: Thu Jul 16 13:23:32 2009 +0100 +From d5d67ea357d92759d4a9ecb213e577835f961eed Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Thu, 16 Jul 2009 13:23:32 +0100 +Subject: [PATCH] Fix free of unitialized data upon PCI open fail - Fix free of unitialized data upon PCI open fail +(cherry picked from commit 4a7acedd3c59a6a750576cb8680bc3f08fe0b52c) + +Fedora-patch: libvirt-0.6.2-pci-device-crash.patch +--- + src/pci.c | 4 +--- + 1 files changed, 1 insertions(+), 3 deletions(-) diff --git a/src/pci.c b/src/pci.c -index 3ffa0aa..4030a14 100644 +index ed64d68..68a380d 100644 --- a/src/pci.c +++ b/src/pci.c -@@ -834,10 +834,8 @@ pciReadDeviceID(pciDevice *dev, const char *id_name) +@@ -829,10 +829,8 @@ pciReadDeviceID(pciDevice *dev, const char *id_name) dev->name, id_name); /* ID string is '0xNNNN\n' ... i.e. 7 bytes */ @@ -20,3 +26,6 @@ index 3ffa0aa..4030a14 100644 /* Check for 0x suffix */ if (id_str[0] != '0' || id_str[1] != 'x') { +-- +1.6.2.5 + libvirt-0.6.2-qemu-drive-format.patch: qemu_conf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) Index: libvirt-0.6.2-qemu-drive-format.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-qemu-drive-format.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-qemu-drive-format.patch 16 Apr 2009 15:26:45 -0000 1.1 +++ libvirt-0.6.2-qemu-drive-format.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,15 +1,17 @@ -From 0ae4c67ff5f1d24698c5cfc8a9719d333c892644 Mon Sep 17 00:00:00 2001 +From bf7b58a2471a07111f8022c0176f45ee5dc5fe71 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin -Date: Thu, 16 Apr 2009 11:23:55 +0100 -Subject: [PATCH 1/3] qemu -drive takes format= not fmt= +Date: Thu, 16 Apr 2009 14:21:35 +0000 +Subject: [PATCH] qemu -drive takes format= not fmt= Seems like a simple typo - it has been "format=" since the flag was introduced, but we added it as "fmt=". -Signed-off-by: Mark McLoughlin +(cherry picked from commit 9fa79000ecc883c699a6cb1ce7f00c34881bc8fe) + +Fedora-patch: libvirt-0.6.2-qemu-drive-format.patch --- - src/qemu_conf.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/qemu_conf.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c index f36c927..6f9e610 100644 @@ -24,3 +26,6 @@ index f36c927..6f9e610 100644 if (disk->cachemode) { const char *mode = +-- +1.6.2.5 + libvirt-0.6.2-qemu-name-uniqueness.patch: qemu_driver.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 83 insertions(+), 21 deletions(-) Index: libvirt-0.6.2-qemu-name-uniqueness.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-qemu-name-uniqueness.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-qemu-name-uniqueness.patch 5 Aug 2009 15:48:14 -0000 1.1 +++ libvirt-0.6.2-qemu-name-uniqueness.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,7 +1,20 @@ -diff -rupN libvirt-0.6.2/src/qemu_driver.c libvirt-0.6.2.new/src/qemu_driver.c ---- libvirt-0.6.2/src/qemu_driver.c 2009-08-05 16:25:22.000000000 +0100 -+++ libvirt-0.6.2.new/src/qemu_driver.c 2009-08-05 16:27:48.000000000 +0100 -@@ -2174,22 +2174,37 @@ static virDomainPtr qemudDomainCreate(vi +From 1f1a0ca63c5492c7d41a0cdbd452a2743f314ebc Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Fri, 8 May 2009 10:11:14 +0000 +Subject: [PATCH] Improve name & UUID uniqueness checking in QEMU driver + +(cherry picked from commit 54ebbde1e18ec831ff2fddb44ec27ed5dde7874a) + +Fedora-patch: libvirt-0.6.2-qemu-name-uniqueness.patch +--- + src/qemu_driver.c | 103 ++++++++++++++++++++++++++++++++++++++++++---------- + 1 files changed, 83 insertions(+), 20 deletions(-) + +diff --git a/src/qemu_driver.c b/src/qemu_driver.c +index 8473616..dfd19c5 100644 +--- a/src/qemu_driver.c ++++ b/src/qemu_driver.c +@@ -2174,22 +2174,37 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml, if (virSecurityDriverVerify(conn, def) < 0) goto cleanup; @@ -52,7 +65,7 @@ diff -rupN libvirt-0.6.2/src/qemu_driver } if (!(vm = virDomainAssignDef(conn, -@@ -2368,6 +2383,11 @@ static int qemudDomainDestroy(virDomainP +@@ -2368,6 +2383,11 @@ static int qemudDomainDestroy(virDomainPtr dom) { _("no domain with matching id %d"), dom->id); goto cleanup; } @@ -64,7 +77,7 @@ diff -rupN libvirt-0.6.2/src/qemu_driver qemudShutdownVMDaemon(dom->conn, driver, vm); event = virDomainEventNewFromObj(vm, -@@ -3272,17 +3292,36 @@ static int qemudDomainRestore(virConnect +@@ -3272,17 +3292,36 @@ static int qemudDomainRestore(virConnectPtr conn, goto cleanup; } @@ -106,7 +119,7 @@ diff -rupN libvirt-0.6.2/src/qemu_driver } } -@@ -3470,18 +3509,41 @@ static virDomainPtr qemudDomainDefine(vi +@@ -3470,18 +3509,41 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) { if (virSecurityDriverVerify(conn, def) < 0) goto cleanup; @@ -150,7 +163,7 @@ diff -rupN libvirt-0.6.2/src/qemu_driver vm->persistent = 1; if (virDomainSaveConfig(conn, -@@ -3503,6 +3565,7 @@ static virDomainPtr qemudDomainDefine(vi +@@ -3503,6 +3565,7 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) { if (dom) dom->id = vm->def->id; cleanup: @@ -158,3 +171,6 @@ diff -rupN libvirt-0.6.2/src/qemu_driver if (vm) virDomainObjUnlock(vm); if (event) +-- +1.6.2.5 + libvirt-0.6.2-qemu-ppc-machine-type.patch: docs/schemas/domain.rng | 2 +- src/qemu_conf.c | 2 +- tests/capabilityschemadata/caps-qemu-kvm.xml | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) Index: libvirt-0.6.2-qemu-ppc-machine-type.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-qemu-ppc-machine-type.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-qemu-ppc-machine-type.patch 5 Jun 2009 11:47:31 -0000 1.1 +++ libvirt-0.6.2-qemu-ppc-machine-type.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,12 +1,11 @@ -From daf3db93457427c25325781af684758c0341a6aa Mon Sep 17 00:00:00 2001 +From 5c1ff776a3194bcc5d593aedd36cd676f1fcab64 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Fri, 29 May 2009 13:32:06 +0000 -Subject: [PATCH 1/1] PPC Qemu Machine Type update - * src/qemu_conf.c docs/schemas/domain.rng - tests/capabilityschemadata/caps-qemu-kvm.xml: PPC Qemu Machine Type - changed from g3bw to g3beige some time ago, patch by Thomas Baker - Daniel +Subject: [PATCH] PPC Qemu Machine Type update * src/qemu_conf.c docs/schemas/domain.rng tests/capabilityschemadata/caps-qemu-kvm.xml: PPC Qemu Machine Type changed from g3bw to g3beige some time ago, patch by Thomas Baker +(cherry picked from commit 525c3d40a97a1ccce7c4dc314d2dd9e780b50d41) + +Fedora-patch: libvirt-0.6.2-qemu-ppc-machine-type.patch --- docs/schemas/domain.rng | 2 +- src/qemu_conf.c | 2 +- @@ -14,7 +13,7 @@ Subject: [PATCH 1/1] PPC Qemu Machine Ty 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng -index 204c633..11cf04a 100644 +index 2f784e1..b29079a 100644 --- a/docs/schemas/domain.rng +++ b/docs/schemas/domain.rng @@ -184,7 +184,7 @@ @@ -27,7 +26,7 @@ index 204c633..11cf04a 100644 prep diff --git a/src/qemu_conf.c b/src/qemu_conf.c -index 18156cd..d54f2ca 100644 +index 3e7e32d..fc0e772 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -192,7 +192,7 @@ static const char *const arch_info_hvm_sparc_machines[] = { @@ -53,5 +52,5 @@ index fd8523e..893f9ed 100644 prep -- -1.6.0.6 +1.6.2.5 libvirt-0.6.2-shared-readonly-label.patch: security_selinux.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) Index: libvirt-0.6.2-shared-readonly-label.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-shared-readonly-label.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-shared-readonly-label.patch 5 May 2009 13:01:15 -0000 1.1 +++ libvirt-0.6.2-shared-readonly-label.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,6 +1,27 @@ -diff -rup libvirt-0.6.2/src/security_selinux.c libvirt-0.6.2.new/src/security_selinux.c ---- libvirt-0.6.2/src/security_selinux.c 2009-04-03 15:36:56.000000000 +0100 -+++ libvirt-0.6.2.new/src/security_selinux.c 2009-05-05 13:39:42.000000000 +0100 +From 36cf92efa2b22f275bdc56411d9704e530cdb3fa Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Fri, 3 Jul 2009 10:26:37 +0000 +Subject: [PATCH] Re-label shared and readonly images + +This patch was posted ages ago here: + + https://bugzilla.redhat.com/493692 + +But was never posted upstream AFAICT. + +Patch from Dan Berrange + +(cherry picked from commit 547147084d03ebf30d09d242a5a721a4df664ffe) + +Fedora-patch: libvirt-0.6.2-shared-readonly-label.patch +--- + src/security_selinux.c | 26 +++++++++++++++++++------- + 1 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/src/security_selinux.c b/src/security_selinux.c +index ac317d7..95fa0a6 100644 +--- a/src/security_selinux.c ++++ b/src/security_selinux.c @@ -24,11 +24,12 @@ #include "virterror_internal.h" #include "util.h" @@ -31,7 +52,7 @@ diff -rup libvirt-0.6.2/src/security_sel return 0; } -@@ -275,6 +281,8 @@ SELinuxSetFilecon(virConnectPtr conn, co +@@ -275,6 +281,8 @@ SELinuxSetFilecon(virConnectPtr conn, const char *path, char *tcon) { char ebuf[1024]; @@ -40,7 +61,7 @@ diff -rup libvirt-0.6.2/src/security_sel if(setfilecon(path, tcon) < 0) { virSecurityReportError(conn, VIR_ERR_ERROR, _("%s: unable to set security context " -@@ -299,6 +307,8 @@ SELinuxRestoreSecurityImageLabel(virConn +@@ -299,6 +307,8 @@ SELinuxRestoreSecurityImageLabel(virConnectPtr conn, char *newpath = NULL; const char *path = disk->src; @@ -49,7 +70,7 @@ diff -rup libvirt-0.6.2/src/security_sel if (disk->readonly || disk->shared) return 0; -@@ -328,8 +338,13 @@ SELinuxSetSecurityImageLabel(virConnectP +@@ -328,8 +338,13 @@ SELinuxSetSecurityImageLabel(virConnectPtr conn, { const virSecurityLabelDefPtr secdef = &vm->def->seclabel; @@ -64,7 +85,7 @@ diff -rup libvirt-0.6.2/src/security_sel return 0; } -@@ -403,9 +418,6 @@ SELinuxSetSecurityLabel(virConnectPtr co +@@ -403,9 +418,6 @@ SELinuxSetSecurityLabel(virConnectPtr conn, if (secdef->imagelabel) { for (i = 0 ; i < vm->def->ndisks ; i++) { @@ -74,3 +95,6 @@ diff -rup libvirt-0.6.2/src/security_sel if (SELinuxSetSecurityImageLabel(conn, vm, vm->def->disks[i]) < 0) return -1; } +-- +1.6.2.5 + libvirt-0.6.2-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.2-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-svirt-sound.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-svirt-sound.patch 3 Apr 2009 15:52:11 -0000 1.1 +++ libvirt-0.6.2-svirt-sound.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,6 +1,21 @@ ---- src/qemu_conf.c.orig 2009-04-02 11:50:10.000000000 +0200 -+++ src/qemu_conf.c 2009-04-03 17:46:59.000000000 +0200 -@@ -779,6 +779,20 @@ int qemudBuildCommandLine(virConnectPtr +From 02f85e2c6b3b53f89d8b4b3e5cb70b1700719516 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrange +Date: Mon, 17 Aug 2009 08:52:30 +0100 +Subject: [PATCH] Disable sound cards when running sVirt + +Temporary hack till PulseAudio autostart problems are sorted out when +SELinux enforcing (bz 486112) + +Fedora-patch: libvirt-0.6.2-svirt-sound.patch +--- + src/qemu_conf.c | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +diff --git a/src/qemu_conf.c b/src/qemu_conf.c +index 1194e36..f42aeaa 100644 +--- a/src/qemu_conf.c ++++ b/src/qemu_conf.c +@@ -795,6 +795,20 @@ int qemudBuildCommandLine(virConnectPtr conn, char domid[50]; char *pidfile; const char *cpu = NULL; @@ -10,7 +25,7 @@ + driver->securityDriver->name && + STREQ(driver->securityDriver->name, "selinux") && + getuid() == 0) { -+ static int soundWarned = 0; ++ static int soundWarned = 0; + skipSound = 1; + if (vm->def->nsounds && + !soundWarned) { @@ -21,7 +36,7 @@ uname_normalize(&ut); -@@ -1425,7 +1439,8 @@ int qemudBuildCommandLine(virConnectPtr +@@ -1441,7 +1455,8 @@ int qemudBuildCommandLine(virConnectPtr conn, } /* Add sound hardware */ @@ -31,3 +46,6 @@ int size = 100; char *modstr; if (VIR_ALLOC_N(modstr, size+1) < 0) +-- +1.6.2.5 + libvirt-0.6.2-xml-attribute-escaping.patch: buf.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) Index: libvirt-0.6.2-xml-attribute-escaping.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-xml-attribute-escaping.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.2-xml-attribute-escaping.patch 21 May 2009 12:07:19 -0000 1.1 +++ libvirt-0.6.2-xml-attribute-escaping.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,9 +1,11 @@ -From 7f7a4403860f56d5a1ad65bfd16f5bf97a971d45 Mon Sep 17 00:00:00 2001 +From a7d81a2f9e80942c9951c1d16ad69c66b9a47bbb Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Wed, 13 May 2009 16:19:59 +0000 -Subject: [PATCH 1/1] * src/buf.c: avoid an XML attribute escaping bug #499791 - daniel +Subject: [PATCH] * src/buf.c: avoid an XML attribute escaping bug #499791 daniel +(cherry picked from commit 7afe94e7e236ec465d838e7d60e961975c526ab2) + +Fedora-patch: libvirt-0.6.2-xml-attribute-escaping.patch --- src/buf.c | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-) @@ -43,5 +45,5 @@ index cdcdac9..259175d 100644 (*cur == '\r')) { /* -- -1.6.0.6 +1.6.2.5 libvirt-0.6.3-hostdev-managed.patch: qemu_driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) Index: libvirt-0.6.3-hostdev-managed.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.3-hostdev-managed.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.3-hostdev-managed.patch 6 May 2009 15:51:47 -0000 1.1 +++ libvirt-0.6.3-hostdev-managed.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,6 +1,6 @@ -From 3d7771e0570e09096ad9391a857dad48b150bc0c Mon Sep 17 00:00:00 2001 +From b3f02d5528c121bcf7b9ac5c4284517e71a5e2f2 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin -Date: Wed, 6 May 2009 16:33:28 +0100 +Date: Wed, 6 May 2009 15:56:20 +0000 Subject: [PATCH] Fix qemu driver's interpretation of This change: @@ -22,13 +22,15 @@ accidentally did this: Which results in managed='yes' not causing the device to be detached when the guest is starting. -Signed-off-by: Mark McLoughlin +(cherry picked from commit 1d6c713b18741f1a0e3d0ccd094275a11aef138c) + +Fedora-patch: libvirt-0.6.3-hostdev-managed.patch --- src/qemu_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index 5898026..59312c0 100644 +index 79ee072..162d072 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1215,7 +1215,7 @@ static int qemuPrepareHostDevices(virConnectPtr conn, @@ -41,5 +43,5 @@ index 5898026..59312c0 100644 hostdev->source.subsys.u.pci.domain, hostdev->source.subsys.u.pci.bus, -- -1.6.0.6 +1.6.2.5 libvirt-0.6.3-refresh-qemu-caps.patch: qemu_driver.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) Index: libvirt-0.6.3-refresh-qemu-caps.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.3-refresh-qemu-caps.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-0.6.3-refresh-qemu-caps.patch 6 May 2009 16:32:34 -0000 1.1 +++ libvirt-0.6.3-refresh-qemu-caps.patch 17 Aug 2009 08:08:57 -0000 1.2 @@ -1,17 +1,23 @@ -commit 0e51348cb9aeafe5e2fd6469a4bde0baa1eb8720 -Author: Cole Robinson -Date: Mon May 4 15:06:03 2009 -0400 +From a521796bac21f0c8af38a8551a420d87b61c7a9a Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Wed, 6 May 2009 14:20:34 +0000 +Subject: [PATCH] Refresh QEMU driver capabilities for each getCapabilities call. - Refresh QEMU driver capabilities for each getCapabilities call. - - Also fix up a couple issues where caps are accessed without locking - the driver structure. +Also fix up a couple issues where caps are accessed without locking +the driver structure. + +(cherry picked from commit 4f107590243631869677ddea2bb667db4a1282a6) + +Fedora-patch: libvirt-0.6.3-refresh-qemu-caps.patch +--- + src/qemu_driver.c | 28 ++++++++++++++++++++-------- + 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c -index 23ea961..790dac6 100644 +index 162d072..4752a64 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c -@@ -1885,10 +1885,12 @@ static int qemudGetNodeInfo(virConnectPtr conn, +@@ -1872,10 +1872,12 @@ static int qemudGetNodeInfo(virConnectPtr conn, static char *qemudGetCapabilities(virConnectPtr conn) { struct qemud_driver *driver = conn->privateData; @@ -26,7 +32,7 @@ index 23ea961..790dac6 100644 virReportOOMError(conn); qemuDriverUnlock(driver); -@@ -3169,20 +3171,26 @@ cleanup: +@@ -3142,20 +3144,26 @@ cleanup: return ret; } @@ -57,7 +63,7 @@ index 23ea961..790dac6 100644 } strcpy(secmodel->model, p); -@@ -3191,10 +3199,14 @@ static int qemudNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr sec +@@ -3164,10 +3172,14 @@ static int qemudNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr sec qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("security DOI string exceeds max %d bytes"), VIR_SECURITY_DOI_BUFLEN-1); @@ -74,3 +80,6 @@ index 23ea961..790dac6 100644 } /* TODO: check seclabel restore */ +-- +1.6.2.5 + Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.137 retrieving revision 1.138 diff -u -p -r1.137 -r1.138 --- libvirt.spec 13 Aug 2009 16:07:23 -0000 1.137 +++ libvirt.spec 17 Aug 2009 08:08:57 -0000 1.138 @@ -294,7 +294,7 @@ of recent versions of Linux (and other O %patch22 -p1 %patch23 -p1 -%patch200 -p0 +%patch200 -p1 mv NEWS NEWS.old iconv -f ISO-8859-1 -t UTF-8 < NEWS.old > NEWS From markmc at fedoraproject.org Tue Aug 18 10:03:38 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 18 Aug 2009 10:03:38 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.120,1.121 Message-ID: <20090818100338.9A13D11C00D7@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24724 Modified Files: qemu.spec Log Message: * Tue Aug 18 2009 Mark McLoughlin - 2:0.10.91-0.7.rc1 - Fix permissions on udev rules (#517571) Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.120 retrieving revision 1.121 diff -u -p -r1.120 -r1.121 --- qemu.spec 17 Aug 2009 03:21:08 -0000 1.120 +++ qemu.spec 18 Aug 2009 10:03:38 -0000 1.121 @@ -4,7 +4,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.91 -Release: 0.6.%{kvmvertag}%{?dist} +Release: 0.7.%{kvmvertag}%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -304,7 +304,7 @@ install -m 0755 kvm/user/kvmtrace $RPM_B install -m 0755 kvm/user/kvmtrace_format $RPM_BUILD_ROOT%{_bindir}/ install -m 0755 kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir}/ install -m 0755 qemu-kvm $RPM_BUILD_ROOT%{_bindir}/ -install -m 0755 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d +install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d %endif make prefix="${RPM_BUILD_ROOT}%{_prefix}" \ @@ -484,8 +484,11 @@ getent passwd qemu >/dev/null || \ %{_mandir}/man1/qemu-img.1* %changelog +* Tue Aug 18 2009 Mark McLoughlin - 2:0.10.91-0.7.rc1 +- Fix permissions on udev rules (#517571) + * Mon Aug 17 2009 Lubomir Rintel - 2:0.10.91-0.6.rc1 -- Allow blacklisting of kvm modules +- Allow blacklisting of kvm modules (#517866) * Fri Aug 7 2009 Mark McLoughlin - 2:0.10.91-0.5.rc1 - Fix virtio_net with -net user (#516022) From markmc at fedoraproject.org Tue Aug 18 10:06:18 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 18 Aug 2009 10:06:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-11 kvm.modules, 1.1, 1.2 qemu.spec, 1.99, 1.100 Message-ID: <20090818100618.2460E11C00D7@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25338 Modified Files: kvm.modules qemu.spec Log Message: * Tue Aug 18 2009 Mark McLoughlin - 2:0.10.6-2 - Allow blacklisting of kvm modules (#517866) Index: kvm.modules =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/kvm.modules,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- kvm.modules 4 Mar 2009 00:11:56 -0000 1.1 +++ kvm.modules 18 Aug 2009 10:06:17 -0000 1.2 @@ -1,9 +1,9 @@ #!/bin/sh if [ $(grep -c vmx /proc/cpuinfo) -ne 0 ]; then - modprobe kvm-intel >/dev/null 2>&1 + modprobe -b kvm-intel >/dev/null 2>&1 fi if [ $(grep -c svm /proc/cpuinfo) -ne 0 ]; then - modprobe kvm-amd >/dev/null 2>&1 + modprobe -b kvm-amd >/dev/null 2>&1 fi Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu.spec,v retrieving revision 1.99 retrieving revision 1.100 diff -u -p -r1.99 -r1.100 --- qemu.spec 4 Aug 2009 15:35:42 -0000 1.99 +++ qemu.spec 18 Aug 2009 10:06:17 -0000 1.100 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.6 -Release: 1%{?dist} +Release: 2%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -467,6 +467,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue Aug 18 2009 Mark McLoughlin - 2:0.10.6-2 +- Allow blacklisting of kvm modules (#517866) + * Tue Aug 4 2009 Mark McLoughlin - 2:0.10.6-1 - Update to qemu-kvm-0.10.6; upstream ChangeLog: - merge qemu 0.10.6 From markmc at fedoraproject.org Wed Aug 19 16:15:46 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 19 Aug 2009 16:15:46 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt-add-space-to-nodedev-list-tree.patch, NONE, 1.1 libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch, NONE, 1.1 libvirt-allow-pm-reset-on-multi-function-pci-devices.patch, NONE, 1.1 libvirt-do-not-overwrite-error-in-wait-for-monitor.patch, NONE, 1.1 libvirt-fix-device-list-update-after-detach.patch, NONE, 1.1 libvirt-improve-pci-hostdev-reset-error-message.patch, NONE, 1.1 libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch, NONE, 1.1 libvirt-0.6.2-svirt-sound.patch, 1.2, 1.3 libvirt.spec, 1.138, 1.139 Message-ID: <20090819161546.BA4F611C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27568 Modified Files: libvirt-0.6.2-svirt-sound.patch libvirt.spec Added Files: libvirt-add-space-to-nodedev-list-tree.patch libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch libvirt-allow-pm-reset-on-multi-function-pci-devices.patch libvirt-do-not-overwrite-error-in-wait-for-monitor.patch libvirt-fix-device-list-update-after-detach.patch libvirt-improve-pci-hostdev-reset-error-message.patch libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch Log Message: * Wed Aug 19 2009 Mark McLoughlin - 0.6.2-16.fc11 - Allow PCI bus reset to reset other devices (#499678) - Fix stupid PCI reset error message (bug #499678) - Allow PM reset on multi-function PCI devices (bug #515689) - Re-attach PCI host devices after guest shuts down (bug #499561) - Fixes list corruption after disk hot-unplug - Fix minor 'virsh nodedev-list --tree' annoyance libvirt-add-space-to-nodedev-list-tree.patch: virsh.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) --- NEW FILE libvirt-add-space-to-nodedev-list-tree.patch --- >From b77d11b221862343d304e11ed878e2f176101f24 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Tue, 28 Apr 2009 10:55:45 +0000 Subject: [PATCH] Cosmetic change to 'virsh nodedev-list --tree' output Maybe it's just me, but I try to select an item from the tree using double-click and get annoyed when "+-" gets included in the selection. * src/virsh.c: add a space between "+-" and the node device name in 'virsh nodedev-list --tree' (cherry picked from commit cb4a6614fae48d05f09b7b15328ea6ef4071ccb3) (cherry picked from commit 097c818bf00b3777778ffc32fea3a6ed1e741e2b) Fedora-patch: libvirt-add-space-to-nodedev-list-tree.patch --- src/virsh.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/virsh.c b/src/virsh.c index 26764a7..c92bb8f 100644 --- a/src/virsh.c +++ b/src/virsh.c @@ -4460,10 +4460,12 @@ cmdNodeListDevicesPrint(vshControl *ctl, if (depth && depth < MAX_DEPTH) { indentBuf[indentIdx] = '+'; indentBuf[indentIdx+1] = '-'; + indentBuf[indentIdx+2] = ' '; + indentBuf[indentIdx+3] = '\0'; } /* Print this device */ - vshPrint(ctl, indentBuf); + vshPrint(ctl, "%s", indentBuf); vshPrint(ctl, "%s\n", devices[devid]); @@ -4487,8 +4489,8 @@ cmdNodeListDevicesPrint(vshControl *ctl, /* If there is a child device, then print another blank line */ if (nextlastdev != -1) { - vshPrint(ctl, indentBuf); - vshPrint(ctl, " |\n"); + vshPrint(ctl, "%s", indentBuf); + vshPrint(ctl, " |\n"); } /* Finally print all children */ @@ -4511,7 +4513,7 @@ cmdNodeListDevicesPrint(vshControl *ctl, /* If there was no child device, and we're the last in * a list of devices, then print another blank line */ if (nextlastdev == -1 && devid == lastdev) { - vshPrint(ctl, indentBuf); + vshPrint(ctl, "%s", indentBuf); vshPrint(ctl, "\n"); } } -- 1.6.2.5 libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch: libvirt_private.syms | 7 + pci.c | 211 ++++++++++++++++++++++++++++++++++++--------- pci.h | 23 ++++ qemu_conf.h | 3 qemu_driver.c | 237 +++++++++++++++++++++++++++++---------------------- xen_unified.c | 3 6 files changed, 339 insertions(+), 145 deletions(-) --- NEW FILE libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch --- >From 6878a049e27f2eaea7bd3d5c266a2d2b39e444f1 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 17 Aug 2009 15:05:23 +0100 Subject: [PATCH] Maintain a list of active PCI hostdevs and use it in pciResetDevice() https://bugzilla.redhat.com/499678 First we add a pciDeviceList type and add a qemuGetPciHostDeviceList() function to build a list from a domain definition. Use this in prepare/re-attach to simplify things and eliminate the multiple pciGetDevice() calls. Then, as we start/shutdown guests we can add or delete devices as appropriate from a list of active devices. Finally, in pciReset(), we can use this to determine whether its safe to reset a device as a side effect of resetting another device. (cherry picked from commit 78675b228b76a83f83d64856bfb63b9e14c103a0) (cherry picked from commit e8ad33931296c67de0538e78d12e21706a826d37) Fedora-patch: libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch --- src/libvirt_private.syms | 7 +- src/pci.c | 211 +++++++++++++++++++++++++++++++++-------- src/pci.h | 23 +++++- src/qemu_conf.h | 3 + src/qemu_driver.c | 237 +++++++++++++++++++++++++++------------------- src/xen_unified.c | 2 +- 6 files changed, 339 insertions(+), 144 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 9249a1a..75ddda8 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -240,7 +240,12 @@ pciFreeDevice; pciDettachDevice; pciReAttachDevice; pciResetDevice; - +pciDeviceSetManaged; +pciDeviceGetManaged; +pciDeviceListNew; +pciDeviceListFree; +pciDeviceListAdd; +pciDeviceListDel; # qparams.h qparam_get_query; diff --git a/src/pci.c b/src/pci.c index 1dddb08..1e68261 100644 --- a/src/pci.c +++ b/src/pci.c @@ -58,6 +58,7 @@ struct _pciDevice { unsigned pci_pm_cap_pos; unsigned has_flr : 1; unsigned has_pm_reset : 1; + unsigned managed : 1; }; /* For virReportOOMError() and virReportSystemError() */ @@ -220,7 +221,7 @@ pciWrite32(pciDevice *dev, unsigned pos, uint32_t val) pciWrite(dev, pos, &buf[0], sizeof(buf)); } -typedef int (*pciIterPredicate)(pciDevice *, pciDevice *); +typedef int (*pciIterPredicate)(pciDevice *, pciDevice *, void *); /* Iterate over available PCI devices calling @predicate * to compare each one to @dev. @@ -231,7 +232,8 @@ static int pciIterDevices(virConnectPtr conn, pciIterPredicate predicate, pciDevice *dev, - pciDevice **matched) + pciDevice **matched, + void *data) { DIR *dir; struct dirent *entry; @@ -249,7 +251,7 @@ pciIterDevices(virConnectPtr conn, while ((entry = readdir(dir))) { unsigned domain, bus, slot, function; - pciDevice *try; + pciDevice *check; /* Ignore '.' and '..' */ if (entry->d_name[0] == '.') @@ -261,18 +263,18 @@ pciIterDevices(virConnectPtr conn, continue; } - try = pciGetDevice(conn, domain, bus, slot, function); - if (!try) { + check = pciGetDevice(conn, domain, bus, slot, function); + if (!check) { ret = -1; break; } - if (predicate(try, dev)) { - VIR_DEBUG("%s %s: iter matched on %s", dev->id, dev->name, try->name); - *matched = try; + if (predicate(dev, check, data)) { + VIR_DEBUG("%s %s: iter matched on %s", dev->id, dev->name, check->name); + *matched = check; break; } - pciFreeDevice(conn, try); + pciFreeDevice(conn, check); } closedir(dir); return ret; @@ -374,63 +376,70 @@ pciDetectPowerManagementReset(pciDevice *dev) return 0; } -/* Any devices other than the one supplied on the same domain/bus ? */ +/* Any active devices other than the one supplied on the same domain/bus ? */ static int -pciSharesBus(pciDevice *a, pciDevice *b) +pciSharesBusWithActive(pciDevice *dev, pciDevice *check, void *data) { - return - a->domain == b->domain && - a->bus == b->bus && - (a->slot != b->slot || - a->function != b->function); -} + pciDeviceList *activeDevs = data; -static int -pciBusContainsOtherDevices(virConnectPtr conn, pciDevice *dev) -{ - pciDevice *matched = NULL; - if (pciIterDevices(conn, pciSharesBus, dev, &matched) < 0) - return 1; - if (!matched) + if (dev->domain != check->domain || + dev->bus != check->bus || + (check->slot == check->slot && + check->function == check->function)) + return 0; + + if (activeDevs && !pciDeviceListFind(activeDevs, check)) return 0; - pciFreeDevice(conn, matched); + return 1; } -/* Is @a the parent of @b ? */ +static pciDevice * +pciBusContainsActiveDevices(virConnectPtr conn, + pciDevice *dev, + pciDeviceList *activeDevs) +{ + pciDevice *active = NULL; + if (pciIterDevices(conn, pciSharesBusWithActive, + dev, &active, activeDevs) < 0) + return NULL; + return active; +} + +/* Is @check the parent of @dev ? */ static int -pciIsParent(pciDevice *a, pciDevice *b) +pciIsParent(pciDevice *dev, pciDevice *check, void *data ATTRIBUTE_UNUSED) { uint16_t device_class; uint8_t header_type, secondary, subordinate; - if (a->domain != b->domain) + if (dev->domain != check->domain) return 0; /* Is it a bridge? */ - device_class = pciRead16(a, PCI_CLASS_DEVICE); + device_class = pciRead16(check, PCI_CLASS_DEVICE); if (device_class != PCI_CLASS_BRIDGE_PCI) return 0; /* Is it a plane? */ - header_type = pciRead8(a, PCI_HEADER_TYPE); + header_type = pciRead8(check, PCI_HEADER_TYPE); if ((header_type & PCI_HEADER_TYPE_MASK) != PCI_HEADER_TYPE_BRIDGE) return 0; - secondary = pciRead8(a, PCI_SECONDARY_BUS); - subordinate = pciRead8(a, PCI_SUBORDINATE_BUS); + secondary = pciRead8(check, PCI_SECONDARY_BUS); + subordinate = pciRead8(check, PCI_SUBORDINATE_BUS); - VIR_DEBUG("%s %s: found parent device %s\n", b->id, b->name, a->name); + VIR_DEBUG("%s %s: found parent device %s\n", dev->id, dev->name, check->name); /* No, it's superman! */ - return (b->bus >= secondary && b->bus <= subordinate); + return (dev->bus >= secondary && dev->bus <= subordinate); } static pciDevice * pciGetParentDevice(virConnectPtr conn, pciDevice *dev) { pciDevice *parent = NULL; - pciIterDevices(conn, pciIsParent, dev, &parent); + pciIterDevices(conn, pciIsParent, dev, &parent, NULL); return parent; } @@ -438,9 +447,11 @@ pciGetParentDevice(virConnectPtr conn, pciDevice *dev) * devices behind a bus. */ static int -pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) +pciTrySecondaryBusReset(virConnectPtr conn, + pciDevice *dev, + pciDeviceList *activeDevs) { - pciDevice *parent; + pciDevice *parent, *conflict; uint8_t config_space[PCI_CONF_LEN]; uint16_t ctl; int ret = -1; @@ -450,10 +461,10 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) * In future, we could allow it so long as those devices * are not in use by the host or other guests. */ - if (pciBusContainsOtherDevices(conn, dev)) { + if ((conflict = pciBusContainsActiveDevices(conn, dev, activeDevs))) { pciReportError(conn, VIR_ERR_NO_SUPPORT, - _("Other devices on bus with %s, not doing bus reset"), - dev->name); + _("Active %s devices on bus with %s, not doing bus reset"), + conflict->name, dev->name); return -1; } @@ -567,10 +578,18 @@ pciInitDevice(virConnectPtr conn, pciDevice *dev) } int -pciResetDevice(virConnectPtr conn, pciDevice *dev) +pciResetDevice(virConnectPtr conn, + pciDevice *dev, + pciDeviceList *activeDevs) { int ret = -1; + if (activeDevs && pciDeviceListFind(activeDevs, dev)) { + pciReportError(conn, VIR_ERR_INTERNAL_ERROR, + _("Not resetting active device %s"), dev->name); + return -1; + } + if (!dev->initted && pciInitDevice(conn, dev) < 0) return -1; @@ -589,7 +608,7 @@ pciResetDevice(virConnectPtr conn, pciDevice *dev) /* Bus reset is not an option with the root bus */ if (ret < 0 && dev->bus != 0) - ret = pciTrySecondaryBusReset(conn, dev); + ret = pciTrySecondaryBusReset(conn, dev, activeDevs); if (ret < 0) { virErrorPtr err = virGetLastError(); @@ -885,8 +904,116 @@ pciGetDevice(virConnectPtr conn, void pciFreeDevice(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) { + if (!dev) + return; VIR_DEBUG("%s %s: freeing", dev->id, dev->name); if (dev->fd >= 0) close(dev->fd); VIR_FREE(dev); } + +void pciDeviceSetManaged(pciDevice *dev, unsigned managed) +{ + dev->managed = !!managed; +} + +unsigned pciDeviceGetManaged(pciDevice *dev) +{ + return dev->managed; +} + +pciDeviceList * +pciDeviceListNew(virConnectPtr conn) +{ + pciDeviceList *list; + + if (VIR_ALLOC(list) < 0) { + virReportOOMError(conn); + return NULL; + } + + return list; +} + +void +pciDeviceListFree(virConnectPtr conn, + pciDeviceList *list) +{ + int i; + + if (!list) + return; + + for (i = 0; i < list->count; i++) { + pciFreeDevice(conn, list->devs[i]); + list->devs[i] = NULL; + } + + list->count = 0; + VIR_FREE(list->devs); + VIR_FREE(list); +} + +int +pciDeviceListAdd(virConnectPtr conn, + pciDeviceList *list, + pciDevice *dev) +{ + if (pciDeviceListFind(list, dev)) { + pciReportError(conn, VIR_ERR_INTERNAL_ERROR, + _("Device %s is already in use"), dev->name); + return -1; + } + + if (VIR_REALLOC_N(list->devs, list->count+1) < 0) { + virReportOOMError(conn); + return -1; + } + + list->devs[list->count++] = dev; + + return 0; +} + +void +pciDeviceListDel(virConnectPtr conn ATTRIBUTE_UNUSED, + pciDeviceList *list, + pciDevice *dev) +{ + int i; + + for (i = 0; i < list->count; i++) { + if (list->devs[i]->domain != dev->domain || + list->devs[i]->bus != dev->bus || + list->devs[i]->slot != dev->slot || + list->devs[i]->function != dev->function) + continue; + + pciFreeDevice(conn, list->devs[i]); + + if (i != --list->count) + memmove(&list->devs[i], + &list->devs[i+1], + sizeof(*list->devs) * (list->count-i)); + + if (VIR_REALLOC_N(list->devs, list->count) < 0) { + ; /* not fatal */ + } + + break; + } +} + +pciDevice * +pciDeviceListFind(pciDeviceList *list, pciDevice *dev) +{ + int i; + + for (i = 0; i < list->count; i++) + if (list->devs[i]->domain == dev->domain && + list->devs[i]->bus == dev->bus && + list->devs[i]->slot == dev->slot && + list->devs[i]->function == dev->function) + return list->devs[i]; + return NULL; +} diff --git a/src/pci.h b/src/pci.h index 47882ef..685b0af 100644 --- a/src/pci.h +++ b/src/pci.h @@ -27,6 +27,11 @@ typedef struct _pciDevice pciDevice; +typedef struct { + unsigned count; + pciDevice **devs; +} pciDeviceList; + pciDevice *pciGetDevice (virConnectPtr conn, unsigned domain, unsigned bus, @@ -39,6 +44,22 @@ int pciDettachDevice (virConnectPtr conn, int pciReAttachDevice (virConnectPtr conn, pciDevice *dev); int pciResetDevice (virConnectPtr conn, - pciDevice *dev); + pciDevice *dev, + pciDeviceList *activeDevs); +void pciDeviceSetManaged(pciDevice *dev, + unsigned managed); +unsigned pciDeviceGetManaged(pciDevice *dev); + +pciDeviceList *pciDeviceListNew (virConnectPtr conn); +void pciDeviceListFree (virConnectPtr conn, + pciDeviceList *list); +int pciDeviceListAdd (virConnectPtr conn, + pciDeviceList *list, + pciDevice *dev); +void pciDeviceListDel (virConnectPtr conn, + pciDeviceList *list, + pciDevice *dev); +pciDevice * pciDeviceListFind (pciDeviceList *list, + pciDevice *dev); #endif /* __VIR_PCI_H__ */ diff --git a/src/qemu_conf.h b/src/qemu_conf.h index 70fe9c8..cde326d 100644 --- a/src/qemu_conf.h +++ b/src/qemu_conf.h @@ -34,6 +34,7 @@ #include "domain_event.h" #include "threads.h" #include "security.h" +#include "pci.h" #define qemudDebug(fmt, ...) do {} while(0) @@ -90,6 +91,8 @@ struct qemud_driver { char *securityDriverName; virSecurityDriverPtr securityDriver; + + pciDeviceList *activePciHostdevs; }; /* Status needed to reconenct to running VMs */ diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 9f87d2a..7dbf4a2 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -126,6 +126,9 @@ static int qemudDomainSetMemoryBalloon(virConnectPtr conn, virDomainObjPtr vm, unsigned long newmem); +static int qemuUpdateActivePciHostdevs(struct qemud_driver *driver, + virDomainDefPtr def); + static struct qemud_driver *qemu_driver = NULL; @@ -334,6 +337,10 @@ qemudReconnectVMs(struct qemud_driver *driver) if ((vm->logfile = qemudLogFD(NULL, driver->logDir, vm->def->name)) < 0) goto next_error; + if (qemuUpdateActivePciHostdevs(driver, vm->def) < 0) { + goto next_error; + } + if (vm->def->id >= driver->nextvmid) driver->nextvmid = vm->def->id + 1; @@ -515,6 +522,9 @@ qemudStartup(void) { if ((qemu_driver->caps = qemudCapsInit()) == NULL) goto out_of_memory; + if ((qemu_driver->activePciHostdevs = pciDeviceListNew(NULL)) == NULL) + goto error; + if (qemudLoadDriverConfig(qemu_driver, driverConf) < 0) { goto error; } @@ -627,6 +637,7 @@ qemudShutdown(void) { return -1; qemuDriverLock(qemu_driver); + pciDeviceListFree(NULL, qemu_driver->activePciHostdevs); virCapabilitiesFree(qemu_driver->caps); virDomainObjListFree(&qemu_driver->domains); @@ -1209,48 +1220,16 @@ static int qemudNextFreeVNCPort(struct qemud_driver *driver ATTRIBUTE_UNUSED) { return -1; } -static int qemuPrepareHostDevices(virConnectPtr conn, - virDomainDefPtr def) { +static pciDeviceList * +qemuGetPciHostDeviceList(virConnectPtr conn, + virDomainDefPtr def) +{ + pciDeviceList *list; int i; - /* We have to use 2 loops here. *All* devices must - * be detached before we reset any of them, because - * in some cases you have to reset the whole PCI, - * which impacts all devices on it - */ - - for (i = 0 ; i < def->nhostdevs ; i++) { - virDomainHostdevDefPtr hostdev = def->hostdevs[i]; - - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) - continue; - - if (hostdev->managed) { - pciDevice *dev = pciGetDevice(conn, - hostdev->source.subsys.u.pci.domain, - hostdev->source.subsys.u.pci.bus, - hostdev->source.subsys.u.pci.slot, - hostdev->source.subsys.u.pci.function); - if (!dev) - goto error; - - if (pciDettachDevice(conn, dev) < 0) { - pciFreeDevice(conn, dev); - goto error; - } - - pciFreeDevice(conn, dev); - } /* else { - XXX validate that non-managed device isn't in use, eg - by checking that device is either un-bound, or bound - to pci-stub.ko - } */ - } + if (!(list = pciDeviceListNew(conn))) + return NULL; - /* Now that all the PCI hostdevs have be dettached, we can safely - * reset them */ for (i = 0 ; i < def->nhostdevs ; i++) { virDomainHostdevDefPtr hostdev = def->hostdevs[i]; pciDevice *dev; @@ -1265,95 +1244,151 @@ static int qemuPrepareHostDevices(virConnectPtr conn, hostdev->source.subsys.u.pci.bus, hostdev->source.subsys.u.pci.slot, hostdev->source.subsys.u.pci.function); - if (!dev) - goto error; + if (!dev) { + pciDeviceListFree(conn, list); + return NULL; + } - if (pciResetDevice(conn, dev) < 0) { + if (pciDeviceListAdd(conn, list, dev) < 0) { pciFreeDevice(conn, dev); - goto error; + pciDeviceListFree(conn, list); + return NULL; } - pciFreeDevice(conn, dev); + pciDeviceSetManaged(dev, hostdev->managed); } - return 0; + return list; +} -error: - return -1; +static int +qemuUpdateActivePciHostdevs(struct qemud_driver *driver, + virDomainDefPtr def) +{ + pciDeviceList *pcidevs; + int i, ret; + + if (!def->nhostdevs) + return 0; + + if (!(pcidevs = qemuGetPciHostDeviceList(NULL, def))) + return -1; + + ret = 0; + + for (i = 0; i < pcidevs->count; i++) { + if (pciDeviceListAdd(NULL, + driver->activePciHostdevs, + pcidevs->devs[i]) < 0) { + ret = -1; + break; + } + pcidevs->devs[i] = NULL; + } + + pciDeviceListFree(NULL, pcidevs); + return ret; } -static void -qemuDomainReAttachHostDevices(virConnectPtr conn, virDomainDefPtr def) +static int +qemuPrepareHostDevices(virConnectPtr conn, + struct qemud_driver *driver, + virDomainDefPtr def) { + pciDeviceList *pcidevs; int i; - /* Again 2 loops; reset all the devices before re-attach */ + if (!def->nhostdevs) + return 0; - for (i = 0 ; i < def->nhostdevs ; i++) { - virDomainHostdevDefPtr hostdev = def->hostdevs[i]; - pciDevice *dev; + if (!(pcidevs = qemuGetPciHostDeviceList(conn, def))) + return -1; - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) - continue; + /* We have to use 3 loops here. *All* devices must + * be detached before we reset any of them, because + * in some cases you have to reset the whole PCI, + * which impacts all devices on it. Also, all devices + * must be reset before being marked as active. + */ - dev = pciGetDevice(conn, - hostdev->source.subsys.u.pci.domain, - hostdev->source.subsys.u.pci.bus, - hostdev->source.subsys.u.pci.slot, - hostdev->source.subsys.u.pci.function); - if (!dev) { - virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), - err ? err->message : ""); - virResetError(err); - continue; - } + /* XXX validate that non-managed device isn't in use, eg + * by checking that device is either un-bound, or bound + * to pci-stub.ko + */ - if (pciResetDevice(conn, dev) < 0) { - virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to reset PCI device: %s\n"), - err ? err->message : ""); - virResetError(err); - } + for (i = 0; i < pcidevs->count; i++) + if (pciDeviceGetManaged(pcidevs->devs[i]) && + pciDettachDevice(conn, pcidevs->devs[i]) < 0) + goto error; + + /* Now that all the PCI hostdevs have be dettached, we can safely + * reset them */ + for (i = 0; i < pcidevs->count; i++) + if (pciResetDevice(conn, pcidevs->devs[i], + driver->activePciHostdevs) < 0) + goto error; - pciFreeDevice(conn, dev); + /* Now mark all the devices as active */ + for (i = 0; i < pcidevs->count; i++) { + if (pciDeviceListAdd(conn, + driver->activePciHostdevs, + pcidevs->devs[i]) < 0) + goto error; + pcidevs->devs[i] = NULL; } - for (i = 0 ; i < def->nhostdevs ; i++) { - virDomainHostdevDefPtr hostdev = def->hostdevs[i]; - pciDevice *dev; + pciDeviceListFree(conn, pcidevs); + return 0; - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) - continue; - if (!hostdev->managed) - continue; +error: + pciDeviceListFree(conn, pcidevs); + return -1; +} - dev = pciGetDevice(conn, - hostdev->source.subsys.u.pci.domain, - hostdev->source.subsys.u.pci.bus, - hostdev->source.subsys.u.pci.slot, - hostdev->source.subsys.u.pci.function); - if (!dev) { +static void +qemuDomainReAttachHostDevices(virConnectPtr conn, + struct qemud_driver *driver, + virDomainDefPtr def) +{ + pciDeviceList *pcidevs; + int i; + + if (!def->nhostdevs) + return; + + if (!(pcidevs = qemuGetPciHostDeviceList(conn, def))) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to allocate pciDeviceList: %s\n"), + err ? err->message : ""); + virResetError(err); + return; + } + + /* Again 3 loops; mark all devices as inactive before reset + * them and reset all the devices before re-attach */ + + for (i = 0; i < pcidevs->count; i++) + pciDeviceListDel(conn, driver->activePciHostdevs, pcidevs->devs[i]); + + for (i = 0; i < pcidevs->count; i++) + if (pciResetDevice(conn, pcidevs->devs[i], + driver->activePciHostdevs) < 0) { virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), + VIR_ERROR(_("Failed to reset PCI device: %s\n"), err ? err->message : ""); virResetError(err); - continue; } - if (pciReAttachDevice(conn, dev) < 0) { + for (i = 0; i < pcidevs->count; i++) + if (pciDeviceGetManaged(pcidevs->devs[i]) && + pciReAttachDevice(conn, pcidevs->devs[i]) < 0) { virErrorPtr err = virGetLastError(); VIR_ERROR(_("Failed to re-attach PCI device: %s\n"), err ? err->message : ""); virResetError(err); } - pciFreeDevice(conn, dev); - } + pciDeviceListFree(conn, pcidevs); } static int qemudDomainSetSecurityLabel(virConnectPtr conn, struct qemud_driver *driver, virDomainObjPtr vm) @@ -1468,7 +1503,7 @@ static int qemudStartVMDaemon(virConnectPtr conn, &qemuCmdFlags) < 0) goto cleanup; - if (qemuPrepareHostDevices(conn, vm->def) < 0) + if (qemuPrepareHostDevices(conn, driver, vm->def) < 0) goto cleanup; vm->def->id = driver->nextvmid++; @@ -1634,7 +1669,7 @@ static void qemudShutdownVMDaemon(virConnectPtr conn ATTRIBUTE_UNUSED, VIR_FREE(vm->def->seclabel.imagelabel); } - qemuDomainReAttachHostDevices(conn, vm->def); + qemuDomainReAttachHostDevices(conn, driver, vm->def); if (qemudRemoveDomainStatus(conn, driver, vm) < 0) { VIR_WARN(_("Failed to remove domain status for %s"), @@ -5247,6 +5282,7 @@ out: static int qemudNodeDeviceReset (virNodeDevicePtr dev) { + struct qemud_driver *driver = dev->conn->privateData; pciDevice *pci; unsigned domain, bus, slot, function; int ret = -1; @@ -5258,11 +5294,14 @@ qemudNodeDeviceReset (virNodeDevicePtr dev) if (!pci) return -1; - if (pciResetDevice(dev->conn, pci) < 0) + qemuDriverLock(driver); + + if (pciResetDevice(dev->conn, pci, driver->activePciHostdevs) < 0) goto out; ret = 0; out: + qemuDriverUnlock(driver); pciFreeDevice(dev->conn, pci); return ret; } diff --git a/src/xen_unified.c b/src/xen_unified.c index e708980..ba8c769 100644 --- a/src/xen_unified.c +++ b/src/xen_unified.c @@ -1529,7 +1529,7 @@ xenUnifiedNodeDeviceReset (virNodeDevicePtr dev) if (!pci) return -1; - if (pciResetDevice(dev->conn, pci) < 0) + if (pciResetDevice(dev->conn, pci, NULL) < 0) goto out; ret = 0; -- 1.6.2.5 libvirt-allow-pm-reset-on-multi-function-pci-devices.patch: pci.c | 49 +++++++++---------------------------------------- 1 file changed, 9 insertions(+), 40 deletions(-) --- NEW FILE libvirt-allow-pm-reset-on-multi-function-pci-devices.patch --- >From d79f35fbd4eaf610972621b042993d00f3247d5c Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:11 +0100 Subject: [PATCH] Allow PM reset on multi-function PCI devices https://bugzilla.redhat.com/515689 It turns out that a PCI Power Management reset only affects individual functions, and not the whole device. The PCI Power Management spec talks about resetting the 'device' rather than the 'function', but Intel's Dexuan Cui informs me that it is actually a per-function reset. Also, Yu Zhao has added pci_pm_reset() to the kernel, and it doesn't reject multi-function devices, so it must be true! :-) (A side issue is that we could defer the PM reset to the kernel if we could detect that the kernel has PM reset support, but barring version number checks we don't have a way to detect that support) * src/pci.c: remove the pciDeviceContainsOtherFunctions() check from pciTryPowerManagementReset() and prefer PM reset over bus reset where both are available Cc: Cui, Dexuan Cc: Yu Zhao (cherry picked from commit 64a6682b93a2a8aa38067a43979c9eaf993d2b41) Fedora-patch: libvirt-allow-pm-reset-on-multi-function-pci-devices.patch --- src/pci.c | 48 +++++++++--------------------------------------- 1 files changed, 9 insertions(+), 39 deletions(-) diff --git a/src/pci.c b/src/pci.c index 68a380d..f78ab9f 100644 --- a/src/pci.c +++ b/src/pci.c @@ -397,29 +397,6 @@ pciBusContainsOtherDevices(virConnectPtr conn, pciDevice *dev) return 1; } -/* Any other functions on this device ? */ -static int -pciSharesDevice(pciDevice *a, pciDevice *b) -{ - return - a->domain == b->domain && - a->bus == b->bus && - a->slot == b->slot && - a->function != b->function; -} - -static int -pciDeviceContainsOtherFunctions(virConnectPtr conn, pciDevice *dev) -{ - pciDevice *matched = NULL; - if (pciIterDevices(conn, pciSharesDevice, dev, &matched) < 0) - return 1; - if (!matched) - return 0; - pciFreeDevice(conn, matched); - return 1; -} - /* Is @a the parent of @b ? */ static int pciIsParent(pciDevice *a, pciDevice *b) @@ -524,7 +501,7 @@ out: * above we require the device supports a full internal reset. */ static int -pciTryPowerManagementReset(virConnectPtr conn, pciDevice *dev) +pciTryPowerManagementReset(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) { uint8_t config_space[PCI_CONF_LEN]; uint32_t ctl; @@ -532,16 +509,6 @@ pciTryPowerManagementReset(virConnectPtr conn, pciDevice *dev) if (!dev->pci_pm_cap_pos) return -1; - /* For now, we just refuse to do a power management reset - * if there are other functions on this device. - * In future, we could allow it so long as those functions - * are not in use by the host or other guests. - */ - if (pciDeviceContainsOtherFunctions(conn, dev)) { - VIR_WARN("%s contains other functions, not resetting", dev->name); - return -1; - } - /* Save and restore the device's config space. */ if (pciRead(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) { VIR_WARN("Failed to save PCI config space for %s", dev->name); @@ -599,14 +566,17 @@ pciResetDevice(virConnectPtr conn, pciDevice *dev) if (dev->has_flr) return 0; + /* If the device supports PCI power management reset, + * that's the next best thing because it only resets + * the function, not the whole device. + */ + if (dev->has_pm_reset) + ret = pciTryPowerManagementReset(conn, dev); + /* Bus reset is not an option with the root bus */ - if (dev->bus != 0) + if (ret < 0 && dev->bus != 0) ret = pciTrySecondaryBusReset(conn, dev); - /* Next best option is a PCI power management reset */ - if (ret < 0 && dev->has_pm_reset) - ret = pciTryPowerManagementReset(conn, dev); - if (ret < 0) pciReportError(conn, VIR_ERR_NO_SUPPORT, _("No PCI reset capability available for %s"), -- 1.6.2.5 libvirt-do-not-overwrite-error-in-wait-for-monitor.patch: qemu_driver.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- NEW FILE libvirt-do-not-overwrite-error-in-wait-for-monitor.patch --- >From 1319852c443c432d44a2e73508f3be742027f780 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 19 Aug 2009 11:28:02 +0100 Subject: [PATCH] Don't overwrite error in qemudWaitForMonitor() May help diagnose https://bugzilla.redhat.com/515054 Fedora-patch: libvirt-do-not-overwrite-error-in-wait-for-monitor.patch --- src/qemu_driver.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index dfd19c5..74e106a 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -985,8 +985,9 @@ static int qemudWaitForMonitor(virConnectPtr conn, return 0; /* Unexpected end of file - inform user of QEMU log data */ - qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, - _("unable to start guest: %s"), buf); + if (!virGetLastError()) + qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, + _("unable to start guest: %s"), buf); return -1; } -- 1.6.2.5 libvirt-fix-device-list-update-after-detach.patch: qemu_driver.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) --- NEW FILE libvirt-fix-device-list-update-after-detach.patch --- >From 2754da03d65f216271c81ece791b96a19272c812 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Sat, 15 Aug 2009 19:38:15 +0100 Subject: [PATCH] Fix list updating after disk hot-unplug The current code makes a poor effort at updating the device arrays after hot-unplug. Fix that and combine the two code paths into one. * src/qemu_driver.c: fix list updating in qemudDomainDetachPciDiskDevice() (cherry picked from commit 4e12af5623e4a962a6bb911af06fa29aa85befba) Fedora-patch: libvirt-fix-device-list-update-after-detach.patch --- src/qemu_driver.c | 21 ++++++++++----------- 1 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index dfd19c5..ce04beb 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4123,18 +4123,17 @@ try_command: goto cleanup; } - if (vm->def->ndisks > 1) { - vm->def->disks[i] = vm->def->disks[--vm->def->ndisks]; - if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks) < 0) { - virReportOOMError(conn); - goto cleanup; - } - qsort(vm->def->disks, vm->def->ndisks, sizeof(*vm->def->disks), - virDomainDiskQSort); - } else { - VIR_FREE(vm->def->disks[0]); - vm->def->ndisks = 0; + if (i != --vm->def->ndisks) + memmove(&vm->def->disks[i], + &vm->def->disks[i+1], + sizeof(*vm->def->disks) * (vm->def->ndisks-i)); + if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks) < 0) { + virReportOOMError(conn); + goto cleanup; } + qsort(vm->def->disks, vm->def->ndisks, sizeof(*vm->def->disks), + virDomainDiskQSort); + ret = 0; cleanup: -- 1.6.2.5 libvirt-improve-pci-hostdev-reset-error-message.patch: pci.c | 44 +++++++++++++++++++++++++++++++------------- qemu_driver.c | 5 ++--- 2 files changed, 33 insertions(+), 16 deletions(-) --- NEW FILE libvirt-improve-pci-hostdev-reset-error-message.patch --- >From 9f80bab3829b97ac2802c15b9f3e4a6bbbb24627 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:11 +0100 Subject: [PATCH] Improve PCI host device reset error message https://bugzilla.redhat.com/499678 Currently, if we are unable to reset a PCI device we return a fairly generic 'No PCI reset capability available' error message. Fix that by returning an error from the individual reset messages and using that error to construct the higher level error mesage. * src/pci.c: set errors in pciTryPowerManagementReset() and pciTrySecondaryBusReset() on failure; use those error messages in pciResetDevice(), or explain that no reset support is available (cherry picked from commit ebea34185612c3b96d7d3bbd8b7c2ce6c9f4fe6f) Fedora-patch: libvirt-improve-pci-hostdev-reset-error-message.patch --- src/pci.c | 44 +++++++++++++++++++++++++++++++------------- src/qemu_driver.c | 4 ++-- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/pci.c b/src/pci.c index f78ab9f..1dddb08 100644 --- a/src/pci.c +++ b/src/pci.c @@ -451,15 +451,18 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) * are not in use by the host or other guests. */ if (pciBusContainsOtherDevices(conn, dev)) { - VIR_WARN("Other devices on bus with %s, not doing bus reset", - dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Other devices on bus with %s, not doing bus reset"), + dev->name); return -1; } /* Find the parent bus */ parent = pciGetParentDevice(conn, dev); if (!parent) { - VIR_WARN("Failed to find parent device for %s", dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to find parent device for %s"), + dev->name); return -1; } @@ -470,7 +473,9 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) * are multiple devices/functions */ if (pciRead(dev, 0, config_space, PCI_CONF_LEN) < 0) { - VIR_WARN("Failed to save PCI config space for %s", dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to save PCI config space for %s"), + dev->name); goto out; } @@ -487,9 +492,12 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) usleep(200 * 1000); /* sleep 200ms */ - if (pciWrite(dev, 0, config_space, PCI_CONF_LEN) < 0) - VIR_WARN("Failed to restore PCI config space for %s", dev->name); - + if (pciWrite(dev, 0, config_space, PCI_CONF_LEN) < 0) { + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to restore PCI config space for %s"), + dev->name); + goto out; + } ret = 0; out: pciFreeDevice(conn, parent); @@ -511,7 +519,9 @@ pciTryPowerManagementReset(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) /* Save and restore the device's config space. */ if (pciRead(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) { - VIR_WARN("Failed to save PCI config space for %s", dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to save PCI config space for %s"), + dev->name); return -1; } @@ -528,8 +538,12 @@ pciTryPowerManagementReset(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) usleep(10 * 1000); /* sleep 10ms */ - if (pciWrite(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) - VIR_WARN("Failed to restore PCI config space for %s", dev->name); + if (pciWrite(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) { + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to restore PCI config space for %s"), + dev->name); + return -1; + } return 0; } @@ -577,10 +591,14 @@ pciResetDevice(virConnectPtr conn, pciDevice *dev) if (ret < 0 && dev->bus != 0) ret = pciTrySecondaryBusReset(conn, dev); - if (ret < 0) + if (ret < 0) { + virErrorPtr err = virGetLastError(); pciReportError(conn, VIR_ERR_NO_SUPPORT, - _("No PCI reset capability available for %s"), - dev->name); + _("Unable to reset PCI device %s: %s"), + dev->name, + err ? err->message : _("no FLR, PM reset or bus reset available")); + } + return ret; } diff --git a/src/qemu_driver.c b/src/qemu_driver.c index ddd3693..9f87d2a 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1345,9 +1345,9 @@ qemuDomainReAttachHostDevices(virConnectPtr conn, virDomainDefPtr def) continue; } - if (pciDettachDevice(conn, dev) < 0) { + if (pciReAttachDevice(conn, dev) < 0) { virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to reset PCI device: %s\n"), + VIR_ERROR(_("Failed to re-attach PCI device: %s\n"), err ? err->message : ""); virResetError(err); } -- 1.6.2.5 libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch: qemu_driver.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) --- NEW FILE libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch --- >From 1e44604c0d4c2d4c1347c2a1027f1ea02a6499f9 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:11 +0100 Subject: [PATCH] Reset and re-attach PCI host devices on guest shutdown https://bugzilla.redhat.com/499561 When the guest shuts down, we should attempt to restore all PCI host devices to a sane state. In the case of managed hostdevs, we should reset and re-attach the devices. In the case of unmanaged hostdevs, we should just reset them. Note, KVM will already reset assigned devices when the guest shuts down using whatever means it can, so we are only doing it to cover the cases the kernel can't handle. * src/qemu_driver.c: add qemuDomainReAttachHostDevices() and call it from qemudShutdownVMDaemon() (cherry picked from commit 4035152a8767e72fd4e26a91cb4d5afa75b72e61) Fedora-patch: libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch --- src/qemu_driver.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index ce04beb..ddd3693 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1282,6 +1282,80 @@ error: return -1; } +static void +qemuDomainReAttachHostDevices(virConnectPtr conn, virDomainDefPtr def) +{ + int i; + + /* Again 2 loops; reset all the devices before re-attach */ + + for (i = 0 ; i < def->nhostdevs ; i++) { + virDomainHostdevDefPtr hostdev = def->hostdevs[i]; + pciDevice *dev; + + if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) + continue; + if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) + continue; + + dev = pciGetDevice(conn, + hostdev->source.subsys.u.pci.domain, + hostdev->source.subsys.u.pci.bus, + hostdev->source.subsys.u.pci.slot, + hostdev->source.subsys.u.pci.function); + if (!dev) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), + err ? err->message : ""); + virResetError(err); + continue; + } + + if (pciResetDevice(conn, dev) < 0) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to reset PCI device: %s\n"), + err ? err->message : ""); + virResetError(err); + } + + pciFreeDevice(conn, dev); + } + + for (i = 0 ; i < def->nhostdevs ; i++) { + virDomainHostdevDefPtr hostdev = def->hostdevs[i]; + pciDevice *dev; + + if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) + continue; + if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) + continue; + if (!hostdev->managed) + continue; + + dev = pciGetDevice(conn, + hostdev->source.subsys.u.pci.domain, + hostdev->source.subsys.u.pci.bus, + hostdev->source.subsys.u.pci.slot, + hostdev->source.subsys.u.pci.function); + if (!dev) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), + err ? err->message : ""); + virResetError(err); + continue; + } + + if (pciDettachDevice(conn, dev) < 0) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to reset PCI device: %s\n"), + err ? err->message : ""); + virResetError(err); + } + + pciFreeDevice(conn, dev); + } +} + static int qemudDomainSetSecurityLabel(virConnectPtr conn, struct qemud_driver *driver, virDomainObjPtr vm) { if (vm->def->seclabel.label != NULL) @@ -1560,6 +1634,8 @@ static void qemudShutdownVMDaemon(virConnectPtr conn ATTRIBUTE_UNUSED, VIR_FREE(vm->def->seclabel.imagelabel); } + qemuDomainReAttachHostDevices(conn, vm->def); + if (qemudRemoveDomainStatus(conn, driver, vm) < 0) { VIR_WARN(_("Failed to remove domain status for %s"), vm->def->name); -- 1.6.2.5 libvirt-0.6.2-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.2-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-svirt-sound.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- libvirt-0.6.2-svirt-sound.patch 17 Aug 2009 08:08:57 -0000 1.2 +++ libvirt-0.6.2-svirt-sound.patch 19 Aug 2009 16:15:46 -0000 1.3 @@ -1,4 +1,4 @@ -From 02f85e2c6b3b53f89d8b4b3e5cb70b1700719516 Mon Sep 17 00:00:00 2001 +From e76837af35d692cb947db3a47058bcfbbf77b46a Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 17 Aug 2009 08:52:30 +0100 Subject: [PATCH] Disable sound cards when running sVirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.138 retrieving revision 1.139 diff -u -p -r1.138 -r1.139 --- libvirt.spec 17 Aug 2009 08:08:57 -0000 1.138 +++ libvirt.spec 19 Aug 2009 16:15:46 -0000 1.139 @@ -66,7 +66,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.6.2 -Release: 15%{?dist}%{?extra_release} +Release: 16%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -118,6 +118,18 @@ Patch21: libvirt-0.6.2-qemu-name-uniquen Patch22: libvirt-0.6.2-buf-locale-escape.patch # rhbz #506590 Patch23: libvirt-0.6.2-numa-ignore-fail.patch +# Minor 'virsh nodedev-list --tree' annoyance, fix from upstream +Patch24: libvirt-add-space-to-nodedev-list-tree.patch +# Fixes list corruption after disk hot-unplug +Patch25: libvirt-fix-device-list-update-after-detach.patch +# Re-attach PCI host devices after guest shuts down (bug #499561) +Patch26: libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch +# Allow PM reset on multi-function PCI devices (bug #515689) +Patch27: libvirt-allow-pm-reset-on-multi-function-pci-devices.patch +# Fix stupid PCI reset error message (#499678) +Patch28: libvirt-improve-pci-hostdev-reset-error-message.patch +# Allow PCI bus reset to reset other devices (#499678) +Patch29: libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch # Not for upstream. Temporary hack till PulseAudio autostart # problems are sorted out when SELinux enforcing @@ -293,6 +305,12 @@ of recent versions of Linux (and other O %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 %patch200 -p1 @@ -616,6 +634,14 @@ fi %endif %changelog +* Wed Aug 19 2009 Mark McLoughlin - 0.6.2-16.fc11 +- Allow PCI bus reset to reset other devices (#499678) +- Fix stupid PCI reset error message (bug #499678) +- Allow PM reset on multi-function PCI devices (bug #515689) +- Re-attach PCI host devices after guest shuts down (bug #499561) +- Fixes list corruption after disk hot-unplug +- Fix minor 'virsh nodedev-list --tree' annoyance + * Thu Aug 13 2009 Daniel P. Berrange - 0.6.2-15.fc11 - Log and ignore NUMA topology problems (rhbz #506590) From markmc at fedoraproject.org Wed Aug 19 16:26:28 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 19 Aug 2009 16:26:28 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-add-pci-hostdev-hotplug-support.patch, NONE, 1.1 libvirt-add-space-to-nodedev-list-tree.patch, NONE, 1.1 libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch, NONE, 1.1 libvirt-allow-pm-reset-on-multi-function-pci-devices.patch, NONE, 1.1 libvirt-fix-device-list-update-after-detach.patch, NONE, 1.1 libvirt-improve-pci-hostdev-reset-error-message.patch, NONE, 1.1 libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch, NONE, 1.1 libvirt-0.6.4-svirt-sound.patch, 1.2, 1.3 libvirt.spec, 1.170, 1.171 Message-ID: <20090819162628.572CF11C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29802 Modified Files: libvirt-0.6.4-svirt-sound.patch libvirt.spec Added Files: libvirt-add-pci-hostdev-hotplug-support.patch libvirt-add-space-to-nodedev-list-tree.patch libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch libvirt-allow-pm-reset-on-multi-function-pci-devices.patch libvirt-fix-device-list-update-after-detach.patch libvirt-improve-pci-hostdev-reset-error-message.patch libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch Log Message: * Wed Aug 19 2009 Mark McLoughlin - 0.7.0-5 - Add PCI host device hotplug support - Allow PCI bus reset to reset other devices (#499678) - Fix stupid PCI reset error message (bug #499678) - Allow PM reset on multi-function PCI devices (bug #515689) - Re-attach PCI host devices after guest shuts down (bug #499561) - Fix list corruption after disk hot-unplug - Fix minor 'virsh nodedev-list --tree' annoyance libvirt-add-pci-hostdev-hotplug-support.patch: domain_conf.c | 33 +++++- domain_conf.h | 13 ++ libvirt_private.syms | 2 qemu_driver.c | 267 ++++++++++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 300 insertions(+), 15 deletions(-) --- NEW FILE libvirt-add-pci-hostdev-hotplug-support.patch --- >From 332979bb680d833529ab9cecac6828c6ce54d731 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:10 +0100 Subject: [PATCH] Add host PCI device hotplug support Attaching a host PCI device to a qemu guest is done with a straightforward 'pci_add pci_addr auto host host=XX:XX.X' command. Like with NIC and disk hotplug, we need to retain the guest PCI address assigned by qemu so that we can use it for hot-unplug. Identifying a device for detach is done using the host PCI address. Managed mode is handled by detaching/resetting the device before attaching it to the guest and re-attaching it after detaching it from the guest. (cherry picked from commit 7636ef4630fc15c3d559eceb5b5c4fb1524b7c5a) (cherry picked from commit 0c5b7b93a3cdb197c55d79c2605e9e19e3af43f5) (cherry picked from commit 60ff07585ca8f7e639fed477e2e2cf79ce1c5c21) (cherry picked from commit 4e12af5623e4a962a6bb911af06fa29aa85befba) (cherry picked from commit 4dbecff9fbd5b5d1154bc7a41a5d4dd00533b359) (cherry picked from commit 12edef9a6aca5bd9a2ea18b73ca862f615684d84) (cherry picked from commit 457e05062863a35c7efb35470886b9b83a49d04d) (cherry picked from commit e8ad33931296c67de0538e78d12e21706a826d37) Fedora-patch: libvirt-add-pci-hostdev-hotplug-support.patch --- src/domain_conf.c | 33 +++++- src/domain_conf.h | 13 +++ src/libvirt_private.syms | 2 + src/qemu_driver.c | 266 ++++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 300 insertions(+), 14 deletions(-) diff --git a/src/domain_conf.c b/src/domain_conf.c index 2301a96..bad53f7 100644 --- a/src/domain_conf.c +++ b/src/domain_conf.c @@ -1977,7 +1977,8 @@ out: static int virDomainHostdevSubsysPciDefParseXML(virConnectPtr conn, const xmlNodePtr node, - virDomainHostdevDefPtr def) { + virDomainHostdevDefPtr def, + int flags) { int ret = -1; xmlNodePtr cur; @@ -2049,6 +2050,20 @@ virDomainHostdevSubsysPciDefParseXML(virConnectPtr conn, _("pci address needs function id")); goto out; } + } else if ((flags & VIR_DOMAIN_XML_INTERNAL_STATUS) && + xmlStrEqual(cur->name, BAD_CAST "state")) { + char *devaddr = virXMLPropString(cur, "devaddr"); + if (devaddr && + sscanf(devaddr, "%x:%x:%x", + &def->source.subsys.u.pci.guest_addr.domain, + &def->source.subsys.u.pci.guest_addr.bus, + &def->source.subsys.u.pci.guest_addr.slot) < 3) { + virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, + _("Unable to parse devaddr parameter '%s'"), + devaddr); + VIR_FREE(devaddr); + goto out; + } } else { virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, _("unknown pci source type '%s'"), @@ -2123,7 +2138,7 @@ virDomainHostdevDefParseXML(virConnectPtr conn, } if (def->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && def->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { - if (virDomainHostdevSubsysPciDefParseXML(conn, cur, def) < 0) + if (virDomainHostdevSubsysPciDefParseXML(conn, cur, def, flags) < 0) goto error; } } else { @@ -3937,7 +3952,8 @@ virDomainGraphicsDefFormat(virConnectPtr conn, static int virDomainHostdevDefFormat(virConnectPtr conn, virBufferPtr buf, - virDomainHostdevDefPtr def) + virDomainHostdevDefPtr def, + int flags) { const char *mode = virDomainHostdevModeTypeToString(def->mode); const char *type; @@ -3978,6 +3994,15 @@ virDomainHostdevDefFormat(virConnectPtr conn, def->source.subsys.u.pci.bus, def->source.subsys.u.pci.slot, def->source.subsys.u.pci.function); + if (flags & VIR_DOMAIN_XML_INTERNAL_STATUS) { + virBufferAddLit(buf, " source.subsys.u.pci.guest_addr.domain, + def->source.subsys.u.pci.guest_addr.bus, + def->source.subsys.u.pci.guest_addr.slot); + virBufferAddLit(buf, "/>\n"); + } } virBufferAddLit(buf, " \n"); @@ -4192,7 +4217,7 @@ char *virDomainDefFormat(virConnectPtr conn, goto cleanup; for (n = 0 ; n < def->nhostdevs ; n++) - if (virDomainHostdevDefFormat(conn, &buf, def->hostdevs[n]) < 0) + if (virDomainHostdevDefFormat(conn, &buf, def->hostdevs[n], flags) < 0) goto cleanup; virBufferAddLit(&buf, " \n"); diff --git a/src/domain_conf.h b/src/domain_conf.h index 63fca76..44302be 100644 --- a/src/domain_conf.h +++ b/src/domain_conf.h @@ -391,6 +391,11 @@ struct _virDomainHostdevDef { unsigned bus; unsigned slot; unsigned function; + struct { + unsigned domain; + unsigned bus; + unsigned slot; + } guest_addr; } pci; } u; } subsys; @@ -404,6 +409,14 @@ struct _virDomainHostdevDef { char* target; }; +static inline int +virHostdevHasValidGuestAddr(virDomainHostdevDefPtr def) +{ + return def->source.subsys.u.pci.guest_addr.domain || + def->source.subsys.u.pci.guest_addr.bus || + def->source.subsys.u.pci.guest_addr.slot; +} + /* Flags for the 'type' field in next struct */ enum virDomainDeviceType { VIR_DOMAIN_DEVICE_DISK, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 4f1b01f..22131c4 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -88,6 +88,8 @@ virDomainGetRootFilesystem; virDomainGraphicsTypeFromString; virDomainGraphicsDefFree; virDomainHostdevDefFree; +virDomainHostdevModeTypeToString; +virDomainHostdevSubsysTypeToString; virDomainInputDefFree; virDomainLifecycleTypeFromString; virDomainLifecycleTypeToString; diff --git a/src/qemu_driver.c b/src/qemu_driver.c index cbc27c4..99dac52 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -5258,9 +5258,91 @@ cleanup: return -1; } -static int qemudDomainAttachHostDevice(virConnectPtr conn, - virDomainObjPtr vm, - virDomainDeviceDefPtr dev) +static int qemudDomainAttachHostPciDevice(virConnectPtr conn, + struct qemud_driver *driver, + virDomainObjPtr vm, + virDomainDeviceDefPtr dev) +{ + virDomainHostdevDefPtr hostdev = dev->data.hostdev; + char *cmd, *reply; + unsigned domain, bus, slot; + pciDevice *pci; + + if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs+1) < 0) { + virReportOOMError(conn); + return -1; + } + + pci = pciGetDevice(conn, + hostdev->source.subsys.u.pci.domain, + hostdev->source.subsys.u.pci.bus, + hostdev->source.subsys.u.pci.slot, + hostdev->source.subsys.u.pci.function); + if (!dev) + return -1; + + if ((hostdev->managed && pciDettachDevice(conn, pci) < 0) || + pciResetDevice(conn, pci, driver->activePciHostdevs) < 0) { + pciFreeDevice(conn, pci); + return -1; + } + + if (pciDeviceListAdd(conn, driver->activePciHostdevs, pci) < 0) { + pciFreeDevice(conn, pci); + return -1; + } + + cmd = reply = NULL; + + if (virAsprintf(&cmd, "pci_add pci_addr=auto host host=%.2x:%.2x.%.1x", + hostdev->source.subsys.u.pci.bus, + hostdev->source.subsys.u.pci.slot, + hostdev->source.subsys.u.pci.function) < 0) { + virReportOOMError(conn); + goto error; + } + + if (qemudMonitorCommand(vm, cmd, &reply) < 0) { + qemudReportError(conn, dom, NULL, VIR_ERR_OPERATION_FAILED, + "%s", _("cannot attach host pci device")); + goto error; + } + + if (strstr(reply, "invalid type: host")) { + qemudReportError(conn, dom, NULL, VIR_ERR_NO_SUPPORT, "%s", + _("PCI device assignment is not supported by this version of qemu")); + goto error; + } + + if (qemudParsePciAddReply(vm, reply, &domain, &bus, &slot) < 0) { + qemudReportError(conn, dom, NULL, VIR_ERR_OPERATION_FAILED, + _("parsing pci_add reply failed: %s"), reply); + goto error; + } + + hostdev->source.subsys.u.pci.guest_addr.domain = domain; + hostdev->source.subsys.u.pci.guest_addr.bus = bus; + hostdev->source.subsys.u.pci.guest_addr.slot = slot; + + vm->def->hostdevs[vm->def->nhostdevs++] = hostdev; + + VIR_FREE(reply); + VIR_FREE(cmd); + + return 0; + +error: + pciDeviceListDel(conn, driver->activePciHostdevs, pci); + + VIR_FREE(reply); + VIR_FREE(cmd); + + return -1; +} + +static int qemudDomainAttachHostUsbDevice(virConnectPtr conn, + virDomainObjPtr vm, + virDomainDeviceDefPtr dev) { int ret; char *cmd, *reply; @@ -5310,6 +5392,36 @@ static int qemudDomainAttachHostDevice(virConnectPtr conn, return 0; } +static int qemudDomainAttachHostDevice(virConnectPtr conn, + struct qemud_driver *driver, + virDomainObjPtr vm, + virDomainDeviceDefPtr dev) +{ + virDomainHostdevDefPtr hostdev = dev->data.hostdev; + + if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) { + qemudReportError(conn, dom, NULL, VIR_ERR_NO_SUPPORT, + _("hostdev mode '%s' not supported"), + virDomainHostdevModeTypeToString(hostdev->mode)); + return -1; + } + + if (qemuDomainSetDeviceOwnership(conn, driver, dev, 0) < 0) + return -1; + + switch (hostdev->source.subsys.type) { + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: + return qemudDomainAttachHostPciDevice(conn, driver, vm, dev); + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB: + return qemudDomainAttachHostUsbDevice(conn, vm, dev); + default: + qemudReportError(conn, dom, NULL, VIR_ERR_NO_SUPPORT, + _("hostdev subsys type '%s' not supported"), + virDomainHostdevSubsysTypeToString(hostdev->source.subsys.type)); + return -1; + } +} + static int qemudDomainAttachDevice(virDomainPtr dom, const char *xml) { struct qemud_driver *driver = dom->conn->privateData; @@ -5411,13 +5523,8 @@ static int qemudDomainAttachDevice(virDomainPtr dom, } } else if (dev->type == VIR_DOMAIN_DEVICE_NET) { ret = qemudDomainAttachNetDevice(dom->conn, driver, vm, dev, qemuCmdFlags); - } else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV && - dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && - dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) { - if (qemuDomainSetDeviceOwnership(dom->conn, driver, dev, 0) < 0) - goto cleanup; - - ret = qemudDomainAttachHostDevice(dom->conn, vm, dev); + } else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) { + ret = qemudDomainAttachHostDevice(dom->conn, driver, vm, dev); } else { qemudReportError(dom->conn, dom, NULL, VIR_ERR_NO_SUPPORT, _("device type '%s' cannot be attached"), @@ -5630,6 +5737,143 @@ cleanup: return ret; } +static int qemudDomainDetachHostPciDevice(virConnectPtr conn, + struct qemud_driver *driver, + virDomainObjPtr vm, + virDomainDeviceDefPtr dev) +{ + virDomainHostdevDefPtr detach; + char *cmd, *reply; + int i, ret; + pciDevice *pci; + + for (i = 0 ; i < vm->def->nhostdevs ; i++) { + unsigned domain = vm->def->hostdevs[i]->source.subsys.u.pci.domain; + unsigned bus = vm->def->hostdevs[i]->source.subsys.u.pci.bus; + unsigned slot = vm->def->hostdevs[i]->source.subsys.u.pci.slot; + unsigned function = vm->def->hostdevs[i]->source.subsys.u.pci.function; + + if (dev->data.hostdev->source.subsys.u.pci.domain == domain && + dev->data.hostdev->source.subsys.u.pci.bus == bus && + dev->data.hostdev->source.subsys.u.pci.slot == slot && + dev->data.hostdev->source.subsys.u.pci.function == function) { + detach = vm->def->hostdevs[i]; + break; + } + } + + if (!detach) { + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("host pci device %.4x:%.2x:%.2x.%.1x not found"), + dev->data.hostdev->source.subsys.u.pci.domain, + dev->data.hostdev->source.subsys.u.pci.bus, + dev->data.hostdev->source.subsys.u.pci.slot, + dev->data.hostdev->source.subsys.u.pci.function); + return -1; + } + + if (!virHostdevHasValidGuestAddr(detach)) { + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + "%s", _("hostdev cannot be detached - device state missing")); + return -1; + } + + if (virAsprintf(&cmd, "pci_del pci_addr=%.4x:%.2x:%.2x", + detach->source.subsys.u.pci.guest_addr.domain, + detach->source.subsys.u.pci.guest_addr.bus, + detach->source.subsys.u.pci.guest_addr.slot) < 0) { + virReportOOMError(conn); + return -1; + } + + if (qemudMonitorCommand(vm, cmd, &reply) < 0) { + qemudReportError(conn, dom, NULL, VIR_ERR_OPERATION_FAILED, + "%s", _("cannot detach host pci device")); + VIR_FREE(cmd); + return -1; + } + + DEBUG("%s: pci_del reply: %s", vm->def->name, reply); + + /* If the command fails due to a wrong PCI address qemu prints + * 'invalid pci address'; nothing is printed on success */ + if (strstr(reply, "Invalid pci address")) { + qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, + _("failed to detach host pci device: invalid PCI address %.4x:%.2x:%.2x: %s"), + detach->source.subsys.u.pci.guest_addr.domain, + detach->source.subsys.u.pci.guest_addr.bus, + detach->source.subsys.u.pci.guest_addr.slot, + reply); + VIR_FREE(reply); + VIR_FREE(cmd); + return -1; + } + + VIR_FREE(reply); + VIR_FREE(cmd); + + ret = 0; + + pci = pciGetDevice(conn, + detach->source.subsys.u.pci.domain, + detach->source.subsys.u.pci.bus, + detach->source.subsys.u.pci.slot, + detach->source.subsys.u.pci.function); + if (!pci) + ret = -1; + else { + pciDeviceListDel(conn, driver->activePciHostdevs, pci); + if (pciResetDevice(conn, pci, driver->activePciHostdevs) < 0) + ret = -1; + if (detach->managed && pciReAttachDevice(conn, pci) < 0) + ret = -1; + pciFreeDevice(conn, pci); + } + + if (i != --vm->def->nhostdevs) + memmove(&vm->def->hostdevs[i], + &vm->def->hostdevs[i+1], + sizeof(*vm->def->hostdevs) * (vm->def->nhostdevs-i)); + if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs) < 0) { + virReportOOMError(conn); + ret = -1; + } + + return ret; +} + +static int qemudDomainDetachHostDevice(virConnectPtr conn, + struct qemud_driver *driver, + virDomainObjPtr vm, + virDomainDeviceDefPtr dev) +{ + virDomainHostdevDefPtr hostdev = dev->data.hostdev; + int ret; + + if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) { + qemudReportError(conn, dom, NULL, VIR_ERR_NO_SUPPORT, + _("hostdev mode '%s' not supported"), + virDomainHostdevModeTypeToString(hostdev->mode)); + return -1; + } + + switch (hostdev->source.subsys.type) { + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: + ret = qemudDomainDetachHostPciDevice(conn, driver, vm, dev); + break; + default: + qemudReportError(conn, dom, NULL, VIR_ERR_NO_SUPPORT, + _("hostdev subsys type '%s' not supported"), + virDomainHostdevSubsysTypeToString(hostdev->source.subsys.type)); + return -1; + } + + if (qemuDomainSetDeviceOwnership(conn, driver, dev, 1) < 0) + VIR_WARN0("Fail to restore disk device ownership"); + + return ret; +} + static int qemudDomainDetachDevice(virDomainPtr dom, const char *xml) { struct qemud_driver *driver = dom->conn->privateData; @@ -5670,6 +5914,8 @@ static int qemudDomainDetachDevice(virDomainPtr dom, VIR_WARN0("Fail to restore disk device ownership"); } else if (dev->type == VIR_DOMAIN_DEVICE_NET) { ret = qemudDomainDetachNetDevice(dom->conn, vm, dev); + } else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) { + ret = qemudDomainDetachHostDevice(dom->conn, driver, vm, dev); } else qemudReportError(dom->conn, dom, NULL, VIR_ERR_NO_SUPPORT, "%s", _("only SCSI or virtio disk device can be detached dynamically")); -- 1.6.2.5 libvirt-add-space-to-nodedev-list-tree.patch: virsh.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- NEW FILE libvirt-add-space-to-nodedev-list-tree.patch --- >From 100eb35a80932cd9a162c38ecd2ab8b01894fb61 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 17 Aug 2009 15:05:22 +0100 Subject: [PATCH] Cosmetic change to 'virsh nodedev-list --tree' output Maybe it's just me, but I try to select an item from the tree using double-click and get annoyed when "+-" gets included in the selection. * src/virsh.c: add a space between "+-" and the node device name in 'virsh nodedev-list --tree' (cherry picked from commit 097c818bf00b3777778ffc32fea3a6ed1e741e2b) Fedora-patch: libvirt-add-space-to-nodedev-list-tree.patch --- src/virsh.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/virsh.c b/src/virsh.c index 94c3c4e..2d0cf81 100644 --- a/src/virsh.c +++ b/src/virsh.c @@ -5370,6 +5370,8 @@ cmdNodeListDevicesPrint(vshControl *ctl, if (depth && depth < MAX_DEPTH) { indentBuf[indentIdx] = '+'; indentBuf[indentIdx+1] = '-'; + indentBuf[indentIdx+2] = ' '; + indentBuf[indentIdx+3] = '\0'; } /* Print this device */ @@ -5398,7 +5400,7 @@ cmdNodeListDevicesPrint(vshControl *ctl, /* If there is a child device, then print another blank line */ if (nextlastdev != -1) { vshPrint(ctl, "%s", indentBuf); - vshPrint(ctl, " |\n"); + vshPrint(ctl, " |\n"); } /* Finally print all children */ -- 1.6.2.5 libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch: libvirt_private.syms | 7 + pci.c | 211 ++++++++++++++++++++++++++++++++++++--------- pci.h | 23 ++++ qemu_conf.h | 3 qemu_driver.c | 237 +++++++++++++++++++++++++++++---------------------- xen_unified.c | 3 6 files changed, 339 insertions(+), 145 deletions(-) --- NEW FILE libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch --- >From 89eefbd116ae74c3a5cfcfc74a31a40b83c726c3 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 17 Aug 2009 15:05:23 +0100 Subject: [PATCH] Maintain a list of active PCI hostdevs and use it in pciResetDevice() https://bugzilla.redhat.com/499678 First we add a pciDeviceList type and add a qemuGetPciHostDeviceList() function to build a list from a domain definition. Use this in prepare/re-attach to simplify things and eliminate the multiple pciGetDevice() calls. Then, as we start/shutdown guests we can add or delete devices as appropriate from a list of active devices. Finally, in pciReset(), we can use this to determine whether its safe to reset a device as a side effect of resetting another device. (cherry picked from commit 78675b228b76a83f83d64856bfb63b9e14c103a0) (cherry picked from commit e8ad33931296c67de0538e78d12e21706a826d37) Fedora-patch: libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch --- src/libvirt_private.syms | 7 +- src/pci.c | 211 +++++++++++++++++++++++++++++++++-------- src/pci.h | 23 +++++- src/qemu_conf.h | 3 + src/qemu_driver.c | 237 +++++++++++++++++++++++++++------------------- src/xen_unified.c | 2 +- 6 files changed, 339 insertions(+), 144 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index bd63692..4f1b01f 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -278,7 +278,12 @@ pciFreeDevice; pciDettachDevice; pciReAttachDevice; pciResetDevice; - +pciDeviceSetManaged; +pciDeviceGetManaged; +pciDeviceListNew; +pciDeviceListFree; +pciDeviceListAdd; +pciDeviceListDel; # qparams.h qparam_get_query; diff --git a/src/pci.c b/src/pci.c index 74f7ef0..96e5d6d 100644 --- a/src/pci.c +++ b/src/pci.c @@ -63,6 +63,7 @@ struct _pciDevice { unsigned pci_pm_cap_pos; unsigned has_flr : 1; unsigned has_pm_reset : 1; + unsigned managed : 1; }; /* For virReportOOMError() and virReportSystemError() */ @@ -225,7 +226,7 @@ pciWrite32(pciDevice *dev, unsigned pos, uint32_t val) pciWrite(dev, pos, &buf[0], sizeof(buf)); } -typedef int (*pciIterPredicate)(pciDevice *, pciDevice *); +typedef int (*pciIterPredicate)(pciDevice *, pciDevice *, void *); /* Iterate over available PCI devices calling @predicate * to compare each one to @dev. @@ -236,7 +237,8 @@ static int pciIterDevices(virConnectPtr conn, pciIterPredicate predicate, pciDevice *dev, - pciDevice **matched) + pciDevice **matched, + void *data) { DIR *dir; struct dirent *entry; @@ -254,7 +256,7 @@ pciIterDevices(virConnectPtr conn, while ((entry = readdir(dir))) { unsigned domain, bus, slot, function; - pciDevice *try; + pciDevice *check; /* Ignore '.' and '..' */ if (entry->d_name[0] == '.') @@ -266,18 +268,18 @@ pciIterDevices(virConnectPtr conn, continue; } - try = pciGetDevice(conn, domain, bus, slot, function); - if (!try) { + check = pciGetDevice(conn, domain, bus, slot, function); + if (!check) { ret = -1; break; } - if (predicate(try, dev)) { - VIR_DEBUG("%s %s: iter matched on %s", dev->id, dev->name, try->name); - *matched = try; + if (predicate(dev, check, data)) { + VIR_DEBUG("%s %s: iter matched on %s", dev->id, dev->name, check->name); + *matched = check; break; } - pciFreeDevice(conn, try); + pciFreeDevice(conn, check); } closedir(dir); return ret; @@ -379,63 +381,70 @@ pciDetectPowerManagementReset(pciDevice *dev) return 0; } -/* Any devices other than the one supplied on the same domain/bus ? */ +/* Any active devices other than the one supplied on the same domain/bus ? */ static int -pciSharesBus(pciDevice *a, pciDevice *b) +pciSharesBusWithActive(pciDevice *dev, pciDevice *check, void *data) { - return - a->domain == b->domain && - a->bus == b->bus && - (a->slot != b->slot || - a->function != b->function); -} + pciDeviceList *activeDevs = data; -static int -pciBusContainsOtherDevices(virConnectPtr conn, pciDevice *dev) -{ - pciDevice *matched = NULL; - if (pciIterDevices(conn, pciSharesBus, dev, &matched) < 0) - return 1; - if (!matched) + if (dev->domain != check->domain || + dev->bus != check->bus || + (check->slot == check->slot && + check->function == check->function)) + return 0; + + if (activeDevs && !pciDeviceListFind(activeDevs, check)) return 0; - pciFreeDevice(conn, matched); + return 1; } -/* Is @a the parent of @b ? */ +static pciDevice * +pciBusContainsActiveDevices(virConnectPtr conn, + pciDevice *dev, + pciDeviceList *activeDevs) +{ + pciDevice *active = NULL; + if (pciIterDevices(conn, pciSharesBusWithActive, + dev, &active, activeDevs) < 0) + return NULL; + return active; +} + +/* Is @check the parent of @dev ? */ static int -pciIsParent(pciDevice *a, pciDevice *b) +pciIsParent(pciDevice *dev, pciDevice *check, void *data ATTRIBUTE_UNUSED) { uint16_t device_class; uint8_t header_type, secondary, subordinate; - if (a->domain != b->domain) + if (dev->domain != check->domain) return 0; /* Is it a bridge? */ - device_class = pciRead16(a, PCI_CLASS_DEVICE); + device_class = pciRead16(check, PCI_CLASS_DEVICE); if (device_class != PCI_CLASS_BRIDGE_PCI) return 0; /* Is it a plane? */ - header_type = pciRead8(a, PCI_HEADER_TYPE); + header_type = pciRead8(check, PCI_HEADER_TYPE); if ((header_type & PCI_HEADER_TYPE_MASK) != PCI_HEADER_TYPE_BRIDGE) return 0; - secondary = pciRead8(a, PCI_SECONDARY_BUS); - subordinate = pciRead8(a, PCI_SUBORDINATE_BUS); + secondary = pciRead8(check, PCI_SECONDARY_BUS); + subordinate = pciRead8(check, PCI_SUBORDINATE_BUS); - VIR_DEBUG("%s %s: found parent device %s\n", b->id, b->name, a->name); + VIR_DEBUG("%s %s: found parent device %s\n", dev->id, dev->name, check->name); /* No, it's superman! */ - return (b->bus >= secondary && b->bus <= subordinate); + return (dev->bus >= secondary && dev->bus <= subordinate); } static pciDevice * pciGetParentDevice(virConnectPtr conn, pciDevice *dev) { pciDevice *parent = NULL; - pciIterDevices(conn, pciIsParent, dev, &parent); + pciIterDevices(conn, pciIsParent, dev, &parent, NULL); return parent; } @@ -443,9 +452,11 @@ pciGetParentDevice(virConnectPtr conn, pciDevice *dev) * devices behind a bus. */ static int -pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) +pciTrySecondaryBusReset(virConnectPtr conn, + pciDevice *dev, + pciDeviceList *activeDevs) { - pciDevice *parent; + pciDevice *parent, *conflict; uint8_t config_space[PCI_CONF_LEN]; uint16_t ctl; int ret = -1; @@ -455,10 +466,10 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) * In future, we could allow it so long as those devices * are not in use by the host or other guests. */ - if (pciBusContainsOtherDevices(conn, dev)) { + if ((conflict = pciBusContainsActiveDevices(conn, dev, activeDevs))) { pciReportError(conn, VIR_ERR_NO_SUPPORT, - _("Other devices on bus with %s, not doing bus reset"), - dev->name); + _("Active %s devices on bus with %s, not doing bus reset"), + conflict->name, dev->name); return -1; } @@ -572,10 +583,18 @@ pciInitDevice(virConnectPtr conn, pciDevice *dev) } int -pciResetDevice(virConnectPtr conn, pciDevice *dev) +pciResetDevice(virConnectPtr conn, + pciDevice *dev, + pciDeviceList *activeDevs) { int ret = -1; + if (activeDevs && pciDeviceListFind(activeDevs, dev)) { + pciReportError(conn, VIR_ERR_INTERNAL_ERROR, + _("Not resetting active device %s"), dev->name); + return -1; + } + if (!dev->initted && pciInitDevice(conn, dev) < 0) return -1; @@ -594,7 +613,7 @@ pciResetDevice(virConnectPtr conn, pciDevice *dev) /* Bus reset is not an option with the root bus */ if (ret < 0 && dev->bus != 0) - ret = pciTrySecondaryBusReset(conn, dev); + ret = pciTrySecondaryBusReset(conn, dev, activeDevs); if (ret < 0) { virErrorPtr err = virGetLastError(); @@ -890,8 +909,116 @@ pciGetDevice(virConnectPtr conn, void pciFreeDevice(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) { + if (!dev) + return; VIR_DEBUG("%s %s: freeing", dev->id, dev->name); if (dev->fd >= 0) close(dev->fd); VIR_FREE(dev); } + +void pciDeviceSetManaged(pciDevice *dev, unsigned managed) +{ + dev->managed = !!managed; +} + +unsigned pciDeviceGetManaged(pciDevice *dev) +{ + return dev->managed; +} + +pciDeviceList * +pciDeviceListNew(virConnectPtr conn) +{ + pciDeviceList *list; + + if (VIR_ALLOC(list) < 0) { + virReportOOMError(conn); + return NULL; + } + + return list; +} + +void +pciDeviceListFree(virConnectPtr conn, + pciDeviceList *list) +{ + int i; + + if (!list) + return; + + for (i = 0; i < list->count; i++) { + pciFreeDevice(conn, list->devs[i]); + list->devs[i] = NULL; + } + + list->count = 0; + VIR_FREE(list->devs); + VIR_FREE(list); +} + +int +pciDeviceListAdd(virConnectPtr conn, + pciDeviceList *list, + pciDevice *dev) +{ + if (pciDeviceListFind(list, dev)) { + pciReportError(conn, VIR_ERR_INTERNAL_ERROR, + _("Device %s is already in use"), dev->name); + return -1; + } + + if (VIR_REALLOC_N(list->devs, list->count+1) < 0) { + virReportOOMError(conn); + return -1; + } + + list->devs[list->count++] = dev; + + return 0; +} + +void +pciDeviceListDel(virConnectPtr conn ATTRIBUTE_UNUSED, + pciDeviceList *list, + pciDevice *dev) +{ + int i; + + for (i = 0; i < list->count; i++) { + if (list->devs[i]->domain != dev->domain || + list->devs[i]->bus != dev->bus || + list->devs[i]->slot != dev->slot || + list->devs[i]->function != dev->function) + continue; + + pciFreeDevice(conn, list->devs[i]); + + if (i != --list->count) + memmove(&list->devs[i], + &list->devs[i+1], + sizeof(*list->devs) * (list->count-i)); + + if (VIR_REALLOC_N(list->devs, list->count) < 0) { + ; /* not fatal */ + } + + break; + } +} + +pciDevice * +pciDeviceListFind(pciDeviceList *list, pciDevice *dev) +{ + int i; + + for (i = 0; i < list->count; i++) + if (list->devs[i]->domain == dev->domain && + list->devs[i]->bus == dev->bus && + list->devs[i]->slot == dev->slot && + list->devs[i]->function == dev->function) + return list->devs[i]; + return NULL; +} diff --git a/src/pci.h b/src/pci.h index 47882ef..685b0af 100644 --- a/src/pci.h +++ b/src/pci.h @@ -27,6 +27,11 @@ typedef struct _pciDevice pciDevice; +typedef struct { + unsigned count; + pciDevice **devs; +} pciDeviceList; + pciDevice *pciGetDevice (virConnectPtr conn, unsigned domain, unsigned bus, @@ -39,6 +44,22 @@ int pciDettachDevice (virConnectPtr conn, int pciReAttachDevice (virConnectPtr conn, pciDevice *dev); int pciResetDevice (virConnectPtr conn, - pciDevice *dev); + pciDevice *dev, + pciDeviceList *activeDevs); +void pciDeviceSetManaged(pciDevice *dev, + unsigned managed); +unsigned pciDeviceGetManaged(pciDevice *dev); + +pciDeviceList *pciDeviceListNew (virConnectPtr conn); +void pciDeviceListFree (virConnectPtr conn, + pciDeviceList *list); +int pciDeviceListAdd (virConnectPtr conn, + pciDeviceList *list, + pciDevice *dev); +void pciDeviceListDel (virConnectPtr conn, + pciDeviceList *list, + pciDevice *dev); +pciDevice * pciDeviceListFind (pciDeviceList *list, + pciDevice *dev); #endif /* __VIR_PCI_H__ */ diff --git a/src/qemu_conf.h b/src/qemu_conf.h index 517626a..ab9d5e1 100644 --- a/src/qemu_conf.h +++ b/src/qemu_conf.h @@ -35,6 +35,7 @@ #include "threads.h" #include "security.h" #include "cgroup.h" +#include "pci.h" #define qemudDebug(fmt, ...) do {} while(0) @@ -107,6 +108,8 @@ struct qemud_driver { char *securityDriverName; virSecurityDriverPtr securityDriver; + + pciDeviceList *activePciHostdevs; }; diff --git a/src/qemu_driver.c b/src/qemu_driver.c index fd39fc2..cbc27c4 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -128,6 +128,9 @@ static int qemudDomainSetMemoryBalloon(virConnectPtr conn, static int qemudDetectVcpuPIDs(virConnectPtr conn, virDomainObjPtr vm); +static int qemuUpdateActivePciHostdevs(struct qemud_driver *driver, + virDomainDefPtr def); + static struct qemud_driver *qemu_driver = NULL; static int qemuCgroupControllerActive(struct qemud_driver *driver, @@ -320,6 +323,10 @@ qemuReconnectDomain(struct qemud_driver *driver, goto error; } + if (qemuUpdateActivePciHostdevs(driver, obj->def) < 0) { + goto error; + } + if (obj->def->seclabel.type == VIR_DOMAIN_SECLABEL_DYNAMIC && driver->securityDriver && driver->securityDriver->domainReserveSecurityLabel && @@ -524,6 +531,9 @@ qemudStartup(int privileged) { if ((qemu_driver->caps = qemudCapsInit(NULL)) == NULL) goto out_of_memory; + if ((qemu_driver->activePciHostdevs = pciDeviceListNew(NULL)) == NULL) + goto error; + if (qemudLoadDriverConfig(qemu_driver, driverConf) < 0) { goto error; } @@ -648,6 +658,7 @@ qemudShutdown(void) { return -1; qemuDriverLock(qemu_driver); + pciDeviceListFree(NULL, qemu_driver->activePciHostdevs); virCapabilitiesFree(qemu_driver->caps); virDomainObjListFree(&qemu_driver->domains); @@ -1329,48 +1340,16 @@ static int qemudNextFreeVNCPort(struct qemud_driver *driver ATTRIBUTE_UNUSED) { return -1; } -static int qemuPrepareHostDevices(virConnectPtr conn, - virDomainDefPtr def) { +static pciDeviceList * +qemuGetPciHostDeviceList(virConnectPtr conn, + virDomainDefPtr def) +{ + pciDeviceList *list; int i; - /* We have to use 2 loops here. *All* devices must - * be detached before we reset any of them, because - * in some cases you have to reset the whole PCI, - * which impacts all devices on it - */ - - for (i = 0 ; i < def->nhostdevs ; i++) { - virDomainHostdevDefPtr hostdev = def->hostdevs[i]; - - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) - continue; - - if (hostdev->managed) { - pciDevice *dev = pciGetDevice(conn, - hostdev->source.subsys.u.pci.domain, - hostdev->source.subsys.u.pci.bus, - hostdev->source.subsys.u.pci.slot, - hostdev->source.subsys.u.pci.function); - if (!dev) - goto error; - - if (pciDettachDevice(conn, dev) < 0) { - pciFreeDevice(conn, dev); - goto error; - } - - pciFreeDevice(conn, dev); - } /* else { - XXX validate that non-managed device isn't in use, eg - by checking that device is either un-bound, or bound - to pci-stub.ko - } */ - } + if (!(list = pciDeviceListNew(conn))) + return NULL; - /* Now that all the PCI hostdevs have be dettached, we can safely - * reset them */ for (i = 0 ; i < def->nhostdevs ; i++) { virDomainHostdevDefPtr hostdev = def->hostdevs[i]; pciDevice *dev; @@ -1385,95 +1364,151 @@ static int qemuPrepareHostDevices(virConnectPtr conn, hostdev->source.subsys.u.pci.bus, hostdev->source.subsys.u.pci.slot, hostdev->source.subsys.u.pci.function); - if (!dev) - goto error; + if (!dev) { + pciDeviceListFree(conn, list); + return NULL; + } - if (pciResetDevice(conn, dev) < 0) { + if (pciDeviceListAdd(conn, list, dev) < 0) { pciFreeDevice(conn, dev); - goto error; + pciDeviceListFree(conn, list); + return NULL; } - pciFreeDevice(conn, dev); + pciDeviceSetManaged(dev, hostdev->managed); } - return 0; + return list; +} -error: - return -1; +static int +qemuUpdateActivePciHostdevs(struct qemud_driver *driver, + virDomainDefPtr def) +{ + pciDeviceList *pcidevs; + int i, ret; + + if (!def->nhostdevs) + return 0; + + if (!(pcidevs = qemuGetPciHostDeviceList(NULL, def))) + return -1; + + ret = 0; + + for (i = 0; i < pcidevs->count; i++) { + if (pciDeviceListAdd(NULL, + driver->activePciHostdevs, + pcidevs->devs[i]) < 0) { + ret = -1; + break; + } + pcidevs->devs[i] = NULL; + } + + pciDeviceListFree(NULL, pcidevs); + return ret; } -static void -qemuDomainReAttachHostDevices(virConnectPtr conn, virDomainDefPtr def) +static int +qemuPrepareHostDevices(virConnectPtr conn, + struct qemud_driver *driver, + virDomainDefPtr def) { + pciDeviceList *pcidevs; int i; - /* Again 2 loops; reset all the devices before re-attach */ + if (!def->nhostdevs) + return 0; - for (i = 0 ; i < def->nhostdevs ; i++) { - virDomainHostdevDefPtr hostdev = def->hostdevs[i]; - pciDevice *dev; + if (!(pcidevs = qemuGetPciHostDeviceList(conn, def))) + return -1; - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) - continue; + /* We have to use 3 loops here. *All* devices must + * be detached before we reset any of them, because + * in some cases you have to reset the whole PCI, + * which impacts all devices on it. Also, all devices + * must be reset before being marked as active. + */ - dev = pciGetDevice(conn, - hostdev->source.subsys.u.pci.domain, - hostdev->source.subsys.u.pci.bus, - hostdev->source.subsys.u.pci.slot, - hostdev->source.subsys.u.pci.function); - if (!dev) { - virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), - err ? err->message : ""); - virResetError(err); - continue; - } + /* XXX validate that non-managed device isn't in use, eg + * by checking that device is either un-bound, or bound + * to pci-stub.ko + */ - if (pciResetDevice(conn, dev) < 0) { - virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to reset PCI device: %s\n"), - err ? err->message : ""); - virResetError(err); - } + for (i = 0; i < pcidevs->count; i++) + if (pciDeviceGetManaged(pcidevs->devs[i]) && + pciDettachDevice(conn, pcidevs->devs[i]) < 0) + goto error; + + /* Now that all the PCI hostdevs have be dettached, we can safely + * reset them */ + for (i = 0; i < pcidevs->count; i++) + if (pciResetDevice(conn, pcidevs->devs[i], + driver->activePciHostdevs) < 0) + goto error; - pciFreeDevice(conn, dev); + /* Now mark all the devices as active */ + for (i = 0; i < pcidevs->count; i++) { + if (pciDeviceListAdd(conn, + driver->activePciHostdevs, + pcidevs->devs[i]) < 0) + goto error; + pcidevs->devs[i] = NULL; } - for (i = 0 ; i < def->nhostdevs ; i++) { - virDomainHostdevDefPtr hostdev = def->hostdevs[i]; - pciDevice *dev; + pciDeviceListFree(conn, pcidevs); + return 0; - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) - continue; - if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) - continue; - if (!hostdev->managed) - continue; +error: + pciDeviceListFree(conn, pcidevs); + return -1; +} - dev = pciGetDevice(conn, - hostdev->source.subsys.u.pci.domain, - hostdev->source.subsys.u.pci.bus, - hostdev->source.subsys.u.pci.slot, - hostdev->source.subsys.u.pci.function); - if (!dev) { +static void +qemuDomainReAttachHostDevices(virConnectPtr conn, + struct qemud_driver *driver, + virDomainDefPtr def) +{ + pciDeviceList *pcidevs; + int i; + + if (!def->nhostdevs) + return; + + if (!(pcidevs = qemuGetPciHostDeviceList(conn, def))) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to allocate pciDeviceList: %s\n"), + err ? err->message : ""); + virResetError(err); + return; + } + + /* Again 3 loops; mark all devices as inactive before reset + * them and reset all the devices before re-attach */ + + for (i = 0; i < pcidevs->count; i++) + pciDeviceListDel(conn, driver->activePciHostdevs, pcidevs->devs[i]); + + for (i = 0; i < pcidevs->count; i++) + if (pciResetDevice(conn, pcidevs->devs[i], + driver->activePciHostdevs) < 0) { virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), + VIR_ERROR(_("Failed to reset PCI device: %s\n"), err ? err->message : ""); virResetError(err); - continue; } - if (pciReAttachDevice(conn, dev) < 0) { + for (i = 0; i < pcidevs->count; i++) + if (pciDeviceGetManaged(pcidevs->devs[i]) && + pciReAttachDevice(conn, pcidevs->devs[i]) < 0) { virErrorPtr err = virGetLastError(); VIR_ERROR(_("Failed to re-attach PCI device: %s\n"), err ? err->message : ""); virResetError(err); } - pciFreeDevice(conn, dev); - } + pciDeviceListFree(conn, pcidevs); } static const char *const defaultDeviceACL[] = { @@ -2001,7 +2036,7 @@ static int qemudStartVMDaemon(virConnectPtr conn, if (qemuSetupCgroup(conn, driver, vm) < 0) goto cleanup; - if (qemuPrepareHostDevices(conn, vm->def) < 0) + if (qemuPrepareHostDevices(conn, driver, vm->def) < 0) goto cleanup; if (VIR_ALLOC(vm->monitor_chr) < 0) { @@ -2183,7 +2218,7 @@ static void qemudShutdownVMDaemon(virConnectPtr conn, VIR_WARN("Failed to restore all device ownership for %s", vm->def->name); - qemuDomainReAttachHostDevices(conn, vm->def); + qemuDomainReAttachHostDevices(conn, driver, vm->def); retry: if ((ret = qemuRemoveCgroup(conn, driver, vm)) < 0) { @@ -6791,6 +6826,7 @@ out: static int qemudNodeDeviceReset (virNodeDevicePtr dev) { + struct qemud_driver *driver = dev->conn->privateData; pciDevice *pci; unsigned domain, bus, slot, function; int ret = -1; @@ -6802,11 +6838,14 @@ qemudNodeDeviceReset (virNodeDevicePtr dev) if (!pci) return -1; - if (pciResetDevice(dev->conn, pci) < 0) + qemuDriverLock(driver); + + if (pciResetDevice(dev->conn, pci, driver->activePciHostdevs) < 0) goto out; ret = 0; out: + qemuDriverUnlock(driver); pciFreeDevice(dev->conn, pci); return ret; } diff --git a/src/xen_unified.c b/src/xen_unified.c index f2ffc25..dfa9ca5 100644 --- a/src/xen_unified.c +++ b/src/xen_unified.c @@ -1641,7 +1641,7 @@ xenUnifiedNodeDeviceReset (virNodeDevicePtr dev) if (!pci) return -1; - if (pciResetDevice(dev->conn, pci) < 0) + if (pciResetDevice(dev->conn, pci, NULL) < 0) goto out; ret = 0; -- 1.6.2.5 libvirt-allow-pm-reset-on-multi-function-pci-devices.patch: pci.c | 49 +++++++++---------------------------------------- 1 file changed, 9 insertions(+), 40 deletions(-) --- NEW FILE libvirt-allow-pm-reset-on-multi-function-pci-devices.patch --- >From 5aad00b08cadc4d9da8bffd3d255ffaac98d36dd Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:11 +0100 Subject: [PATCH] Allow PM reset on multi-function PCI devices https://bugzilla.redhat.com/515689 It turns out that a PCI Power Management reset only affects individual functions, and not the whole device. The PCI Power Management spec talks about resetting the 'device' rather than the 'function', but Intel's Dexuan Cui informs me that it is actually a per-function reset. Also, Yu Zhao has added pci_pm_reset() to the kernel, and it doesn't reject multi-function devices, so it must be true! :-) (A side issue is that we could defer the PM reset to the kernel if we could detect that the kernel has PM reset support, but barring version number checks we don't have a way to detect that support) * src/pci.c: remove the pciDeviceContainsOtherFunctions() check from pciTryPowerManagementReset() and prefer PM reset over bus reset where both are available Cc: Cui, Dexuan Cc: Yu Zhao (cherry picked from commit 64a6682b93a2a8aa38067a43979c9eaf993d2b41) Fedora-patch: libvirt-allow-pm-reset-on-multi-function-pci-devices.patch --- src/pci.c | 48 +++++++++--------------------------------------- 1 files changed, 9 insertions(+), 39 deletions(-) diff --git a/src/pci.c b/src/pci.c index 2dc2e1c..11b3e8b 100644 --- a/src/pci.c +++ b/src/pci.c @@ -402,29 +402,6 @@ pciBusContainsOtherDevices(virConnectPtr conn, pciDevice *dev) return 1; } -/* Any other functions on this device ? */ -static int -pciSharesDevice(pciDevice *a, pciDevice *b) -{ - return - a->domain == b->domain && - a->bus == b->bus && - a->slot == b->slot && - a->function != b->function; -} - -static int -pciDeviceContainsOtherFunctions(virConnectPtr conn, pciDevice *dev) -{ - pciDevice *matched = NULL; - if (pciIterDevices(conn, pciSharesDevice, dev, &matched) < 0) - return 1; - if (!matched) - return 0; - pciFreeDevice(conn, matched); - return 1; -} - /* Is @a the parent of @b ? */ static int pciIsParent(pciDevice *a, pciDevice *b) @@ -529,7 +506,7 @@ out: * above we require the device supports a full internal reset. */ static int -pciTryPowerManagementReset(virConnectPtr conn, pciDevice *dev) +pciTryPowerManagementReset(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) { uint8_t config_space[PCI_CONF_LEN]; uint32_t ctl; @@ -537,16 +514,6 @@ pciTryPowerManagementReset(virConnectPtr conn, pciDevice *dev) if (!dev->pci_pm_cap_pos) return -1; - /* For now, we just refuse to do a power management reset - * if there are other functions on this device. - * In future, we could allow it so long as those functions - * are not in use by the host or other guests. - */ - if (pciDeviceContainsOtherFunctions(conn, dev)) { - VIR_WARN("%s contains other functions, not resetting", dev->name); - return -1; - } - /* Save and restore the device's config space. */ if (pciRead(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) { VIR_WARN("Failed to save PCI config space for %s", dev->name); @@ -604,14 +571,17 @@ pciResetDevice(virConnectPtr conn, pciDevice *dev) if (dev->has_flr) return 0; + /* If the device supports PCI power management reset, + * that's the next best thing because it only resets + * the function, not the whole device. + */ + if (dev->has_pm_reset) + ret = pciTryPowerManagementReset(conn, dev); + /* Bus reset is not an option with the root bus */ - if (dev->bus != 0) + if (ret < 0 && dev->bus != 0) ret = pciTrySecondaryBusReset(conn, dev); - /* Next best option is a PCI power management reset */ - if (ret < 0 && dev->has_pm_reset) - ret = pciTryPowerManagementReset(conn, dev); - if (ret < 0) pciReportError(conn, VIR_ERR_NO_SUPPORT, _("No PCI reset capability available for %s"), -- 1.6.2.5 libvirt-fix-device-list-update-after-detach.patch: qemu_driver.c | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) --- NEW FILE libvirt-fix-device-list-update-after-detach.patch --- >From 165fb333c9d954fec636dc0f1917ba50417478c0 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Sat, 15 Aug 2009 19:38:15 +0100 Subject: [PATCH] Fix list updating after disk/network hot-unplug The current code makes a poor effort at updating the device arrays after hot-unplug. Fix that and combine the two code paths into one. * src/qemu_driver.c: fix list updating in qemudDomainDetachNetDevice() and qemudDomainDetachPciDiskDevice() (cherry picked from commit 4e12af5623e4a962a6bb911af06fa29aa85befba) Fedora-patch: libvirt-fix-device-list-update-after-detach.patch --- src/qemu_driver.c | 38 ++++++++++++++++++-------------------- 1 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index bd58435..2c4fd6f 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -5404,18 +5404,17 @@ try_command: goto cleanup; } - if (vm->def->ndisks > 1) { - vm->def->disks[i] = vm->def->disks[--vm->def->ndisks]; - if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks) < 0) { - virReportOOMError(conn); - goto cleanup; - } - qsort(vm->def->disks, vm->def->ndisks, sizeof(*vm->def->disks), - virDomainDiskQSort); - } else { - VIR_FREE(vm->def->disks[0]); - vm->def->ndisks = 0; + if (i != --vm->def->ndisks) + memmove(&vm->def->disks[i], + &vm->def->disks[i+1], + sizeof(*vm->def->disks) * (vm->def->ndisks-i)); + if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks) < 0) { + virReportOOMError(conn); + goto cleanup; } + qsort(vm->def->disks, vm->def->ndisks, sizeof(*vm->def->disks), + virDomainDiskQSort); + ret = 0; cleanup: @@ -5503,16 +5502,15 @@ qemudDomainDetachNetDevice(virConnectPtr conn, DEBUG("%s: host_net_remove reply: %s", vm->def->name, reply); - if (vm->def->nnets > 1) { - vm->def->nets[i] = vm->def->nets[--vm->def->nnets]; - if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets) < 0) { - virReportOOMError(conn); - goto cleanup; - } - } else { - VIR_FREE(vm->def->nets[0]); - vm->def->nnets = 0; + if (i != --vm->def->nnets) + memmove(&vm->def->nets[i], + &vm->def->nets[i+1], + sizeof(*vm->def->nets) * (vm->def->nnets-i)); + if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets) < 0) { + virReportOOMError(conn); + goto cleanup; } + ret = 0; cleanup: -- 1.6.2.5 libvirt-improve-pci-hostdev-reset-error-message.patch: pci.c | 44 +++++++++++++++++++++++++++++++------------- qemu_driver.c | 5 ++--- 2 files changed, 33 insertions(+), 16 deletions(-) --- NEW FILE libvirt-improve-pci-hostdev-reset-error-message.patch --- >From c8a9dbe131713de83bdc67c563c4ab149e32c489 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:11 +0100 Subject: [PATCH] Improve PCI host device reset error message https://bugzilla.redhat.com/499678 Currently, if we are unable to reset a PCI device we return a fairly generic 'No PCI reset capability available' error message. Fix that by returning an error from the individual reset messages and using that error to construct the higher level error mesage. * src/pci.c: set errors in pciTryPowerManagementReset() and pciTrySecondaryBusReset() on failure; use those error messages in pciResetDevice(), or explain that no reset support is available (cherry picked from commit ebea34185612c3b96d7d3bbd8b7c2ce6c9f4fe6f) Fedora-patch: libvirt-improve-pci-hostdev-reset-error-message.patch --- src/pci.c | 44 +++++++++++++++++++++++++++++++------------- src/qemu_driver.c | 4 ++-- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/pci.c b/src/pci.c index 11b3e8b..74f7ef0 100644 --- a/src/pci.c +++ b/src/pci.c @@ -456,15 +456,18 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) * are not in use by the host or other guests. */ if (pciBusContainsOtherDevices(conn, dev)) { - VIR_WARN("Other devices on bus with %s, not doing bus reset", - dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Other devices on bus with %s, not doing bus reset"), + dev->name); return -1; } /* Find the parent bus */ parent = pciGetParentDevice(conn, dev); if (!parent) { - VIR_WARN("Failed to find parent device for %s", dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to find parent device for %s"), + dev->name); return -1; } @@ -475,7 +478,9 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) * are multiple devices/functions */ if (pciRead(dev, 0, config_space, PCI_CONF_LEN) < 0) { - VIR_WARN("Failed to save PCI config space for %s", dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to save PCI config space for %s"), + dev->name); goto out; } @@ -492,9 +497,12 @@ pciTrySecondaryBusReset(virConnectPtr conn, pciDevice *dev) usleep(200 * 1000); /* sleep 200ms */ - if (pciWrite(dev, 0, config_space, PCI_CONF_LEN) < 0) - VIR_WARN("Failed to restore PCI config space for %s", dev->name); - + if (pciWrite(dev, 0, config_space, PCI_CONF_LEN) < 0) { + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to restore PCI config space for %s"), + dev->name); + goto out; + } ret = 0; out: pciFreeDevice(conn, parent); @@ -516,7 +524,9 @@ pciTryPowerManagementReset(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) /* Save and restore the device's config space. */ if (pciRead(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) { - VIR_WARN("Failed to save PCI config space for %s", dev->name); + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to save PCI config space for %s"), + dev->name); return -1; } @@ -533,8 +543,12 @@ pciTryPowerManagementReset(virConnectPtr conn ATTRIBUTE_UNUSED, pciDevice *dev) usleep(10 * 1000); /* sleep 10ms */ - if (pciWrite(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) - VIR_WARN("Failed to restore PCI config space for %s", dev->name); + if (pciWrite(dev, 0, &config_space[0], PCI_CONF_LEN) < 0) { + pciReportError(conn, VIR_ERR_NO_SUPPORT, + _("Failed to restore PCI config space for %s"), + dev->name); + return -1; + } return 0; } @@ -582,10 +596,14 @@ pciResetDevice(virConnectPtr conn, pciDevice *dev) if (ret < 0 && dev->bus != 0) ret = pciTrySecondaryBusReset(conn, dev); - if (ret < 0) + if (ret < 0) { + virErrorPtr err = virGetLastError(); pciReportError(conn, VIR_ERR_NO_SUPPORT, - _("No PCI reset capability available for %s"), - dev->name); + _("Unable to reset PCI device %s: %s"), + dev->name, + err ? err->message : _("no FLR, PM reset or bus reset available")); + } + return ret; } diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 4ce7a54..fd39fc2 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1465,9 +1465,9 @@ qemuDomainReAttachHostDevices(virConnectPtr conn, virDomainDefPtr def) continue; } - if (pciDettachDevice(conn, dev) < 0) { + if (pciReAttachDevice(conn, dev) < 0) { virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to reset PCI device: %s\n"), + VIR_ERROR(_("Failed to re-attach PCI device: %s\n"), err ? err->message : ""); virResetError(err); } -- 1.6.2.5 libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch: qemu_driver.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) --- NEW FILE libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch --- >From 8f26acc66ca90eea67fd5e84be5a76e3b8aa7fbf Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 14 Aug 2009 08:31:11 +0100 Subject: [PATCH] Reset and re-attach PCI host devices on guest shutdown https://bugzilla.redhat.com/499561 When the guest shuts down, we should attempt to restore all PCI host devices to a sane state. In the case of managed hostdevs, we should reset and re-attach the devices. In the case of unmanaged hostdevs, we should just reset them. Note, KVM will already reset assigned devices when the guest shuts down using whatever means it can, so we are only doing it to cover the cases the kernel can't handle. * src/qemu_driver.c: add qemuDomainReAttachHostDevices() and call it from qemudShutdownVMDaemon() (cherry picked from commit 4035152a8767e72fd4e26a91cb4d5afa75b72e61) Fedora-patch: libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch --- src/qemu_driver.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 2c4fd6f..4ce7a54 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -1402,6 +1402,80 @@ error: return -1; } +static void +qemuDomainReAttachHostDevices(virConnectPtr conn, virDomainDefPtr def) +{ + int i; + + /* Again 2 loops; reset all the devices before re-attach */ + + for (i = 0 ; i < def->nhostdevs ; i++) { + virDomainHostdevDefPtr hostdev = def->hostdevs[i]; + pciDevice *dev; + + if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) + continue; + if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) + continue; + + dev = pciGetDevice(conn, + hostdev->source.subsys.u.pci.domain, + hostdev->source.subsys.u.pci.bus, + hostdev->source.subsys.u.pci.slot, + hostdev->source.subsys.u.pci.function); + if (!dev) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), + err ? err->message : ""); + virResetError(err); + continue; + } + + if (pciResetDevice(conn, dev) < 0) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to reset PCI device: %s\n"), + err ? err->message : ""); + virResetError(err); + } + + pciFreeDevice(conn, dev); + } + + for (i = 0 ; i < def->nhostdevs ; i++) { + virDomainHostdevDefPtr hostdev = def->hostdevs[i]; + pciDevice *dev; + + if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) + continue; + if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) + continue; + if (!hostdev->managed) + continue; + + dev = pciGetDevice(conn, + hostdev->source.subsys.u.pci.domain, + hostdev->source.subsys.u.pci.bus, + hostdev->source.subsys.u.pci.slot, + hostdev->source.subsys.u.pci.function); + if (!dev) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to allocate pciDevice: %s\n"), + err ? err->message : ""); + virResetError(err); + continue; + } + + if (pciDettachDevice(conn, dev) < 0) { + virErrorPtr err = virGetLastError(); + VIR_ERROR(_("Failed to reset PCI device: %s\n"), + err ? err->message : ""); + virResetError(err); + } + + pciFreeDevice(conn, dev); + } +} + static const char *const defaultDeviceACL[] = { "/dev/null", "/dev/full", "/dev/zero", "/dev/random", "/dev/urandom", @@ -2109,6 +2183,8 @@ static void qemudShutdownVMDaemon(virConnectPtr conn, VIR_WARN("Failed to restore all device ownership for %s", vm->def->name); + qemuDomainReAttachHostDevices(conn, vm->def); + retry: if ((ret = qemuRemoveCgroup(conn, driver, vm)) < 0) { if (ret == -EBUSY && (retries++ < 5)) { -- 1.6.2.5 libvirt-0.6.4-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.4-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.6.4-svirt-sound.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- libvirt-0.6.4-svirt-sound.patch 17 Aug 2009 08:08:46 -0000 1.2 +++ libvirt-0.6.4-svirt-sound.patch 19 Aug 2009 16:26:27 -0000 1.3 @@ -1,4 +1,4 @@ -From f9355301cf4dda452308b616e8c00e59be5aec0a Mon Sep 17 00:00:00 2001 +From 1e99b2edee0eb3ca1c600e5bd5c55741cb95a29a Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 17 Aug 2009 08:32:08 +0100 Subject: [PATCH] Disable sound cards when running sVirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.170 retrieving revision 1.171 diff -u -p -r1.170 -r1.171 --- libvirt.spec 17 Aug 2009 08:08:46 -0000 1.170 +++ libvirt.spec 19 Aug 2009 16:26:27 -0000 1.171 @@ -96,6 +96,27 @@ Patch03: libvirt-0.7.0-policy-kit-rewrit # Log and ignore NUMA topology problems (rhbz #506590) Patch04: libvirt-0.7.0-numa-ignore-fail.patch +# Minor 'virsh nodedev-list --tree' annoyance, fix from upstream +Patch05: libvirt-add-space-to-nodedev-list-tree.patch + +# Fixes list corruption after disk hot-unplug +Patch06: libvirt-fix-device-list-update-after-detach.patch + +# Re-attach PCI host devices after guest shuts down (bug #499561) +Patch07: libvirt-reattach-pci-hostdevs-after-guest-shutdown.patch + +# Allow PM reset on multi-function PCI devices (bug #515689) +Patch08: libvirt-allow-pm-reset-on-multi-function-pci-devices.patch + +# Fix stupid PCI reset error message (#499678) +Patch09: libvirt-improve-pci-hostdev-reset-error-message.patch + +# Allow PCI bus reset to reset other devices (#499678) +Patch10: libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch + +# Add PCI host device hotplug support +Patch11: libvirt-add-pci-hostdev-hotplug-support.patch + # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) Patch200: libvirt-0.6.4-svirt-sound.patch @@ -281,6 +302,13 @@ of recent versions of Linux (and other O %patch02 -p1 %patch03 -p1 %patch04 -p1 +%patch05 -p1 +%patch06 -p1 +%patch07 -p1 +%patch08 -p1 +%patch09 -p1 +%patch10 -p1 +%patch11 -p1 %patch200 -p1 @@ -649,6 +677,15 @@ fi %endif %changelog +* Wed Aug 19 2009 Mark McLoughlin - 0.7.0-5 +- Add PCI host device hotplug support +- Allow PCI bus reset to reset other devices (#499678) +- Fix stupid PCI reset error message (bug #499678) +- Allow PM reset on multi-function PCI devices (bug #515689) +- Re-attach PCI host devices after guest shuts down (bug #499561) +- Fix list corruption after disk hot-unplug +- Fix minor 'virsh nodedev-list --tree' annoyance + * Thu Aug 13 2009 Daniel P. Berrange - 0.7.0-4 - Rewrite policykit support (rhbz #499970) - Log and ignore NUMA topology problems (rhbz #506590) From rjones at fedoraproject.org Wed Aug 19 17:02:28 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:02:28 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.55,1.56 Message-ID: <20090819170228.135CA11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5345/F-11 Modified Files: libguestfs.spec Log Message: Comment updated. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.55 retrieving revision 1.56 diff -u -p -r1.55 -r1.56 --- libguestfs.spec 13 Aug 2009 18:09:04 -0000 1.55 +++ libguestfs.spec 19 Aug 2009 17:02:27 -0000 1.56 @@ -337,7 +337,7 @@ export LIBGUESTFS_DEBUG=1 # 507066 all F-12 sequence of chroot calls (FIXED) # 513249 all F-12 guestfwd broken in qemu # 516022 all F-12 virtio-net gives "Network is unreachable" errors -# (WORKAROUND ENABLED) +# (FIXED) # 516096 ? F-11 race condition in swapoff/blockdev --rereadpt # 516543 ? F-12 qemu-kvm segfaults when run inside a VM From markmc at fedoraproject.org Wed Aug 19 17:09:00 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 19 Aug 2009 17:09:00 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt-fix-migration-completion-with-newer-qemu.patch, NONE, 1.1 libvirt-fix-xen-driver-segfault-with-newer-xen.patch, NONE, 1.1 libvirt-0.6.2-svirt-sound.patch, 1.3, 1.4 libvirt.spec, 1.139, 1.140 Message-ID: <20090819170900.216FC11C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6824 Modified Files: libvirt-0.6.2-svirt-sound.patch libvirt.spec Added Files: libvirt-fix-migration-completion-with-newer-qemu.patch libvirt-fix-xen-driver-segfault-with-newer-xen.patch Log Message: * Wed Aug 19 2009 Mark McLoughlin - 0.6.2-17 - Fix migration completion with newer versions of qemu (#516187) - Fix dumpxml segfault with newer versions of Xen (#518091) libvirt-fix-migration-completion-with-newer-qemu.patch: qemu_driver.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) --- NEW FILE libvirt-fix-migration-completion-with-newer-qemu.patch --- >From 21ef933dfdd64c754d184d41d87ecd94eaddf697 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Wed, 5 Aug 2009 13:42:07 +0200 Subject: [PATCH] Run 'cont' on successful migration finish. https://bugzilla.redhat.com/516187 As of qemu 0.10.6, qemu now honors the -S flag on incoming migration. That means that when the migration completes, we have to issue a 'cont' command to get the VM running again. We do it unconditionally since it won't hurt on older qemu. (cherry picked from commit d1ec4d7a5a4f50c9492137eaab4f021caa075f95) Fedora-patch: libvirt-fix-migration-completion-with-newer-qemu.patch --- src/qemu_driver.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 7dbf4a2..ff56f61 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -5162,7 +5162,18 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn, */ if (retcode == 0) { dom = virGetDomain (dconn, vm->def->name, vm->def->uuid); + + /* run 'cont' on the destination, which allows migration on qemu + * >= 0.10.6 to work properly. This isn't strictly necessary on + * older qemu's, but it also doesn't hurt anything there + */ + if (qemudMonitorCommand(vm, "cont", &info) < 0) { + qemudReportError(dconn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, + "%s", _("resume operation failed")); + goto cleanup; + } VIR_FREE(info); + vm->state = VIR_DOMAIN_RUNNING; event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_RESUMED, -- 1.6.2.5 libvirt-fix-xen-driver-segfault-with-newer-xen.patch: xend_internal.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) --- NEW FILE libvirt-fix-xen-driver-segfault-with-newer-xen.patch --- >From 0878a15ad937449b5dfc4cf49888cc7753473e33 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Fri, 26 Jun 2009 18:14:16 +0000 Subject: [PATCH] Fix xen driver segfault with newer Xen https://bugzilla.redhat.com/518091 (cherry picked from commit 14435163a086c0bcdff04308077fa46a5fa08bb0) Fedora-patch: libvirt-fix-xen-driver-segfault-with-newer-xen.patch --- src/xend_internal.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/src/xend_internal.c b/src/xend_internal.c index 2e2fd21..c3a9836 100644 --- a/src/xend_internal.c +++ b/src/xend_internal.c @@ -2077,7 +2077,15 @@ xenDaemonParseSxprGraphicsNew(virConnectPtr conn, if (sexpr_lookup(node, "device/vfb")) { /* New style graphics config for PV guests in >= 3.0.4, * or for HVM guests in >= 3.0.5 */ - tmp = sexpr_node(node, "device/vfb/type"); + if (sexpr_node(node, "device/vfb/type")) { + tmp = sexpr_node(node, "device/vfb/type"); + } else if (sexpr_node(node, "device/vfb/vnc")) { + tmp = "vnc"; + } else if (sexpr_node(node, "device/vfb/sdl")) { + tmp = "sdl"; + } else { + tmp = "unknown"; + } if (VIR_ALLOC(graphics) < 0) goto no_memory; -- 1.6.2.5 libvirt-0.6.2-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.2-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-svirt-sound.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- libvirt-0.6.2-svirt-sound.patch 19 Aug 2009 16:15:46 -0000 1.3 +++ libvirt-0.6.2-svirt-sound.patch 19 Aug 2009 17:08:59 -0000 1.4 @@ -1,4 +1,4 @@ -From e76837af35d692cb947db3a47058bcfbbf77b46a Mon Sep 17 00:00:00 2001 +From 0d72b6fb7d4aa5e55294eb3222e7156d3d75a9e7 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 17 Aug 2009 08:52:30 +0100 Subject: [PATCH] Disable sound cards when running sVirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.139 retrieving revision 1.140 diff -u -p -r1.139 -r1.140 --- libvirt.spec 19 Aug 2009 16:15:46 -0000 1.139 +++ libvirt.spec 19 Aug 2009 17:08:59 -0000 1.140 @@ -66,7 +66,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.6.2 -Release: 16%{?dist}%{?extra_release} +Release: 17%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -130,6 +130,10 @@ Patch27: libvirt-allow-pm-reset-on-multi Patch28: libvirt-improve-pci-hostdev-reset-error-message.patch # Allow PCI bus reset to reset other devices (#499678) Patch29: libvirt-allow-pci-hostdev-reset-to-reset-other-devices.patch +# Fix migration completion with newer versions of qemu (#516187) +Patch30: libvirt-fix-migration-completion-with-newer-qemu.patch +# Fix dumpxml segfault with newer versions of Xen (#518091) +Patch31: libvirt-fix-xen-driver-segfault-with-newer-xen.patch # Not for upstream. Temporary hack till PulseAudio autostart # problems are sorted out when SELinux enforcing @@ -311,6 +315,8 @@ of recent versions of Linux (and other O %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 +%patch31 -p1 %patch200 -p1 @@ -634,6 +640,10 @@ fi %endif %changelog +* Wed Aug 19 2009 Mark McLoughlin - 0.6.2-17 +- Fix migration completion with newer versions of qemu (#516187) +- Fix dumpxml segfault with newer versions of Xen (#518091) + * Wed Aug 19 2009 Mark McLoughlin - 0.6.2-16.fc11 - Allow PCI bus reset to reset other devices (#499678) - Fix stupid PCI reset error message (bug #499678) From rjones at fedoraproject.org Wed Aug 19 17:09:56 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:09:56 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.56,1.57 Message-ID: <20090819170956.7A1E311C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7589 Modified Files: libguestfs.spec Log Message: New upstream release 1.0.68. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.56 retrieving revision 1.57 diff -u -p -r1.56 -r1.57 --- libguestfs.spec 19 Aug 2009 17:02:27 -0000 1.56 +++ libguestfs.spec 19 Aug 2009 17:09:56 -0000 1.57 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.67 +Version: 1.0.68 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -537,6 +537,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-1 +- New upstream release 1.0.68. + * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 17:09:55 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:09:55 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.92, 1.93 Message-ID: <20090819170955.1D4BD11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7565 Modified Files: libguestfs.spec Log Message: New upstream release 1.0.68. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.92 retrieving revision 1.93 diff -u -p -r1.92 -r1.93 --- libguestfs.spec 13 Aug 2009 18:15:35 -0000 1.92 +++ libguestfs.spec 19 Aug 2009 17:09:54 -0000 1.93 @@ -4,8 +4,8 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.67 -Release: 2%{?dist} +Version: 1.0.68 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -541,6 +541,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-1 +- New upstream release 1.0.68. + * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-2 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 17:09:57 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:09:57 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.58,1.59 Message-ID: <20090819170957.DBCAF11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7640 Modified Files: libguestfs.spec Log Message: New upstream release 1.0.68. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.58 retrieving revision 1.59 diff -u -p -r1.58 -r1.59 --- libguestfs.spec 13 Aug 2009 18:09:00 -0000 1.58 +++ libguestfs.spec 19 Aug 2009 17:09:57 -0000 1.59 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.67 +Version: 1.0.68 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -534,6 +534,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-1 +- New upstream release 1.0.68. + * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From markmc at fedoraproject.org Wed Aug 19 17:13:01 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 19 Aug 2009 17:13:01 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-fix-migration-completion-with-newer-qemu.patch, NONE, 1.1 libvirt-0.6.4-svirt-sound.patch, 1.3, 1.4 libvirt.spec, 1.171, 1.172 Message-ID: <20090819171302.05F4911C00E4@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8381 Modified Files: libvirt-0.6.4-svirt-sound.patch libvirt.spec Added Files: libvirt-fix-migration-completion-with-newer-qemu.patch Log Message: * Wed Aug 19 2009 Mark McLoughlin - 0.7.0-6 - Fix migration completion with newer versions of qemu (#516187) libvirt-fix-migration-completion-with-newer-qemu.patch: qemu_driver.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) --- NEW FILE libvirt-fix-migration-completion-with-newer-qemu.patch --- >From f2eb2ad5163d5bae2392a8bfc6040c45426c9f5f Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Wed, 5 Aug 2009 13:42:07 +0200 Subject: [PATCH] Run 'cont' on successful migration finish. https://bugzilla.redhat.com/516187 As of qemu 0.10.6, qemu now honors the -S flag on incoming migration. That means that when the migration completes, we have to issue a 'cont' command to get the VM running again. We do it unconditionally since it won't hurt on older qemu. (cherry picked from commit d1ec4d7a5a4f50c9492137eaab4f021caa075f95) Fedora-patch: libvirt-fix-migration-completion-with-newer-qemu.patch --- src/qemu_driver.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 99dac52..bf9a0b2 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -6951,7 +6951,18 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn, */ if (retcode == 0) { dom = virGetDomain (dconn, vm->def->name, vm->def->uuid); + + /* run 'cont' on the destination, which allows migration on qemu + * >= 0.10.6 to work properly. This isn't strictly necessary on + * older qemu's, but it also doesn't hurt anything there + */ + if (qemudMonitorCommand(vm, "cont", &info) < 0) { + qemudReportError(dconn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, + "%s", _("resume operation failed")); + goto cleanup; + } VIR_FREE(info); + vm->state = VIR_DOMAIN_RUNNING; event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_RESUMED, -- 1.6.2.5 libvirt-0.6.4-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.4-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-0.6.4-svirt-sound.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- libvirt-0.6.4-svirt-sound.patch 19 Aug 2009 16:26:27 -0000 1.3 +++ libvirt-0.6.4-svirt-sound.patch 19 Aug 2009 17:13:01 -0000 1.4 @@ -1,4 +1,4 @@ -From 1e99b2edee0eb3ca1c600e5bd5c55741cb95a29a Mon Sep 17 00:00:00 2001 +From 5f8d720b5f1393ee333a5fa8375ffe9ac954d48b Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 17 Aug 2009 08:32:08 +0100 Subject: [PATCH] Disable sound cards when running sVirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.171 retrieving revision 1.172 diff -u -p -r1.171 -r1.172 --- libvirt.spec 19 Aug 2009 16:26:27 -0000 1.171 +++ libvirt.spec 19 Aug 2009 17:13:01 -0000 1.172 @@ -78,7 +78,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.0 -Release: 5%{?dist}%{?extra_release} +Release: 6%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -117,6 +117,9 @@ Patch10: libvirt-allow-pci-hostdev-reset # Add PCI host device hotplug support Patch11: libvirt-add-pci-hostdev-hotplug-support.patch +# Fix migration completion with newer versions of qemu (#516187) +Patch12: libvirt-fix-migration-completion-with-newer-qemu.patch + # Temporary hack till PulseAudio autostart problems are sorted # out when SELinux enforcing (bz 486112) Patch200: libvirt-0.6.4-svirt-sound.patch @@ -309,6 +312,7 @@ of recent versions of Linux (and other O %patch09 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %patch200 -p1 @@ -677,6 +681,9 @@ fi %endif %changelog +* Wed Aug 19 2009 Mark McLoughlin - 0.7.0-6 +- Fix migration completion with newer versions of qemu (#516187) + * Wed Aug 19 2009 Mark McLoughlin - 0.7.0-5 - Add PCI host device hotplug support - Allow PCI bus reset to reset other devices (#499678) From rjones at fedoraproject.org Wed Aug 19 17:35:08 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:35:08 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel .cvsignore, 1.46, 1.47 sources, 1.46, 1.47 Message-ID: <20090819173508.9AD1D11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12167 Modified Files: .cvsignore sources Log Message: New upstream release 1.0.68. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/.cvsignore,v retrieving revision 1.46 retrieving revision 1.47 diff -u -p -r1.46 -r1.47 --- .cvsignore 13 Aug 2009 18:09:07 -0000 1.46 +++ .cvsignore 19 Aug 2009 17:35:08 -0000 1.47 @@ -1 +1 @@ -libguestfs-1.0.67.tar.gz +libguestfs-1.0.68.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/sources,v retrieving revision 1.46 retrieving revision 1.47 diff -u -p -r1.46 -r1.47 --- sources 13 Aug 2009 18:09:07 -0000 1.46 +++ sources 19 Aug 2009 17:35:08 -0000 1.47 @@ -1 +1 @@ -ce1896a1faa9a19642d5a19aa4f09c4b libguestfs-1.0.67.tar.gz +2999a99a99417ad349b4a6d6b4480fe5 libguestfs-1.0.68.tar.gz From rjones at fedoraproject.org Wed Aug 19 17:35:14 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:35:14 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.27, 1.28 sources, 1.27, 1.28 Message-ID: <20090819173514.8ABAD11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12219 Modified Files: .cvsignore sources Log Message: New upstream release 1.0.68. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.27 retrieving revision 1.28 diff -u -p -r1.27 -r1.28 --- .cvsignore 13 Aug 2009 18:09:00 -0000 1.27 +++ .cvsignore 19 Aug 2009 17:35:14 -0000 1.28 @@ -1 +1 @@ -libguestfs-1.0.67.tar.gz +libguestfs-1.0.68.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.27 retrieving revision 1.28 diff -u -p -r1.27 -r1.28 --- sources 13 Aug 2009 18:09:00 -0000 1.27 +++ sources 19 Aug 2009 17:35:14 -0000 1.28 @@ -1 +1 @@ -ce1896a1faa9a19642d5a19aa4f09c4b libguestfs-1.0.67.tar.gz +2999a99a99417ad349b4a6d6b4480fe5 libguestfs-1.0.68.tar.gz From rjones at fedoraproject.org Wed Aug 19 17:35:16 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:35:16 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 .cvsignore, 1.33, 1.34 sources, 1.33, 1.34 Message-ID: <20090819173516.B49A011C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12236 Modified Files: .cvsignore sources Log Message: New upstream release 1.0.68. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/.cvsignore,v retrieving revision 1.33 retrieving revision 1.34 diff -u -p -r1.33 -r1.34 --- .cvsignore 13 Aug 2009 18:09:04 -0000 1.33 +++ .cvsignore 19 Aug 2009 17:35:16 -0000 1.34 @@ -1 +1 @@ -libguestfs-1.0.67.tar.gz +libguestfs-1.0.68.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/sources,v retrieving revision 1.33 retrieving revision 1.34 diff -u -p -r1.33 -r1.34 --- sources 13 Aug 2009 18:09:04 -0000 1.33 +++ sources 19 Aug 2009 17:35:16 -0000 1.34 @@ -1 +1 @@ -ce1896a1faa9a19642d5a19aa4f09c4b libguestfs-1.0.67.tar.gz +2999a99a99417ad349b4a6d6b4480fe5 libguestfs-1.0.68.tar.gz From rjones at fedoraproject.org Wed Aug 19 17:50:59 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:50:59 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.59,1.60 Message-ID: <20090819175059.A28E311C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15996 Modified Files: libguestfs.spec Log Message: BR genisoimage. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.59 retrieving revision 1.60 diff -u -p -r1.59 -r1.60 --- libguestfs.spec 19 Aug 2009 17:09:57 -0000 1.59 +++ libguestfs.spec 19 Aug 2009 17:50:59 -0000 1.60 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.68 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -22,7 +22,7 @@ BuildRequires: /usr/bin/pod2text BuildRequires: febootstrap >= 2.3 #BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel -BuildRequires: squashfs-tools +BuildRequires: genisoimage %ifarch %{ix86} x86_64 BuildRequires: qemu-system-x86 >= 0.10.5 %endif @@ -534,8 +534,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-1 +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-2 - New upstream release 1.0.68. +- BR genisoimage. * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 17:51:25 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:51:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.57,1.58 Message-ID: <20090819175125.A2A5611C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16074 Modified Files: libguestfs.spec Log Message: BR genisoimage. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.57 retrieving revision 1.58 diff -u -p -r1.57 -r1.58 --- libguestfs.spec 19 Aug 2009 17:09:56 -0000 1.57 +++ libguestfs.spec 19 Aug 2009 17:51:25 -0000 1.58 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.68 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -18,7 +18,7 @@ BuildRequires: /usr/bin/pod2text BuildRequires: febootstrap >= 2.3 BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel -BuildRequires: squashfs-tools +BuildRequires: genisoimage BuildRequires: qemu-kvm >= 0.10-7 BuildRequires: createrepo BuildRequires: glibc-static @@ -537,8 +537,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-1 +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-2 - New upstream release 1.0.68. +- BR genisoimage. * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 17:51:29 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 17:51:29 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.93, 1.94 Message-ID: <20090819175129.D6E2111C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16096 Modified Files: libguestfs.spec Log Message: BR genisoimage. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.93 retrieving revision 1.94 diff -u -p -r1.93 -r1.94 --- libguestfs.spec 19 Aug 2009 17:09:54 -0000 1.93 +++ libguestfs.spec 19 Aug 2009 17:51:29 -0000 1.94 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.68 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -18,7 +18,7 @@ BuildRequires: /usr/bin/pod2text BuildRequires: febootstrap >= 2.3 BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel -BuildRequires: squashfs-tools +BuildRequires: genisoimage BuildRequires: qemu-kvm >= 0.10-7 BuildRequires: createrepo BuildRequires: glibc-static @@ -541,8 +541,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-1 +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-2 - New upstream release 1.0.68. +- BR genisoimage. * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-2 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 18:31:37 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 18:31:37 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.60,1.61 Message-ID: <20090819183137.526CA11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23280 Modified Files: libguestfs.spec Log Message: BR should be mkisofs, not genisoimage, for EPEL. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.60 retrieving revision 1.61 diff -u -p -r1.60 -r1.61 --- libguestfs.spec 19 Aug 2009 17:50:59 -0000 1.60 +++ libguestfs.spec 19 Aug 2009 18:31:37 -0000 1.61 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.68 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -22,7 +22,7 @@ BuildRequires: /usr/bin/pod2text BuildRequires: febootstrap >= 2.3 #BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel -BuildRequires: genisoimage +BuildRequires: mkisofs %ifarch %{ix86} x86_64 BuildRequires: qemu-system-x86 >= 0.10.5 %endif @@ -534,9 +534,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-2 +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-3 - New upstream release 1.0.68. -- BR genisoimage. +- BR mkisofs. * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 19:11:53 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 19:11:53 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.61,1.62 Message-ID: <20090819191153.F401A11C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30754 Modified Files: libguestfs.spec Log Message: For EPEL only we need e4fsprogs. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.61 retrieving revision 1.62 diff -u -p -r1.61 -r1.62 --- libguestfs.spec 19 Aug 2009 18:31:37 -0000 1.61 +++ libguestfs.spec 19 Aug 2009 19:11:53 -0000 1.62 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.68 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -41,6 +41,7 @@ BuildRequires: kernel, bash, coreutils, BuildRequires: MAKEDEV, net-tools, file BuildRequires: module-init-tools, procps, strace, iputils BuildRequires: dosfstools, lsof, scrub, libselinux +BuildRequires: e4fsprogs # Not supported in EPEL yet: ntfs-3g util-linux-ng zerofree # Not working: augeas-libs %ifarch %{ix86} x86_64 @@ -52,6 +53,7 @@ Requires: kernel, bash, coreutils, Requires: MAKEDEV, net-tools, file Requires: module-init-tools, procps, strace, iputils Requires: dosfstools, lsof, scrub, libselinux +Requires: e4fsprogs # Not supported in EPEL yet: ntfs-3g util-linux-ng zerofree # Not working: augeas-libs %ifarch %{ix86} x86_64 @@ -534,9 +536,10 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-3 +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-4 - New upstream release 1.0.68. - BR mkisofs. +- For EPEL only we need e4fsprogs. * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 20:41:21 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 20:41:21 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 0001-tests-Found-three-more-references-to-the-squashfs.patch, NONE, 1.1 libguestfs.spec, 1.62, 1.63 Message-ID: <20090819204121.A092411C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19429 Modified Files: libguestfs.spec Added Files: 0001-tests-Found-three-more-references-to-the-squashfs.patch Log Message: Pull in upstream patch to fix tests. 0001-tests-Found-three-more-references-to-the-squashfs.patch: perl/t/510-lib-file-arch.t | 4 ++-- regressions/test-cancellation-download-librarycancels.sh | 4 ++-- regressions/test-read_file.sh | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) --- NEW FILE 0001-tests-Found-three-more-references-to-the-squashfs.patch --- >From 0c92c583d5291e1a3a966b36f107bf48e4bfad93 Mon Sep 17 00:00:00 2001 From: Richard W.M. Jones Date: Wed, 19 Aug 2009 21:37:56 +0100 Subject: [PATCH] tests: Found three more references to the squashfs, replaced with ISO. --- perl/t/510-lib-file-arch.t | 4 ++-- .../test-cancellation-download-librarycancels.sh | 4 ++-- regressions/test-read_file.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/perl/t/510-lib-file-arch.t b/perl/t/510-lib-file-arch.t index c4b9d31..5c70449 100644 --- a/perl/t/510-lib-file-arch.t +++ b/perl/t/510-lib-file-arch.t @@ -35,7 +35,7 @@ use Sys::Guestfs::Lib; my $h = Sys::Guestfs->new (); ok ($h); -$h->add_drive_ro ("../images/test.sqsh"); +$h->add_drive_ro ("../images/test.iso"); ok (1); $h->launch (); @@ -43,7 +43,7 @@ ok (1); $h->wait_ready (); ok (1); -$h->mount_vfs ("ro", "squashfs", "/dev/sda", "/"); +$h->mount_ro ("/dev/sda", "/"); ok (1); is (Sys::Guestfs::Lib::file_architecture ($h, "/bin-i586-dynamic"), diff --git a/regressions/test-cancellation-download-librarycancels.sh b/regressions/test-cancellation-download-librarycancels.sh index b0d78c9..73c5469 100755 --- a/regressions/test-cancellation-download-librarycancels.sh +++ b/regressions/test-cancellation-download-librarycancels.sh @@ -25,10 +25,10 @@ set -e rm -f test.img ../fish/guestfish <<'EOF' -add ../images/test.sqsh +add ../images/test.iso run -mount-vfs ro squashfs /dev/sda / +mount-ro /dev/sda / # Download a file to /dev/full. echo "Expect: write: /dev/full: No space left on device" diff --git a/regressions/test-read_file.sh b/regressions/test-read_file.sh index 5840da3..3b9c6ef 100755 --- a/regressions/test-read_file.sh +++ b/regressions/test-read_file.sh @@ -23,9 +23,9 @@ set -e rm -f test.out ../fish/guestfish <<'EOF' > test.out -add-ro ../images/test.sqsh +add-ro ../images/test.iso run -mount-vfs ro squashfs /dev/sda / +mount-ro /dev/sda / read-file /helloworld.tar EOF -- 1.6.2.5 Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.62 retrieving revision 1.63 diff -u -p -r1.62 -r1.63 --- libguestfs.spec 19 Aug 2009 19:11:53 -0000 1.62 +++ libguestfs.spec 19 Aug 2009 20:41:21 -0000 1.63 @@ -5,13 +5,16 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.68 -Release: 4%{?dist} +Release: 5%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +# This patch upstream in 1.0.69. +Patch0: 0001-tests-Found-three-more-references-to-the-squashfs.patch + # Currently fails on PPC because: # "No Package Found for kernel" ExclusiveArch: %{ix86} x86_64 @@ -307,6 +310,8 @@ Requires: jpackage-utils %prep %setup -q +%patch0 -p1 + mkdir -p daemon/m4 @@ -540,6 +545,7 @@ rm -rf $RPM_BUILD_ROOT - New upstream release 1.0.68. - BR mkisofs. - For EPEL only we need e4fsprogs. +- Pull in upstream patch to fix tests. * Thu Aug 13 2009 Richard W.M. Jones - 1.0.67-1 - New upstream release 1.0.67. From rjones at fedoraproject.org Wed Aug 19 20:41:44 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 19 Aug 2009 20:41:44 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.63,1.64 Message-ID: <20090819204144.053C311C00E4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19534 Modified Files: libguestfs.spec Log Message: Bump release number. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.63 retrieving revision 1.64 diff -u -p -r1.63 -r1.64 --- libguestfs.spec 19 Aug 2009 20:41:21 -0000 1.63 +++ libguestfs.spec 19 Aug 2009 20:41:43 -0000 1.64 @@ -541,7 +541,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-4 +* Wed Aug 19 2009 Richard W.M. Jones - 1.0.68-5 - New upstream release 1.0.68. - BR mkisofs. - For EPEL only we need e4fsprogs. From rjones at fedoraproject.org Thu Aug 20 12:56:38 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 20 Aug 2009 12:56:38 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-no-kvm-segfault.patch, NONE, 1.1 qemu.spec, 1.121, 1.122 Message-ID: <20090820125638.32FF211C006E@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1116 Modified Files: qemu.spec Added Files: qemu-fix-no-kvm-segfault.patch Log Message: Fix segfault when qemu-kvm is invoked inside a VM (#516543) qemu-fix-no-kvm-segfault.patch: exec.c | 4 ---- 1 file changed, 4 deletions(-) --- NEW FILE qemu-fix-no-kvm-segfault.patch --- >From add286b6e753f14e4ae0ab6b831441aea0d35497 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 20 Aug 2009 13:52:20 +0100 Subject: [PATCH] Workaround segfault when qemu-kvm runs inside a VM (RHBZ#516543). Regression was introduced by this commit: http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commitdiff;h=b8083e930efc1ee85a7ad7e700dbd0f52ebb32dd Upstream discussion: http://www.mail-archive.com/kvm at vger.kernel.org/msg19890.html Note: NOT UPSTREAM and this is something of a hack. Upstream are still debating how they really want to fix this. --- exec.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/exec.c b/exec.c index 705bcf2..2091516 100644 --- a/exec.c +++ b/exec.c @@ -422,9 +422,6 @@ static uint8_t static_code_gen_buffer[DEFAULT_CODE_GEN_BUFFER_SIZE]; static void code_gen_alloc(unsigned long tb_size) { - if (kvm_enabled()) - return; - #ifdef USE_STATIC_CODE_GEN_BUFFER code_gen_buffer = static_code_gen_buffer; code_gen_buffer_size = DEFAULT_CODE_GEN_BUFFER_SIZE; -- 1.6.4 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.121 retrieving revision 1.122 diff -u -p -r1.121 -r1.122 --- qemu.spec 18 Aug 2009 10:03:38 -0000 1.121 +++ qemu.spec 20 Aug 2009 12:56:37 -0000 1.122 @@ -34,6 +34,19 @@ Patch05: qemu-fix-extboot-signrom.patch # Fix virtio_net with -net user (bug #516022) Patch06: qemu-fix-vnet-hdr-slirp-bustage.patch +# Fix segfault when qemu-kvm is invoked inside a VM (where HVM is not +# available). RHBZ#516543 +# +# Regression was introduced by this commit: +# http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commitdiff;h=b8083e930efc1ee85a7ad7e700dbd0f52ebb32dd +# +# Upstream discussion: +# http://www.mail-archive.com/kvm at vger.kernel.org/msg19890.html +# +# Note: NOT UPSTREAM and this is something of a hack. Upstream are +# still debating how they really want to fix this. +Patch07: qemu-fix-no-kvm-segfault.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -220,6 +233,7 @@ such as kvmtrace and kvm_stat. %patch04 -p1 %patch05 -p1 %patch06 -p1 +%patch07 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -484,6 +498,9 @@ getent passwd qemu >/dev/null || \ %{_mandir}/man1/qemu-img.1* %changelog +* Thu Aug 20 2009 Richard W.M. Jones - 2:0.10.91-0.8.rc1 +- Fix segfault when qemu-kvm is invoked inside a VM (#516543) + * Tue Aug 18 2009 Mark McLoughlin - 2:0.10.91-0.7.rc1 - Fix permissions on udev rules (#517571) From rjones at fedoraproject.org Thu Aug 20 12:57:48 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 20 Aug 2009 12:57:48 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.122,1.123 Message-ID: <20090820125748.3F3BE11C006E@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1563 Modified Files: qemu.spec Log Message: Forgot to upstream release. Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.122 retrieving revision 1.123 diff -u -p -r1.122 -r1.123 --- qemu.spec 20 Aug 2009 12:56:37 -0000 1.122 +++ qemu.spec 20 Aug 2009 12:57:48 -0000 1.123 @@ -4,7 +4,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.91 -Release: 0.7.%{kvmvertag}%{?dist} +Release: 0.8.%{kvmvertag}%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD From rjones at fedoraproject.org Thu Aug 20 15:41:37 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 20 Aug 2009 15:41:37 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 libguestfs.spec,1.58,1.59 Message-ID: <20090820154137.228B911C006E@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11146/F-11 Modified Files: libguestfs.spec Log Message: Remove references to virt-v2v since it's no longer in the upstream repo. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.58 retrieving revision 1.59 diff -u -p -r1.58 -r1.59 --- libguestfs.spec 19 Aug 2009 17:51:25 -0000 1.58 +++ libguestfs.spec 20 Aug 2009 15:41:36 -0000 1.59 @@ -406,10 +406,6 @@ rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_ # Generator shouldn't be executable when we distribute it. chmod -x src/generator.ml -# Remove virt-v2v for now, WIP. -rm $RPM_BUILD_ROOT%{_bindir}/virt-v2v -rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v.1* - # Find locale files. %find_lang %{name} From rjones at fedoraproject.org Thu Aug 20 15:41:37 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 20 Aug 2009 15:41:37 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.94, 1.95 Message-ID: <20090820154137.4AF6811C0347@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11146/devel Modified Files: libguestfs.spec Log Message: Remove references to virt-v2v since it's no longer in the upstream repo. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.94 retrieving revision 1.95 diff -u -p -r1.94 -r1.95 --- libguestfs.spec 19 Aug 2009 17:51:29 -0000 1.94 +++ libguestfs.spec 20 Aug 2009 15:41:37 -0000 1.95 @@ -410,10 +410,6 @@ rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_ # Generator shouldn't be executable when we distribute it. chmod -x src/generator.ml -# Remove virt-v2v for now, WIP. -rm $RPM_BUILD_ROOT%{_bindir}/virt-v2v -rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v.1* - # Find locale files. %find_lang %{name} From markmc at fedoraproject.org Fri Aug 21 10:19:54 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 21 Aug 2009 10:19:54 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt.spec,1.172,1.173 Message-ID: <20090821101954.18B5511C00D7@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25957 Modified Files: libvirt.spec Log Message: Add URL to source tag Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.172 retrieving revision 1.173 diff -u -p -r1.172 -r1.173 --- libvirt.spec 19 Aug 2009 17:13:01 -0000 1.172 +++ libvirt.spec 21 Aug 2009 10:19:53 -0000 1.173 @@ -81,7 +81,7 @@ Version: 0.7.0 Release: 6%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries -Source: libvirt-%{version}.tar.gz +Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz # Make sure qemu can access kernel/initrd (bug #516034) Patch01: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch From markmc at fedoraproject.org Fri Aug 21 10:20:12 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 21 Aug 2009 10:20:12 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt.spec,1.140,1.141 Message-ID: <20090821102012.B049911C0417@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26129 Modified Files: libvirt.spec Log Message: Add URL to source tag Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.140 retrieving revision 1.141 diff -u -p -r1.140 -r1.141 --- libvirt.spec 19 Aug 2009 17:08:59 -0000 1.140 +++ libvirt.spec 21 Aug 2009 10:20:12 -0000 1.141 @@ -69,7 +69,7 @@ Version: 0.6.2 Release: 17%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries -Source: libvirt-%{version}.tar.gz +Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz # Patches cherry-picked from upstream Patch0: libvirt-0.6.2-qemu-drive-format.patch From tmraz at fedoraproject.org Fri Aug 21 12:48:56 2009 From: tmraz at fedoraproject.org (=?utf-8?b?VG9tw6HFoSBNcsOheg==?=) Date: Fri, 21 Aug 2009 12:48:56 +0000 (UTC) Subject: [fedora-virt-maint] rpms/collectd/devel collectd.spec,1.22,1.23 Message-ID: <20090821124856.223A011C00D7@cvs1.fedora.phx.redhat.com> Author: tmraz Update of /cvs/pkgs/rpms/collectd/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25880 Modified Files: collectd.spec Log Message: - rebuilt with new openssl Index: collectd.spec =================================================================== RCS file: /cvs/pkgs/rpms/collectd/devel/collectd.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -p -r1.22 -r1.23 --- collectd.spec 6 Aug 2009 16:36:02 -0000 1.22 +++ collectd.spec 21 Aug 2009 12:48:55 -0000 1.23 @@ -1,7 +1,7 @@ Summary: Statistics collection daemon for filling RRD files Name: collectd Version: 4.6.2 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 Group: System Environment/Daemons URL: http://collectd.org/ @@ -407,6 +407,9 @@ fi %changelog +* Fri Aug 21 2009 Tomas Mraz - 4.6.2-5 +- rebuilt with new openssl + * Thu Aug 6 2009 Richard W.M. Jones - 4.6.2-4 - Force rebuild to test FTBFS issue. - lib/collectd/types.db seems to have moved to share/collectd/types.db From berrange at fedoraproject.org Wed Aug 26 15:44:49 2009 From: berrange at fedoraproject.org (Daniel P. Berrange) Date: Wed, 26 Aug 2009 15:44:49 +0000 (UTC) Subject: [fedora-virt-maint] rpms/perl-Sys-Virt-TCK/devel Sys-Virt-TCK-0.1.0-clone-api.patch, NONE, 1.1 Sys-Virt-TCK-0.1.0-i686-pae-kernels.patch, NONE, 1.1 Sys-Virt-TCK-0.1.0-skip-dom0.patch, NONE, 1.1 perl-Sys-Virt-TCK.spec, 1.3, 1.4 Message-ID: <20090826154449.87DA011C0082@cvs1.fedora.phx.redhat.com> Author: berrange Update of /cvs/pkgs/rpms/perl-Sys-Virt-TCK/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11412 Modified Files: perl-Sys-Virt-TCK.spec Added Files: Sys-Virt-TCK-0.1.0-clone-api.patch Sys-Virt-TCK-0.1.0-i686-pae-kernels.patch Sys-Virt-TCK-0.1.0-skip-dom0.patch Log Message: Fix Xen portability issues & re-enable clone test Sys-Virt-TCK-0.1.0-clone-api.patch: 200-clone-vol-dir.t | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- NEW FILE Sys-Virt-TCK-0.1.0-clone-api.patch --- diff -rup Sys-Virt-TCK-0.1.0.orig/scripts/storage/200-clone-vol-dir.t Sys-Virt-TCK-0.1.0.new/scripts/storage/200-clone-vol-dir.t --- Sys-Virt-TCK-0.1.0.orig/scripts/storage/200-clone-vol-dir.t 2009-07-22 18:33:55.000000000 +0100 +++ Sys-Virt-TCK-0.1.0.new/scripts/storage/200-clone-vol-dir.t 2009-08-26 16:42:01.000000000 +0100 @@ -102,7 +102,7 @@ foreach my $format (@formats) { my $volclonexml = $tck->generic_volume("test$format", $format, 1024*1024*50)->as_xml; my $clone; - ok_volume { $clone = $pool->create_volume($volclonexml, $vol) } "clone to $format volume"; + ok_volume { $clone = $pool->clone_volume($volclonexml, $vol) } "clone to $format volume"; $path = xpath($clone, "string(/volume/target/path)"); $st = stat($path); @@ -113,7 +113,7 @@ foreach my $format (@formats) { diag "Cloning cloned volume back to raw format"; my $voldstxml = $tck->generic_volume("testdst", "raw", 1024*1024*50)->as_xml; my $result; - ok_volume { $result = $pool->create_volume($voldstxml, $clone) } "clone back to raw volume"; + ok_volume { $result = $pool->clone_volume($voldstxml, $clone) } "clone back to raw volume"; $path = xpath($result, "string(/volume/target/path)"); Sys-Virt-TCK-0.1.0-i686-pae-kernels.patch: default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- NEW FILE Sys-Virt-TCK-0.1.0-i686-pae-kernels.patch --- diff -rup Sys-Virt-TCK-0.1.0.orig/conf/default.cfg Sys-Virt-TCK-0.1.0.new/conf/default.cfg --- Sys-Virt-TCK-0.1.0.orig/conf/default.cfg 2009-07-22 18:33:55.000000000 +0100 +++ Sys-Virt-TCK-0.1.0.new/conf/default.cfg 2009-08-26 16:17:10.000000000 +0100 @@ -54,8 +54,8 @@ kernels = ( hvm xen ) - kernel = http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/images/pxeboot/vmlinuz - initrd = http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/images/pxeboot/initrd.img + kernel = http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/images/pxeboot/vmlinuz-PAE + initrd = http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/images/pxeboot/initrd-PAE.img } # Fedora 11 x86_64 has pv_ops, so one kernel can do both Xen and KVM guests here { Sys-Virt-TCK-0.1.0-skip-dom0.patch: TCK.pm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) --- NEW FILE Sys-Virt-TCK-0.1.0-skip-dom0.patch --- diff -rup Sys-Virt-TCK-0.1.0.orig/lib/Sys/Virt/TCK.pm Sys-Virt-TCK-0.1.0.new/lib/Sys/Virt/TCK.pm --- Sys-Virt-TCK-0.1.0.orig/lib/Sys/Virt/TCK.pm 2009-08-26 16:13:28.000000000 +0100 +++ Sys-Virt-TCK-0.1.0.new/lib/Sys/Virt/TCK.pm 2009-08-26 16:16:19.000000000 +0100 @@ -72,7 +72,7 @@ sub setup { sub sanity_check { my $self = shift; - my @doms = $self->{conn}->list_domains; + my @doms = grep { $_->get_id > 0 } $self->{conn}->list_domains; if (@doms) { die "there is/are " . int(@doms) . " pre-existing active domain(s) in this driver"; } @@ -96,11 +96,9 @@ sub sanity_check { sub reset { my $self = shift; - my @doms = $self->{conn}->list_domains; + my @doms = grep { $_->get_id > 0 } $self->{conn}->list_domains; foreach my $dom (@doms) { - if ($dom->get_id != 0) { - $dom->destroy; - } + $dom->destroy; } @doms = $self->{conn}->list_defined_domains(); Index: perl-Sys-Virt-TCK.spec =================================================================== RCS file: /cvs/pkgs/rpms/perl-Sys-Virt-TCK/devel/perl-Sys-Virt-TCK.spec,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- perl-Sys-Virt-TCK.spec 5 Aug 2009 16:41:25 -0000 1.3 +++ perl-Sys-Virt-TCK.spec 26 Aug 2009 15:44:49 -0000 1.4 @@ -10,14 +10,17 @@ Summary: Sys::Virt::TCK - libvirt Technology Compatibility Kit Name: perl-%{appname} Version: 0.1.0 -Release: 5%{dist} +Release: 6%{dist} License: GPLv2 or Artistic Group: Development/Tools Source: http://libvirt.org/sources/tck/%{appname}-%{version}.tar.gz Patch1: %{appname}-%{version}-cleanup-skip.patch +Patch2: %{appname}-%{version}-skip-dom0.patch +Patch3: %{appname}-%{version}-i686-pae-kernels.patch +Patch4: %{appname}-%{version}-clone-api.patch Url: http://libvirt.org/ BuildRoot: %{_tmppath}/%{appname}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: libvirt >= 0.6.2 +Requires: libvirt >= 0.6.4 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) BuildRequires: perl(accessors) BuildRequires: perl(App::Prove) @@ -37,14 +40,18 @@ BuildRequires: perl(TAP::Harness::Archiv BuildRequires: perl(Test::Builder) BuildRequires: perl(Test::More) BuildRequires: perl(Sub::Uplevel) -BuildRequires: perl(Sys::Virt) >= 0.2.0 +BuildRequires: perl(Sys::Virt) >= 0.2.1 BuildRequires: perl(XML::Twig) BuildRequires: perl(XML::Writer) BuildRequires: perl(XML::XPath) BuildRequires: perl(Test::Pod) BuildRequires: perl(Test::Pod::Coverage) -# RPM autoprovides mising this +# RPM autoprovides misses these 3 Requires: perl(Test::Exception) +Requires: perl(TAP::Formatter::HTML) +Requires: perl(TAP::Harness::Archive) +# Want to force this minimal version, so don't rely on RPM autoprov +Requires: perl(Sys::Virt) >= 0.2.1 BuildArchitectures: noarch %description @@ -55,6 +62,9 @@ technology. %prep %setup -q -n %{appname}-%{version} %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build %{__perl} Build.PL installdirs=vendor @@ -72,9 +82,6 @@ find $RPM_BUILD_ROOT -depth -type d -exe %__install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/cache/libvirt-tck -# Requires newer libvirt perl binding -rm -f $RPM_BUILD_ROOT/%{_datadir}/libvirt-tck/tests/storage/200-clone-vol-dir.t - %clean rm -rf $RPM_BUILD_ROOT @@ -97,6 +104,11 @@ rm -rf $RPM_BUILD_ROOT %dir %{_localstatedir}/cache/libvirt-tck %changelog +* Wed Aug 26 2009 Daniel P. Berrange - 0.1.0-6 +- Skip over Xen dom0 domains +- Use PAE kernel for i686 by default so it works with Xen +- Re-enable cloning test now newer Sys-Virt exists in rawhide + * Wed Aug 5 2009 Daniel P. Berrange - 0.1.0-5 - Add missing perl-Test-Exception dep - Skip cleanup if sanity check fails From buildsys at fedoraproject.org Fri Aug 28 12:04:37 2009 From: buildsys at fedoraproject.org (buildsys at fedoraproject.org) Date: Fri, 28 Aug 2009 12:04:37 +0000 (UTC) Subject: [fedora-virt-maint] Broken dependencies: collectd Message-ID: <20090828120437.D7A9D1F8210@releng2.fedora.phx.redhat.com> collectd has broken dependencies in the development tree: On ppc: collectd-mysql-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-mysql-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-mysql-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-mysql-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-nut-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-nut-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-nut-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-nut-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-snmp-4.5.3-2.fc11.ppc requires libcrypto.so.8 On x86_64: collectd-snmp-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) On i386: collectd-snmp-4.5.3-2.fc11.i586 requires libcrypto.so.8 On ppc64: collectd-snmp-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) Please resolve this as soon as possible. From buildsys at fedoraproject.org Sat Aug 29 11:28:27 2009 From: buildsys at fedoraproject.org (buildsys at fedoraproject.org) Date: Sat, 29 Aug 2009 11:28:27 +0000 (UTC) Subject: [fedora-virt-maint] Broken dependencies: collectd Message-ID: <20090829112827.C3A481F826F@releng2.fedora.phx.redhat.com> collectd has broken dependencies in the development tree: On ppc: collectd-mysql-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-mysql-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-mysql-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-mysql-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-nut-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-nut-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-nut-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-nut-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-snmp-4.5.3-2.fc11.ppc requires libcrypto.so.8 On x86_64: collectd-snmp-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) On i386: collectd-snmp-4.5.3-2.fc11.i586 requires libcrypto.so.8 On ppc64: collectd-snmp-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) Please resolve this as soon as possible. From buildsys at fedoraproject.org Sun Aug 30 11:55:36 2009 From: buildsys at fedoraproject.org (buildsys at fedoraproject.org) Date: Sun, 30 Aug 2009 11:55:36 +0000 (UTC) Subject: [fedora-virt-maint] Broken dependencies: collectd Message-ID: <20090830115536.F11A31F8222@releng2.fedora.phx.redhat.com> collectd has broken dependencies in the development tree: On ppc: collectd-mysql-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-mysql-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-mysql-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-mysql-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-nut-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-nut-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-nut-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-nut-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-snmp-4.5.3-2.fc11.ppc requires libcrypto.so.8 On x86_64: collectd-snmp-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) On i386: collectd-snmp-4.5.3-2.fc11.i586 requires libcrypto.so.8 On ppc64: collectd-snmp-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) Please resolve this as soon as possible. From buildsys at fedoraproject.org Mon Aug 31 10:45:08 2009 From: buildsys at fedoraproject.org (buildsys at fedoraproject.org) Date: Mon, 31 Aug 2009 10:45:08 +0000 (UTC) Subject: [fedora-virt-maint] Broken dependencies: collectd Message-ID: <20090831104508.558A41F820E@releng2.fedora.phx.redhat.com> collectd has broken dependencies in the development tree: On ppc: collectd-mysql-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-mysql-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-mysql-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-mysql-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-mysql-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-mysql-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-nut-4.5.3-2.fc11.ppc requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.ppc requires libssl.so.8 On x86_64: collectd-nut-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.x86_64 requires libssl.so.8()(64bit) On i386: collectd-nut-4.5.3-2.fc11.i586 requires libcrypto.so.8 collectd-nut-4.5.3-2.fc11.i586 requires libssl.so.8 On ppc64: collectd-nut-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) collectd-nut-4.5.3-2.fc11.ppc64 requires libssl.so.8()(64bit) On ppc: collectd-snmp-4.5.3-2.fc11.ppc requires libcrypto.so.8 On x86_64: collectd-snmp-4.5.3-2.fc11.x86_64 requires libcrypto.so.8()(64bit) On i386: collectd-snmp-4.5.3-2.fc11.i586 requires libcrypto.so.8 On ppc64: collectd-snmp-4.5.3-2.fc11.ppc64 requires libcrypto.so.8()(64bit) Please resolve this as soon as possible.