Hello community, here is the log from the commit of package xen for openSUSE:Factory checked in at 2015-02-04 09:31:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xen (Old) and /work/SRC/openSUSE:Factory/.xen.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen" Changes: -------- --- /work/SRC/openSUSE:Factory/xen/xen.changes 2014-10-14 13:24:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2015-02-04 09:31:32.000000000 +0100 @@ -1,0 +2,197 @@ +Wed Jan 14 10:47:43 MST 2015 - [email protected] + +- Update to Xen 4.5.0 FCS + +------------------------------------------------------------------- +Wed Jan 14 16:54:24 UTC 2015 - [email protected] + +- Include systemd presets in 13.2 and older + +------------------------------------------------------------------- +Mon Jan 12 14:49:23 UTC 2015 - [email protected] + +- bnc#897352 - Enable xencommons/xendomains only during fresh install +- disable restart on upgrade because the toolstack is not restartable + +------------------------------------------------------------------- +Tue Dec 16 11:42:30 UTC 2014 - [email protected] + +- adjust seabios, vgabios, stubdom and hvmloader build to reduce + build-compare noise + xen.build-compare.mini-os.patch + xen.build-compare.smbiosdate.patch + xen.build-compare.ipxe.patch + xen.build-compare.vgabios.patch + xen.build-compare.seabios.patch + xen.build-compare.man.patch + +------------------------------------------------------------------- +Mon Dec 15 11:36:42 MST 2014 - [email protected] + +- Update to Xen 4.5.0 RC4 + +------------------------------------------------------------------- +Wed Dec 10 08:54:22 UTC 2014 - [email protected] + +- Remove xend specific if-up scripts + Recording bridge slaves is a generic task which should be handled + by generic network code + +------------------------------------------------------------------- +Tue Dec 9 18:33:51 UTC 2014 - [email protected] + +- Use systemd features from upstream + requires updated systemd-presets-branding package + +------------------------------------------------------------------- +Thu Dec 4 11:59:29 MST 2014 - [email protected] + +- Update to Xen 4.5.0 RC3 + +------------------------------------------------------------------- +Thu Dec 4 11:44:24 UTC 2014 - [email protected] + +- Set GIT, WGET and FTP to /bin/false + +------------------------------------------------------------------- +Wed Dec 3 12:14:27 UTC 2014 - [email protected] + +- Use new configure features instead of make variables + xen.stubdom.newlib.patch + +------------------------------------------------------------------- +Wed Nov 19 17:10:51 UTC 2014 - [email protected] + +- adjust docs and xen build to reduce build-compare noise + xen.build-compare.doc_html.patch + xen.build-compare.xen_compile_h.patch + +------------------------------------------------------------------- +Mon Nov 17 16:28:13 UTC 2014 - [email protected] + +- Drop trailing B_CNT from XEN_EXTRAVERSION to reduce build-compare noise + +------------------------------------------------------------------- +Tue Nov 11 11:15:30 MST 2014 - [email protected] + +- Update to Xen 4.5.0 RC2 + +------------------------------------------------------------------- +Thu Oct 23 18:34:55 MDT 2014 - [email protected] + +- Update to Xen 4.5.0 RC1 + xen-4.5.0-testing-src.tar.bz2 +- Remove all patches now contained in the new tarball + xen-4.4.1-testing-src.tar.bz2 + 5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch + 5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch + 53299d8f-xenconsole-reset-tty-on-failure.patch + 53299d8f-xenconsole-tolerate-tty-errors.patch + 5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch + 53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch + 537c9c77-libxc-check-return-values-on-mmap-and-madvise.patch + 537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch + 537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch + 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch + 53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch + 53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch + 53d124e7-fix-list_domain_details-check-config-data-length-0.patch + 53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch + 53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch + 53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch + 53f737b1-VMX-fix-DebugCtl-MSR-clearing.patch + 53f7386d-x86-irq-process-softirqs-in-irq-keyhandlers.patch + 53fcebab-xen-pass-kernel-initrd-to-qemu.patch + 53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch + 53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch + 53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch + 53ff3716-x86-ats-Disable-Address-Translation-Services-by-default.patch + 53ff3899-x86-NMI-allow-processing-unknown-NMIs-with-watchdog.patch + 54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch + 540effe6-evtchn-check-control-block-exists-when-using-FIFO-based-events.patch + 540f2624-x86-idle-add-barriers-to-CLFLUSH-workaround.patch + 541825dc-VMX-don-t-leave-x2APIC-MSR-intercepts-disabled.patch + 541ad385-x86-suppress-event-check-IPI-to-MWAITing-CPUs.patch + 541ad3ca-x86-HVM-batch-vCPU-wakeups.patch + 541ad81a-VT-d-suppress-UR-signaling-for-further-desktop-chipsets.patch + 54216833-x86-shadow-fix-race-when-sampling-dirty-vram-state.patch + 54216882-x86-emulate-check-cpl-for-all-privileged-instructions.patch + 542168ae-x86emul-only-emulate-swint-injection-for-real-mode.patch + 54228a37-x86-EFI-fix-freeing-of-uninitialized-pointer.patch + 5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch + 5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch + 542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch + 542bf997-x86-HVM-properly-bound-x2APIC-MSR-range.patch + 54325cc0-x86-MSI-fix-MSI-X-case-of-freeing-IRQ.patch + 54325d2f-x86-restore-reserving-of-IO-APIC-pages-in-XENMEM_machine_memory_map-output.patch + 54325d95-don-t-allow-Dom0-access-to-IOMMUs-MMIO-pages.patch + 54325ecc-AMD-guest_iommu-properly-disable-guest-iommu-support.patch + 54325f3c-x86-paging-make-log-dirty-operations-preemptible.patch + 54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch + CVE-2013-4540-qemu.patch qemu-support-xen-hvm-direct-kernel-boot.patch + qemu-xen-upstream-blkif-discard.patch change-vnc-passwd.patch + libxc-pass-errno-to-callers-of-xc_domain_save.patch + libxl.honor-more-top-level-vfb-options.patch + libxl.add-option-for-discard-support-to-xl-disk-conf.patch + libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch + x86-dom-print.patch x86-extra-trap-info.patch tmp_build.patch + xl-check-for-libvirt-managed-domain.patch disable-wget-check.patch +- Xend/xm is no longer supported and is not part of the upstream code. Remove + all xend/xm specific patches, configs, and scripts + xen-xmexample.patch bridge-opensuse.patch xmexample.disks xmclone.sh + init.xend xend-relocation.sh xend.service xend-relocation-server.fw + domUloader.py xmexample.domUloader xmexample.disks + bridge-vlan.patch bridge-bonding.patch bridge-record-creation.patch + network-nat-open-SuSEfirewall2-FORWARD.patch + xend-set-migration-constraints-from-cmdline.patch + xen.migrate.tools-xend_move_assert_to_exception_block.patch + xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch + xend-config.patch xend-max-free-mem.patch xend-hvm-default-pae.patch + xend-vif-route-ifup.patch xend-xenapi-console-protocol.patch xend-core-dump-loc.patch + xend-xen-api-auth.patch xend-checkpoint-rename.patch xend-xm-save-check-file.patch + xend-xm-create-xflag.patch xend-domu-usb-controller.patch xend-devid-or-name.patch + xend-migration-domname-fix.patch xend-del_usb_xend_entry.patch xend-xen-domUloader.patch + xend-multi-xvdp.patch xend-check_device_status.patch xend-change_home_server.patch + xend-minimum-restart-time.patch xend-disable-internal-logrotate.patch xend-config-enable-dump-comment.patch + xend-tools-watchdog-support.patch xend-console-port-restore.patch xend-vcpu-affinity-fix.patch + xend-migration-bridge-check.patch xend-managed-pci-device.patch xend-hvm-firmware-passthrough.patch + xend-cpuinfo-model-name.patch xend-xm-reboot-fix.patch xend-domain-lock.patch + xend-domain-lock-sfex.patch xend-32on64-extra-mem.patch xend-hv_extid_compatibility.patch + xend-xenpaging.autostart.patch xend-remove-xm-deprecation-warning.patch libxen_permissive.patch + tmp-initscript-modprobe.patch init.xendomains xendomains.service + xen-watchdog.service xen-updown.sh + +------------------------------------------------------------------- +Thu Oct 16 14:17:37 MDT 2014 - [email protected] + +- bnc#901317 - L3: increase limit domUloader to 32MB + domUloader.py + +------------------------------------------------------------------- +Tue Oct 14 09:16:37 MDT 2014 - [email protected] + +- bnc#898772 - SLES 12 RC3 - XEN Host crashes when assigning non-VF + device (SR-IOV) to guest + 54325cc0-x86-MSI-fix-MSI-X-case-of-freeing-IRQ.patch +- bnc#882089 - Windows 2012 R2 fails to boot up with greater than + 60 vcpus + 54325ecc-AMD-guest_iommu-properly-disable-guest-iommu-support.patch +- bnc#826717 - VUL-0: CVE-2013-3495: XSA-59: xen: Intel VT-d + Interrupt Remapping engines can be evaded by native NMI interrupts + 541ad81a-VT-d-suppress-UR-signaling-for-further-desktop-chipsets.patch +- Upstream patches from Jan + 540effe6-evtchn-check-control-block-exists-when-using-FIFO-based-events.patch (Replaces xsa107.patch) + 54216833-x86-shadow-fix-race-when-sampling-dirty-vram-state.patch (Replaces xsa104.patch) + 54216882-x86-emulate-check-cpl-for-all-privileged-instructions.patch (Replaces xsa105.patch) + 542168ae-x86emul-only-emulate-swint-injection-for-real-mode.patch (Replaces xsa106.patch) + 54228a37-x86-EFI-fix-freeing-of-uninitialized-pointer.patch + 5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch + 5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch + 542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch + 542bf997-x86-HVM-properly-bound-x2APIC-MSR-range.patch (Replaces xsa108.patch) + 54325d2f-x86-restore-reserving-of-IO-APIC-pages-in-XENMEM_machine_memory_map-output.patch + 54325d95-don-t-allow-Dom0-access-to-IOMMUs-MMIO-pages.patch + 54325f3c-x86-paging-make-log-dirty-operations-preemptible.patch (Replaces xsa97.patch) + 54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch + +------------------------------------------------------------------- ++++ 34 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/xen/xen.changes ++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.changes Old: ---- 5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch 5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch 53299d8f-xenconsole-reset-tty-on-failure.patch 53299d8f-xenconsole-tolerate-tty-errors.patch 5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch 53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch 537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch 537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch 53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch 53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch 53d124e7-fix-list_domain_details-check-config-data-length-0.patch 53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch 53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch 53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch 53f737b1-VMX-fix-DebugCtl-MSR-clearing.patch 53f7386d-x86-irq-process-softirqs-in-irq-keyhandlers.patch 53fcebab-xen-pass-kernel-initrd-to-qemu.patch 53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch 53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch 53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch 53ff3716-x86-ats-Disable-Address-Translation-Services-by-default.patch 53ff3899-x86-NMI-allow-processing-unknown-NMIs-with-watchdog.patch 54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch CVE-2013-4540-qemu.patch bridge-bonding.patch bridge-opensuse.patch bridge-record-creation.patch bridge-vlan.patch change-vnc-passwd.patch disable-wget-check.patch domUloader.py init.xend init.xendomains libxc-pass-errno-to-callers-of-xc_domain_save.patch libxen_permissive.patch libxl.add-option-for-discard-support-to-xl-disk-conf.patch libxl.honor-more-top-level-vfb-options.patch libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch network-nat-open-SuSEfirewall2-FORWARD.patch qemu-support-xen-hvm-direct-kernel-boot.patch qemu-xen-upstream-blkif-discard.patch tmp-initscript-modprobe.patch x86-dom-print.patch x86-extra-trap-info.patch xen-4.4.1-testing-src.tar.bz2 xen-updown.sh xen-watchdog.service xen-xmexample.patch xen.migrate.tools-xend_move_assert_to_exception_block.patch xend-32on64-extra-mem.patch xend-change_home_server.patch xend-check_device_status.patch xend-checkpoint-rename.patch xend-config-enable-dump-comment.patch xend-config.patch xend-console-port-restore.patch xend-core-dump-loc.patch xend-cpuinfo-model-name.patch xend-del_usb_xend_entry.patch xend-devid-or-name.patch xend-disable-internal-logrotate.patch xend-domain-lock-sfex.patch xend-domain-lock.patch xend-domu-usb-controller.patch xend-hv_extid_compatibility.patch xend-hvm-default-pae.patch xend-hvm-firmware-passthrough.patch xend-managed-pci-device.patch xend-max-free-mem.patch xend-migration-bridge-check.patch xend-migration-domname-fix.patch xend-minimum-restart-time.patch xend-multi-xvdp.patch xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch xend-relocation-server.fw xend-relocation.sh xend-remove-xm-deprecation-warning.patch xend-set-migration-constraints-from-cmdline.patch xend-tools-watchdog-support.patch xend-vcpu-affinity-fix.patch xend-vif-route-ifup.patch xend-xen-api-auth.patch xend-xen-domUloader.patch xend-xenapi-console-protocol.patch xend-xenpaging.autostart.patch xend-xm-create-xflag.patch xend-xm-reboot-fix.patch xend-xm-save-check-file.patch xend.service xendomains.service xl-check-for-libvirt-managed-domain.patch xmclone.sh xmexample.disks xmexample.domUloader xsa104.patch xsa105.patch xsa106.patch xsa107.patch xsa108.patch New: ---- xen-4.5.0-testing-src.tar.bz2 xen.build-compare.doc_html.patch xen.build-compare.ipxe.patch xen.build-compare.man.patch xen.build-compare.mini-os.patch xen.build-compare.seabios.patch xen.build-compare.smbiosdate.patch xen.build-compare.vgabios.patch xen.build-compare.xen_compile_h.patch xen.stubdom.newlib.patch xl-coredump-file-location.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xen.spec ++++++ ++++ 1295 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/xen/xen.spec ++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.spec ++++++ README.SUSE ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -601,16 +601,13 @@ Grub2 Example: Edit /etc/default/grub and add, GRUB_CMDLINE_XEN_DEFAULT="noreboot loglvl=all guest_loglvl=all" - Edit /etc/grub.d/20_linux_xen file. Look for this line: - while [ "x${xen_list}" != "x" ] ; do - and add *before* the above line something like this: - xen_dbg_list=`readlink -f /boot/xen-dbg.gz` - xen_list="$xen_list $xen_dbg_list" - finally run: - grub2-mkconfig -o /boot/grub2/grub.cfg - On reboot, select "Advanced options for SUSE Linux Enterprise Server 12 - (with Xen hypervisor)" from the grub menu and the Xen hypervisor debug entry - in the submenu. + Edit /boot/grub2/grub.cfg and look for these lines: + multiboot /boot/xen-<version>.gz ... + and replace them with: + multiboot /boot/xen-dbg-<version>.gz' ... Replace <version> with the + appropriate version string contained in the filename. Note that running + grub2-mkconfig -o /boot/grub2/grub.cfg will overwrite all manual changes + made to grub.cfg. Grub1 Example: Edit your menu.lst configuration from something like this: ++++++ bdrv_open2_flags_2.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -1,7 +1,7 @@ -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c @@ -225,6 +225,7 @@ static int open_disk(struct td_state *s, BlockDriver* drv; char* devname; @@ -19,11 +19,11 @@ fprintf(stderr, "Could not open image file %s\n", path); return -ENOMEM; } -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c -@@ -135,7 +135,8 @@ static void insert_media(void *opaque) +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +@@ -134,7 +134,8 @@ static void insert_media(void *opaque) else format = &bdrv_raw; @@ -33,7 +33,7 @@ #ifdef CONFIG_STUBDOM { char *buf, *backend, *params_path, *params; -@@ -510,7 +511,8 @@ void xenstore_parse_domain_config(int hv +@@ -509,7 +510,8 @@ void xenstore_parse_domain_config(int hv } for (i = 0; i < num; i++) { @@ -43,7 +43,7 @@ /* read the backend path */ xenstore_get_backend_path(&bpath, "vbd", danger_path, hvm_domid, e_danger[i]); if (bpath == NULL) -@@ -596,6 +598,17 @@ void xenstore_parse_domain_config(int hv +@@ -595,6 +597,17 @@ void xenstore_parse_domain_config(int hv format = &bdrv_raw; } @@ -61,7 +61,7 @@ #if 0 /* Phantom VBDs are disabled because the use of paths * from guest-controlled areas in xenstore is unsafe. -@@ -663,7 +676,7 @@ void xenstore_parse_domain_config(int hv +@@ -662,7 +675,7 @@ void xenstore_parse_domain_config(int hv #ifdef CONFIG_STUBDOM if (pasprintf(&danger_buf, "%s/device/vbd/%s", danger_path, e_danger[i]) == -1) continue; ++++++ blktap-pv-cdrom.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -8,10 +8,10 @@ xen/include/public/io/cdromif.h | 122 ++++ 7 files changed, 726 insertions(+), 3 deletions(-) -Index: xen-4.4.0-testing/tools/blktap/drivers/Makefile +Index: xen-4.5.0-testing/tools/blktap/drivers/Makefile =================================================================== ---- xen-4.4.0-testing.orig/tools/blktap/drivers/Makefile -+++ xen-4.4.0-testing/tools/blktap/drivers/Makefile +--- xen-4.5.0-testing.orig/tools/blktap/drivers/Makefile ++++ xen-4.5.0-testing/tools/blktap/drivers/Makefile @@ -32,8 +32,9 @@ AIOLIBS := -laio CFLAGS += $(PTHREAD_CFLAGS) LDFLAGS += $(PTHREAD_LDFLAGS) @@ -32,10 +32,10 @@ BLK-OBJS-y += aes.o BLK-OBJS-y += tapaio.o BLK-OBJS-$(CONFIG_Linux) += blk_linux.o -Index: xen-4.4.0-testing/tools/blktap/drivers/block-cdrom.c +Index: xen-4.5.0-testing/tools/blktap/drivers/block-cdrom.c =================================================================== --- /dev/null -+++ xen-4.4.0-testing/tools/blktap/drivers/block-cdrom.c ++++ xen-4.5.0-testing/tools/blktap/drivers/block-cdrom.c @@ -0,0 +1,568 @@ +/* block-cdrom.c + * @@ -605,10 +605,10 @@ + .td_get_parent_id = tdcdrom_get_parent_id, + .td_validate_parent = tdcdrom_validate_parent +}; -Index: xen-4.4.0-testing/tools/blktap/drivers/tapdisk.c +Index: xen-4.5.0-testing/tools/blktap/drivers/tapdisk.c =================================================================== ---- xen-4.4.0-testing.orig/tools/blktap/drivers/tapdisk.c -+++ xen-4.4.0-testing/tools/blktap/drivers/tapdisk.c +--- xen-4.5.0-testing.orig/tools/blktap/drivers/tapdisk.c ++++ xen-4.5.0-testing/tools/blktap/drivers/tapdisk.c @@ -735,6 +735,22 @@ static void get_io_request(struct td_sta goto out; } @@ -632,10 +632,10 @@ default: DPRINTF("Unknown block operation\n"); break; -Index: xen-4.4.0-testing/tools/blktap/drivers/tapdisk.h +Index: xen-4.5.0-testing/tools/blktap/drivers/tapdisk.h =================================================================== ---- xen-4.4.0-testing.orig/tools/blktap/drivers/tapdisk.h -+++ xen-4.4.0-testing/tools/blktap/drivers/tapdisk.h +--- xen-4.5.0-testing.orig/tools/blktap/drivers/tapdisk.h ++++ xen-4.5.0-testing/tools/blktap/drivers/tapdisk.h @@ -137,6 +137,9 @@ struct tap_disk { int (*td_get_parent_id) (struct disk_driver *dd, struct disk_id *id); int (*td_validate_parent)(struct disk_driver *dd, @@ -680,10 +680,10 @@ }; typedef struct driver_list_entry { -Index: xen-4.4.0-testing/tools/blktap/lib/blktaplib.h +Index: xen-4.5.0-testing/tools/blktap/lib/blktaplib.h =================================================================== ---- xen-4.4.0-testing.orig/tools/blktap/lib/blktaplib.h -+++ xen-4.4.0-testing/tools/blktap/lib/blktaplib.h +--- xen-4.5.0-testing.orig/tools/blktap/lib/blktaplib.h ++++ xen-4.5.0-testing/tools/blktap/lib/blktaplib.h @@ -219,6 +219,7 @@ typedef struct msg_pid { #define DISK_TYPE_RAM 3 #define DISK_TYPE_QCOW 4 @@ -692,11 +692,11 @@ /* xenstore/xenbus: */ #define DOMNAME "Domain-0" -Index: xen-4.4.0-testing/xen/include/public/io/blkif.h +Index: xen-4.5.0-testing/xen/include/public/io/blkif.h =================================================================== ---- xen-4.4.0-testing.orig/xen/include/public/io/blkif.h -+++ xen-4.4.0-testing/xen/include/public/io/blkif.h -@@ -453,7 +453,7 @@ +--- xen-4.5.0-testing.orig/xen/include/public/io/blkif.h ++++ xen-4.5.0-testing/xen/include/public/io/blkif.h +@@ -485,7 +485,7 @@ * Used in SLES sources for device specific command packet * contained within the request. Reserved for that purpose. */ @@ -705,10 +705,10 @@ /* * Indicate to the backend device that a region of storage is no longer in * use, and may be discarded at any time without impact to the client. If -Index: xen-4.4.0-testing/xen/include/public/io/cdromif.h +Index: xen-4.5.0-testing/xen/include/public/io/cdromif.h =================================================================== --- /dev/null -+++ xen-4.4.0-testing/xen/include/public/io/cdromif.h ++++ xen-4.5.0-testing/xen/include/public/io/cdromif.h @@ -0,0 +1,122 @@ +/****************************************************************************** + * cdromif.h ++++++ blktap.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -1,19 +1,6 @@ bug #239173 bug #242953 -Index: xen-4.4.0-testing/tools/python/xen/xend/XendDomainInfo.py -=================================================================== ---- xen-4.4.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.4.0-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -3281,7 +3281,7 @@ class XendDomainInfo: - (fn, BOOTLOADER_LOOPBACK_DEVICE)) - - vbd = { -- 'mode': 'RO', -+ 'mode': 'RW', - 'device': BOOTLOADER_LOOPBACK_DEVICE, - } - Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c =================================================================== --- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c ++++++ block-dmmd ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -94,16 +94,8 @@ function activate_lvm() { local run_timeout=90 - local parsed_timeout local end_time - # Parse device-create-timeout from /etc/xen/xend-config.sxp - # If not set, use default timeout of 90s - parsed_timeout=$(grep -v "^[ \t]*#.*" /etc/xen/xend-config.sxp|sed -n 's/(device-create-timeout \+\([0-9]\+\))/\1/p') - if [ ! -z $parsed_timeout ]; then - run_timeout=$((${parsed_timeout}*9/10)) - fi - end_time=$(($(date +%s)+${run_timeout})) while true; do /sbin/lvchange -aey $1 ++++++ build-tapdisk-ioemu.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -8,24 +8,27 @@ being built. This patch re-enables the build of tapdisk-ioemu. Signed-off-by: Kevin Wolf <[email protected]> ---- - Makefile | 22 +++++++++++++++------- - configure | 2 +- - qemu-tool.c | 2 +- - tapdisk-ioemu.c | 17 ----------------- - 4 files changed, 17 insertions(+), 26 deletions(-) -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak +@@ -1,3 +1,4 @@ ++CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc + CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include + CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include + CPPFLAGS+= -I$(XEN_ROOT)/tools/include +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile +=================================================================== +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile @@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem recurse-all: $(SUBDIR_RULES) --CPPFLAGS += -I$(XEN_ROOT)/tools/libxc +-CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include -CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib --CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore +-CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include -CPPFLAGS += -I$(XEN_ROOT)/tools/include - -tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c @@ -46,9 +49,9 @@ +tapdisk-ioemu.o: tapdisk-ioemu.c + $(CC) $(CFLAGS) $(CPPFLAGS) -DQEMU_IMG -DQEMU_TOOL -c -o $@ $< + -+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc ++tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib -+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore ++tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/include +tapdisk-ioemu: tapdisk-ioemu.o $(BLOCK_OBJS) qemu-tool.o hw/tapdisk-xen_blktap.o + $(CC) $(LDFLAGS) -o $@ $^ -lz $(LIBS) @@ -56,10 +59,10 @@ ###################################################################### # libqemu_common.a: Target independent part of system emulation. The # long term path is to suppress *all* target specific code in case of -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/configure +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/configure =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/configure -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/configure +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/configure ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/configure @@ -1512,7 +1512,7 @@ bsd) ;; esac @@ -69,10 +72,10 @@ if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then tools="qemu-img\$(EXESUF) $tools" if [ "$linux" = "yes" ] ; then -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-tool.c -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-tool.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c @@ -68,7 +68,7 @@ void qemu_bh_delete(QEMUBH *bh) qemu_free(bh); } @@ -82,10 +85,10 @@ IOCanRWHandler *fd_read_poll, IOHandler *fd_read, IOHandler *fd_write, -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c @@ -12,34 +12,12 @@ extern void qemu_aio_init(void); ++++++ cdrom-removable.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -1,402 +1,3 @@ -Index: xen-4.4.0-testing/tools/python/xen/xend/server/HalDaemon.py -=================================================================== ---- /dev/null -+++ xen-4.4.0-testing/tools/python/xen/xend/server/HalDaemon.py -@@ -0,0 +1,243 @@ -+#!/usr/bin/env python -+# -*- mode: python; -*- -+#============================================================================ -+# This library is free software; you can redistribute it and/or -+# modify it under the terms of version 2.1 of the GNU Lesser General Public -+# License as published by the Free Software Foundation. -+# -+# This library is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public -+# License along with this library; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+#============================================================================ -+# Copyright (C) 2007 Pat Campbell <[email protected]> -+# Copyright (C) 2007 Novell Inc. -+#============================================================================ -+ -+"""hald (Hardware Abstraction Layer Daemon) watcher for Xen management -+ of removable block device media. -+ -+""" -+ -+import gobject -+import dbus -+import dbus.glib -+import os -+import types -+import sys -+import signal -+import traceback -+from xen.xend.xenstore.xstransact import xstransact, complete -+from xen.xend.xenstore.xsutil import xshandle -+from xen.xend import PrettyPrint -+from xen.xend import XendLogging -+from xen.xend.XendLogging import log -+ -+DEVICE_TYPES = ['vbd', 'tap'] -+ -+class HalDaemon: -+ """The Hald block device watcher for XEN -+ """ -+ -+ """Default path to the log file. """ -+ logfile_default = "/var/log/xen/hald.log" -+ -+ """Default level of information to be logged.""" -+ loglevel_default = 'INFO' -+ -+ -+ def __init__(self): -+ -+ XendLogging.init(self.logfile_default, self.loglevel_default) -+ log.debug( "%s", "__init__") -+ -+ self.udi_dict = {} -+ self.debug = 0 -+ self.dbpath = "/local/domain/0/backend" -+ self.bus = dbus.SystemBus() -+ self.hal_manager_obj = self.bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager') -+ self.hal_manager = dbus.Interface( self.hal_manager_obj, 'org.freedesktop.Hal.Manager') -+ self.gatherBlockDevices() -+ self.registerDeviceCallbacks() -+ -+ def run(self): -+ log.debug( "%s", "In new run" ); -+ try: -+ self.mainloop = gobject.MainLoop() -+ self.mainloop.run() -+ except KeyboardInterrupt, ex: -+ log.debug('Keyboard exception handler: %s', ex ) -+ self.mainloop.quit() -+ except Exception, ex: -+ log.debug('Generic exception handler: %s', ex ) -+ self.mainloop.quit() -+ -+ def __del__(self): -+ log.debug( "%s", "In del " ); -+ self.unRegisterDeviceCallbacks() -+ self.mainloop.quit() -+ -+ def shutdown(self): -+ log.debug( "%s", "In shutdown now " ); -+ self.unRegisterDeviceCallbacks() -+ self.mainloop.quit() -+ -+ def stop(self): -+ log.debug( "%s", "In stop now " ); -+ self.unRegisterDeviceCallbacks() -+ self.mainloop.quit() -+ -+ def gatherBlockDevices(self): -+ -+ # Get all the current devices from hal and save in a dictionary -+ try: -+ device_names = self.hal_manager.GetAllDevices() -+ i = 0; -+ for name in device_names: -+ #log.debug("device name, device=%s",name) -+ dev_obj = self.bus.get_object ('org.freedesktop.Hal', name) -+ dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device') -+ dev_properties = dev_obj.GetAllProperties(dbus_interface="org.freedesktop.Hal.Device") -+ if dev_properties.has_key('block.device'): -+ dev_str = dev_properties['block.device'] -+ dev_major = dev_properties['block.major'] -+ dev_minor = dev_properties['block.minor'] -+ udi_info = {} -+ udi_info['device'] = dev_str -+ udi_info['major'] = dev_major -+ udi_info['minor'] = dev_minor -+ udi_info['udi'] = name -+ self.udi_dict[i] = udi_info -+ i = i + 1 -+ except Exception, ex: -+ print >>sys.stderr, 'Exception gathering block devices:', ex -+ log.warn("Exception gathering block devices (%s)",ex) -+ -+ # -+ def registerDeviceCallbacks(self): -+ # setup the callbacks for when the gdl changes -+ self.hal_manager.connect_to_signal('DeviceAdded', self.device_added_callback) -+ self.hal_manager.connect_to_signal('DeviceRemoved', self.device_removed_callback) -+ -+ # -+ def unRegisterDeviceCallbacks(self): -+ # setup the callbacks for when the gdl changes -+ self.hal_manager.remove_signal_receiver(self.device_added_callback,'DeviceAdded') -+ self.hal_manager.remove_signal_receiver(self.device_removed_callback,'DeviceRemoved') -+ -+ # -+ def device_removed_callback(self,udi): -+ log.debug('UDI %s was removed',udi) -+ self.show_dict(self.udi_dict) -+ for key in self.udi_dict: -+ udi_info = self.udi_dict[key] -+ if udi_info['udi'] == udi: -+ device = udi_info['device'] -+ major = udi_info['major'] -+ minor = udi_info['minor'] -+ self.change_xenstore( "remove", device, major, minor) -+ -+ # Adds device to dictionary if not already there -+ def device_added_callback(self,udi): -+ log.debug('UDI %s was added', udi) -+ self.show_dict(self.udi_dict) -+ dev_obj = self.bus.get_object ('org.freedesktop.Hal', udi) -+ dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device') -+ device = dev.GetProperty ('block.device') -+ major = dev.GetProperty ('block.major') -+ minor = dev.GetProperty ('block.minor') -+ udi_info = {} -+ udi_info['device'] = device -+ udi_info['major'] = major -+ udi_info['minor'] = minor -+ udi_info['udi'] = udi -+ already = 0 -+ cnt = 0; -+ for key in self.udi_dict: -+ info = self.udi_dict[key] -+ if info['udi'] == udi: -+ already = 1 -+ break -+ cnt = cnt + 1 -+ if already == 0: -+ self.udi_dict[cnt] = udi_info; -+ log.debug('UDI %s was added, device:%s major:%s minor:%s index:%d\n', udi, device, major, minor, cnt) -+ self.change_xenstore( "add", device, major, minor) -+ -+ # Debug helper, shows dictionary contents -+ def show_dict(self,dict=None): -+ if self.debug == 0 : -+ return -+ if dict == None : -+ dict = self.udi_dict -+ for key in dict: -+ log.debug('udi_info %s udi_info:%s',key,dict[key]) -+ -+ # Set or clear xenstore media-present depending on the action argument -+ # for every vbd that has this block device -+ def change_xenstore(self,action, device, major, minor): -+ for type in DEVICE_TYPES: -+ path = self.dbpath + '/' + type -+ domains = xstransact.List(path) -+ log.debug('domains: %s', domains) -+ for domain in domains: # for each domain -+ devices = xstransact.List( path + '/' + domain) -+ log.debug('devices: %s',devices) -+ for device in devices: # for each vbd device -+ str = device.split('/') -+ vbd_type = None; -+ vbd_physical_device = None -+ vbd_media = None -+ vbd_device_path = path + '/' + domain + '/' + device -+ listing = xstransact.List(vbd_device_path) -+ for entry in listing: # for each entry -+ item = path + '/' + entry -+ value = xstransact.Read( vbd_device_path + '/' + entry) -+ log.debug('%s=%s',item,value) -+ if item.find('media-present') != -1: -+ vbd_media = item; -+ vbd_media_path = item -+ if item.find('physical-device') != -1: -+ vbd_physical_device = value; -+ if item.find('type') != -1: -+ vbd_type = value; -+ if vbd_type is not None and vbd_physical_device is not None and vbd_media is not None : -+ inode = vbd_physical_device.split(':') -+ imajor = parse_hex(inode[0]) -+ iminor = parse_hex(inode[1]) -+ log.debug("action:%s major:%s- minor:%s- imajor:%s- iminor:%s- inode: %s", -+ action,major,minor, imajor, iminor, inode) -+ if int(imajor) == int(major) and int(iminor) == int(minor): -+ if action == "add": -+ xs_dict = {'media': "1"} -+ xstransact.Write(vbd_device_path, 'media-present', "1" ) -+ log.debug("wrote xenstore media-present 1 path:%s",vbd_media_path) -+ else: -+ xstransact.Write(vbd_device_path, 'media-present', "0" ) -+ log.debug("wrote xenstore media 0 path:%s",vbd_media_path) -+ -+def mylog( fmt, *args): -+ f = open('/tmp/haldaemon.log', 'a') -+ print >>f, "HalDaemon ", fmt % args -+ f.close() -+ -+ -+def parse_hex(val): -+ try: -+ if isinstance(val, types.StringTypes): -+ return int(val, 16) -+ else: -+ return val -+ except ValueError: -+ return None -+ -+if __name__ == "__main__": -+ watcher = HalDaemon() -+ watcher.run() -+ print 'Falling off end' -+ -+ -Index: xen-4.4.0-testing/tools/python/xen/xend/server/Hald.py -=================================================================== ---- /dev/null -+++ xen-4.4.0-testing/tools/python/xen/xend/server/Hald.py -@@ -0,0 +1,125 @@ -+#============================================================================ -+# This library is free software; you can redistribute it and/or -+# modify it under the terms of version 2.1 of the GNU Lesser General Public -+# License as published by the Free Software Foundation. -+# -+# This library is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public -+# License along with this library; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+#============================================================================ -+# Copyright (C) 2007 Pat Campbell <[email protected]> -+# Copyright (C) 2007 Novell Inc. -+#============================================================================ -+ -+import errno -+import types -+import os -+import sys -+import time -+import signal -+from traceback import print_exc -+ -+from xen.xend.XendLogging import log -+ -+class Hald: -+ def __init__(self): -+ self.ready = False -+ self.running = True -+ -+ def run(self): -+ """Starts the HalDaemon process -+ """ -+ self.ready = True -+ try: -+ myfile = self.find("xen/xend/server/HalDaemon.py") -+ args = (["python", myfile ]) -+ self.pid = self.daemonize("python", args ) -+ #log.debug( "%s %s pid:%d", "Hald.py starting ", args, self.pid ) -+ except: -+ self.pid = -1 -+ log.debug("Unable to start HalDaemon process") -+ -+ def shutdown(self): -+ """Shutdown the HalDaemon process -+ """ -+ log.debug("%s pid:%d", "Hald.shutdown()", self.pid) -+ self.running = False -+ self.ready = False -+ if self.pid != -1: -+ try: -+ os.kill(self.pid, signal.SIGINT) -+ except: -+ print_exc() -+ -+ def daemonize(self,prog, args): -+ """Runs a program as a daemon with the list of arguments. Returns the PID -+ of the daemonized program, or returns 0 on error. -+ Copied from xm/create.py instead of importing to reduce coupling -+ """ -+ r, w = os.pipe() -+ pid = os.fork() -+ -+ if pid == 0: -+ os.close(r) -+ w = os.fdopen(w, 'w') -+ os.setsid() -+ try: -+ pid2 = os.fork() -+ except: -+ pid2 = None -+ if pid2 == 0: -+ os.chdir("/") -+ env = os.environ.copy() -+ env['PYTHONPATH'] = self.getpythonpath() -+ for fd in range(0, 256): -+ try: -+ os.close(fd) -+ except: -+ pass -+ os.open("/dev/null", os.O_RDWR) -+ os.dup2(0, 1) -+ os.dup2(0, 2) -+ os.execvpe(prog, args, env) -+ os._exit(1) -+ else: -+ w.write(str(pid2 or 0)) -+ w.close() -+ os._exit(0) -+ os.close(w) -+ r = os.fdopen(r) -+ daemon_pid = int(r.read()) -+ r.close() -+ os.waitpid(pid, 0) -+ #log.debug( "daemon_pid: %d", daemon_pid ) -+ return daemon_pid -+ -+ def getpythonpath(self): -+ str = " " -+ for p in sys.path: -+ if str != " ": -+ str = str + ":" + p -+ else: -+ if str != "": -+ str = p -+ return str -+ -+ def find(self,path, matchFunc=os.path.isfile): -+ """Find a module in the sys.path -+ From web page: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52224 -+ """ -+ for dirname in sys.path: -+ candidate = os.path.join(dirname, path) -+ if matchFunc(candidate): -+ return candidate -+ raise Error("Can't find file %s" % path) -+ -+if __name__ == "__main__": -+ watcher = Hald() -+ watcher.run() -+ time.sleep(10) -+ watcher.shutdown() -Index: xen-4.4.0-testing/tools/python/xen/xend/server/SrvServer.py -=================================================================== ---- xen-4.4.0-testing.orig/tools/python/xen/xend/server/SrvServer.py -+++ xen-4.4.0-testing/tools/python/xen/xend/server/SrvServer.py -@@ -57,6 +57,7 @@ from xen.web.SrvDir import SrvDir - - from SrvRoot import SrvRoot - from XMLRPCServer import XMLRPCServer -+from xen.xend.server.Hald import Hald - - xoptions = XendOptions.instance() - -@@ -252,6 +253,8 @@ def _loadConfig(servers, root, reload): - if xoptions.get_xend_unix_xmlrpc_server(): - servers.add(XMLRPCServer(XendAPI.AUTH_PAM, False)) - -+ servers.add(Hald()) -+ - - def create(): - root = SrvDir() Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c =================================================================== --- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c ++++++ ioemu-blktap-zero-size.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -29,16 +29,3 @@ s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0); #ifndef QEMU_TOOL -Index: xen-4.2.0-testing/tools/python/xen/xend/server/DevController.py -=================================================================== ---- xen-4.2.0-testing.orig/tools/python/xen/xend/server/DevController.py -+++ xen-4.2.0-testing/tools/python/xen/xend/server/DevController.py -@@ -155,7 +155,7 @@ class DevController: - (devid, self.deviceClass)) - - elif status == Error: -- self.destroyDevice(devid, False) -+ self.destroyDevice(devid, True) - if err is None: - raise VmError("Device %s (%s) could not be connected. " - "Backend device not found." % ++++++ ioemu-disable-emulated-ide-if-pv.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100 @@ -1,7 +1,7 @@ -Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h =================================================================== ---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h -+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h @@ -1,6 +1,8 @@ #ifndef QEMU_XEN_H #define QEMU_XEN_H @@ -20,10 +20,10 @@ int xenstore_parse_disable_pf_config(void); int xenstore_fd(void); void xenstore_process_event(void *opaque); -Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/vl.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c =================================================================== ---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c -+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/vl.c +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c @@ -5862,9 +5862,9 @@ int main(int argc, char **argv, char **e if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s))) fprintf(stderr,"Can not read our own domid: %s\n", msg); @@ -36,11 +36,11 @@ #endif /* CONFIG_STUBDOM */ } -Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c =================================================================== ---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c -+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c -@@ -446,7 +446,7 @@ void xenstore_init(void) +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +@@ -445,7 +445,7 @@ void xenstore_init(void) } } @@ -49,7 +49,7 @@ { char **e_danger = NULL; char *buf = NULL; -@@ -740,11 +740,19 @@ void xenstore_parse_domain_config(int hv +@@ -739,11 +739,19 @@ void xenstore_parse_domain_config(int hv #endif ++++++ ipxe.tar.bz2 ++++++ ++++++ libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100 @@ -7,25 +7,25 @@ tools/libxl/libxlu_disk_l.l | 1 + 5 files changed, 18 insertions(+), 1 deletion(-) -Index: xen-4.4.0-testing/tools/libxl/libxl.c +Index: xen-4.5.0-testing/tools/libxl/libxl.c =================================================================== ---- xen-4.4.0-testing.orig/tools/libxl/libxl.c -+++ xen-4.4.0-testing/tools/libxl/libxl.c -@@ -2488,6 +2488,8 @@ static void device_disk_add(libxl__egc * - flexarray_append_pair(back, "direct-io-safe", "1"); - if ((disk->readwrite & ~LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK) == LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MAGIC) - flexarray_append_pair(back, "discard-enable", "0"); +--- xen-4.5.0-testing.orig/tools/libxl/libxl.c ++++ xen-4.5.0-testing/tools/libxl/libxl.c +@@ -2771,6 +2771,8 @@ static void device_disk_add(libxl__egc * + flexarray_append_pair(back, "discard-enable", + libxl_defbool_val(disk->discard_enable) ? + "1" : "0"); + if ((disk->readwrite & ~LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MASK) == LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MAGIC) + flexarray_append_pair(back, "suse-diskcache-disable-flush", "1"); flexarray_append(front, "backend-id"); flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid)); -Index: xen-4.4.0-testing/tools/libxl/libxl.h +Index: xen-4.5.0-testing/tools/libxl/libxl.h =================================================================== ---- xen-4.4.0-testing.orig/tools/libxl/libxl.h -+++ xen-4.4.0-testing/tools/libxl/libxl.h -@@ -118,6 +118,18 @@ - #define LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK 0xffffff0fU +--- xen-4.5.0-testing.orig/tools/libxl/libxl.h ++++ xen-4.5.0-testing/tools/libxl/libxl.h +@@ -163,6 +163,18 @@ + #define LIBXL_HAVE_BUILDINFO_HVM_MMIO_HOLE_MEMKB 1 /* + * The libxl_device_disk has no way to indicate that cache=unsafe is @@ -43,40 +43,40 @@ * libxl ABI compatibility * * The only guarantee which libxl makes regarding ABI compatibility -Index: xen-4.4.0-testing/tools/libxl/libxlu_disk.c +Index: xen-4.5.0-testing/tools/libxl/libxlu_disk.c =================================================================== ---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk.c -+++ xen-4.4.0-testing/tools/libxl/libxlu_disk.c -@@ -84,6 +84,8 @@ int xlu_disk_parse(XLU_Config *cfg, - disk->readwrite = (disk->readwrite & LIBXL_HAVE_LIBXL_DEVICE_DISK_DIRECT_IO_SAFE_MASK) | LIBXL_HAVE_LIBXL_DEVICE_DISK_DIRECT_IO_SAFE_MAGIC; - if (disk->readwrite && dpc.disable_discard) - disk->readwrite = (disk->readwrite & LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK) | LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MAGIC; +--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk.c ++++ xen-4.5.0-testing/tools/libxl/libxlu_disk.c +@@ -79,6 +79,8 @@ int xlu_disk_parse(XLU_Config *cfg, + if (!disk->pdev_path || !strcmp(disk->pdev_path, "")) + disk->format = LIBXL_DISK_FORMAT_EMPTY; + } + if (disk->readwrite && dpc.suse_diskcache_disable_flush) + disk->readwrite = (disk->readwrite & LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MASK) | LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MAGIC; if (!disk->vdev) { xlu__disk_err(&dpc,0, "no vdev specified"); -Index: xen-4.4.0-testing/tools/libxl/libxlu_disk_i.h +Index: xen-4.5.0-testing/tools/libxl/libxlu_disk_i.h =================================================================== ---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk_i.h -+++ xen-4.4.0-testing/tools/libxl/libxlu_disk_i.h +--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk_i.h ++++ xen-4.5.0-testing/tools/libxl/libxlu_disk_i.h @@ -10,7 +10,7 @@ typedef struct { void *scanner; YY_BUFFER_STATE buf; libxl_device_disk *disk; -- int access_set, direct_io_safe, disable_discard, had_depr_prefix; -+ int access_set, suse_diskcache_disable_flush, direct_io_safe, disable_discard, had_depr_prefix; +- int access_set, had_depr_prefix; ++ int access_set, suse_diskcache_disable_flush, had_depr_prefix; const char *spec; } DiskParseContext; -Index: xen-4.4.0-testing/tools/libxl/libxlu_disk_l.l +Index: xen-4.5.0-testing/tools/libxl/libxlu_disk_l.l =================================================================== ---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk_l.l -+++ xen-4.4.0-testing/tools/libxl/libxlu_disk_l.l +--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk_l.l ++++ xen-4.5.0-testing/tools/libxl/libxlu_disk_l.l @@ -176,6 +176,7 @@ script=[^,]*,? { STRIP(','); SAVESTRING( - direct-io-safe,? { DPC->direct_io_safe = 1; } - discard,? { DPC->disable_discard = 0; } - no-discard,? { DPC->disable_discard = 1; } + direct-io-safe,? { DPC->disk->direct_io_safe = 1; } + discard,? { libxl_defbool_set(&DPC->disk->discard_enable, true); } + no-discard,? { libxl_defbool_set(&DPC->disk->discard_enable, false); } +suse-diskcache-disable-flush,? { DPC->suse_diskcache_disable_flush = 1; } /* the target magic parameter, eats the rest of the string */ ++++++ libxl.pvscsi.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100 @@ -31,11 +31,11 @@ 7de6f49 support character devices too c84381b allow /dev/sda as scsi devspec f11e3a2 pvscsi -Index: xen-4.4.1-testing/docs/man/xl.cfg.pod.5 +Index: xen-4.5.0-testing/docs/man/xl.cfg.pod.5 =================================================================== ---- xen-4.4.1-testing.orig/docs/man/xl.cfg.pod.5 -+++ xen-4.4.1-testing/docs/man/xl.cfg.pod.5 -@@ -411,6 +411,36 @@ value is optional if this is a guest dom +--- xen-4.5.0-testing.orig/docs/man/xl.cfg.pod.5 ++++ xen-4.5.0-testing/docs/man/xl.cfg.pod.5 +@@ -448,6 +448,36 @@ value is optional if this is a guest dom =back @@ -72,11 +72,11 @@ =item B<vfb=[ "VFB_SPEC_STRING", "VFB_SPEC_STRING", ...]> Specifies the paravirtual framebuffer devices which should be supplied -Index: xen-4.4.1-testing/docs/man/xl.pod.1 +Index: xen-4.5.0-testing/docs/man/xl.pod.1 =================================================================== ---- xen-4.4.1-testing.orig/docs/man/xl.pod.1 -+++ xen-4.4.1-testing/docs/man/xl.pod.1 -@@ -1208,6 +1208,26 @@ List virtual trusted platform modules fo +--- xen-4.5.0-testing.orig/docs/man/xl.pod.1 ++++ xen-4.5.0-testing/docs/man/xl.pod.1 +@@ -1323,6 +1323,26 @@ List virtual trusted platform modules fo =back @@ -103,11 +103,11 @@ =head1 PCI PASS-THROUGH =over 4 -Index: xen-4.4.1-testing/tools/libxl/libxl.c +Index: xen-4.5.0-testing/tools/libxl/libxl.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl.c -+++ xen-4.4.1-testing/tools/libxl/libxl.c -@@ -2021,6 +2021,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx +--- xen-4.5.0-testing.orig/tools/libxl/libxl.c ++++ xen-4.5.0-testing/tools/libxl/libxl.c +@@ -2263,6 +2263,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx return rc; } @@ -381,7 +381,7 @@ /******************************************************************************/ -@@ -3489,6 +3756,8 @@ out: +@@ -4138,6 +4405,8 @@ out: * libxl_device_vkb_destroy * libxl_device_vfb_remove * libxl_device_vfb_destroy @@ -390,9 +390,9 @@ */ #define DEFINE_DEVICE_REMOVE(type, removedestroy, f) \ int libxl_device_##type##_##removedestroy(libxl_ctx *ctx, \ -@@ -3540,6 +3809,10 @@ DEFINE_DEVICE_REMOVE(vfb, destroy, 1) - DEFINE_DEVICE_REMOVE(vtpm, remove, 0) - DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) +@@ -4193,6 +4462,10 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) + * 1. add support for secondary consoles to xenconsoled + * 2. dynamically add/remove qemu chardevs via qmp messages. */ +/* vscsi */ +DEFINE_DEVICE_REMOVE(vscsi, remove, 0) @@ -401,7 +401,7 @@ #undef DEFINE_DEVICE_REMOVE /******************************************************************************/ -@@ -3549,6 +3822,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) +@@ -4202,6 +4475,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) * libxl_device_disk_add * libxl_device_nic_add * libxl_device_vtpm_add @@ -409,7 +409,7 @@ */ #define DEFINE_DEVICE_ADD(type) \ -@@ -3578,6 +3852,9 @@ DEFINE_DEVICE_ADD(nic) +@@ -4233,6 +4507,9 @@ DEFINE_DEVICE_ADD(nic) /* vtpm */ DEFINE_DEVICE_ADD(vtpm) @@ -419,9 +419,9 @@ #undef DEFINE_DEVICE_ADD /******************************************************************************/ -@@ -5683,6 +5960,20 @@ int libxl_fd_set_cloexec(libxl_ctx *ctx, - int libxl_fd_set_nonblock(libxl_ctx *ctx, int fd, int nonblock) - { return fd_set_flags(ctx,fd, F_GETFL,F_SETFL,"FL", O_NONBLOCK, nonblock); } +@@ -6769,6 +7046,20 @@ out: + return rc; + } +/* libxl.so.4.4 ABI compatilibity hack - do not do this at home */ +static libxl_device_vscsi_suse* libxl__global_vscsi_list_suse; @@ -440,11 +440,11 @@ /* * Local variables: * mode: C -Index: xen-4.4.1-testing/tools/libxl/libxl.h +Index: xen-4.5.0-testing/tools/libxl/libxl.h =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl.h -+++ xen-4.4.1-testing/tools/libxl/libxl.h -@@ -966,6 +966,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis +--- xen-4.5.0-testing.orig/tools/libxl/libxl.h ++++ xen-4.5.0-testing/tools/libxl/libxl.h +@@ -1228,6 +1228,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis int libxl_device_vtpm_getinfo(libxl_ctx *ctx, uint32_t domid, libxl_device_vtpm *vtpm, libxl_vtpminfo *vtpminfo); @@ -471,7 +471,7 @@ /* Keyboard */ int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb, const libxl_asyncop_how *ao_how) -@@ -1181,6 +1201,27 @@ int libxl_fd_set_nonblock(libxl_ctx *ctx +@@ -1485,6 +1505,27 @@ int libxl_fd_set_nonblock(libxl_ctx *ctx #include <libxl_event.h> @@ -499,11 +499,11 @@ #endif /* LIBXL_H */ /* -Index: xen-4.4.1-testing/tools/libxl/libxl_create.c +Index: xen-4.5.0-testing/tools/libxl/libxl_create.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_create.c -+++ xen-4.4.1-testing/tools/libxl/libxl_create.c -@@ -1048,6 +1048,7 @@ static void domcreate_rebuild_done(libxl +--- xen-4.5.0-testing.orig/tools/libxl/libxl_create.c ++++ xen-4.5.0-testing/tools/libxl/libxl_create.c +@@ -1128,6 +1128,7 @@ static void domcreate_rebuild_done(libxl libxl__multidev_begin(ao, &dcs->multidev); dcs->multidev.callback = domcreate_launch_dm; libxl__add_disks(egc, ao, domid, d_config, &dcs->multidev); @@ -511,11 +511,11 @@ libxl__multidev_prepared(egc, &dcs->multidev, 0); return; -Index: xen-4.4.1-testing/tools/libxl/libxl_device.c +Index: xen-4.5.0-testing/tools/libxl/libxl_device.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_device.c -+++ xen-4.4.1-testing/tools/libxl/libxl_device.c -@@ -523,6 +523,7 @@ void libxl__multidev_prepared(libxl__egc +--- xen-4.5.0-testing.orig/tools/libxl/libxl_device.c ++++ xen-4.5.0-testing/tools/libxl/libxl_device.c +@@ -541,6 +541,7 @@ void libxl__multidev_prepared(libxl__egc * The following functions are defined: * libxl__add_disks * libxl__add_nics @@ -523,7 +523,7 @@ * libxl__add_vtpms */ -@@ -542,10 +543,32 @@ void libxl__multidev_prepared(libxl__egc +@@ -560,10 +561,32 @@ void libxl__multidev_prepared(libxl__egc DEFINE_DEVICES_ADD(disk) DEFINE_DEVICES_ADD(nic) @@ -556,11 +556,11 @@ /******************************************************************************/ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) -Index: xen-4.4.1-testing/tools/libxl/libxl_internal.h +Index: xen-4.5.0-testing/tools/libxl/libxl_internal.h =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_internal.h -+++ xen-4.4.1-testing/tools/libxl/libxl_internal.h -@@ -982,6 +982,7 @@ _hidden int libxl__device_disk_setdefaul +--- xen-4.5.0-testing.orig/tools/libxl/libxl_internal.h ++++ xen-4.5.0-testing/tools/libxl/libxl_internal.h +@@ -1079,6 +1079,7 @@ _hidden int libxl__device_disk_setdefaul _hidden int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic, uint32_t domid); _hidden int libxl__device_vtpm_setdefault(libxl__gc *gc, libxl_device_vtpm *vtpm); @@ -568,7 +568,7 @@ _hidden int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb); _hidden int libxl__device_vkb_setdefault(libxl__gc *gc, libxl_device_vkb *vkb); _hidden int libxl__device_pci_setdefault(libxl__gc *gc, libxl_device_pci *pci); -@@ -2082,6 +2083,10 @@ _hidden void libxl__device_vtpm_add(libx +@@ -2390,6 +2391,10 @@ _hidden void libxl__device_vtpm_add(libx libxl_device_vtpm *vtpm, libxl__ao_device *aodev); @@ -579,7 +579,7 @@ /* Internal function to connect a vkb device */ _hidden int libxl__device_vkb_add(libxl__gc *gc, uint32_t domid, libxl_device_vkb *vkb); -@@ -2522,6 +2527,10 @@ _hidden void libxl__add_vtpms(libxl__egc +@@ -3013,6 +3018,10 @@ _hidden void libxl__add_vtpms(libxl__egc libxl_domain_config *d_config, libxl__multidev *multidev); @@ -590,12 +590,12 @@ /*----- device model creation -----*/ /* First layer; wraps libxl__spawn_spawn. */ -Index: xen-4.4.1-testing/tools/libxl/libxl_types.idl +Index: xen-4.5.0-testing/tools/libxl/libxl_types.idl =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_types.idl -+++ xen-4.4.1-testing/tools/libxl/libxl_types.idl -@@ -456,6 +456,26 @@ libxl_device_vtpm = Struct("device_vtpm" - ("uuid", libxl_uuid), +--- xen-4.5.0-testing.orig/tools/libxl/libxl_types.idl ++++ xen-4.5.0-testing/tools/libxl/libxl_types.idl +@@ -539,6 +539,26 @@ libxl_device_channel = Struct("device_ch + ])), ]) +libxl_vscsi_dev = Struct("vscsi_dev", [ @@ -621,16 +621,16 @@ libxl_domain_config = Struct("domain_config", [ ("c_info", libxl_domain_create_info), ("b_info", libxl_domain_build_info), -@@ -466,6 +486,8 @@ libxl_domain_config = Struct("domain_con - ("vfbs", Array(libxl_device_vfb, "num_vfbs")), - ("vkbs", Array(libxl_device_vkb, "num_vkbs")), - ("vtpms", Array(libxl_device_vtpm, "num_vtpms")), +@@ -552,6 +572,8 @@ libxl_domain_config = Struct("domain_con + # a channel manifests as a console with a name, + # see docs/misc/channels.txt + ("channels", Array(libxl_device_channel, "num_channels")), +# preserve libxl.so.4.4 ABI +# ("vscsis", Array(libxl_device_vscsi, "num_vscsis")), ("on_poweroff", libxl_action_on_shutdown), ("on_reboot", libxl_action_on_shutdown), -@@ -508,6 +530,28 @@ libxl_vtpminfo = Struct("vtpminfo", [ +@@ -594,6 +616,28 @@ libxl_vtpminfo = Struct("vtpminfo", [ ("uuid", libxl_uuid), ], dir=DIR_OUT) @@ -659,11 +659,11 @@ libxl_vcpuinfo = Struct("vcpuinfo", [ ("vcpuid", uint32), ("cpu", uint32), -Index: xen-4.4.1-testing/tools/libxl/libxl_types_internal.idl +Index: xen-4.5.0-testing/tools/libxl/libxl_types_internal.idl =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_types_internal.idl -+++ xen-4.4.1-testing/tools/libxl/libxl_types_internal.idl -@@ -20,6 +20,7 @@ libxl__device_kind = Enumeration("device +--- xen-4.5.0-testing.orig/tools/libxl/libxl_types_internal.idl ++++ xen-4.5.0-testing/tools/libxl/libxl_types_internal.idl +@@ -22,6 +22,7 @@ libxl__device_kind = Enumeration("device (6, "VKBD"), (7, "CONSOLE"), (8, "VTPM"), @@ -671,11 +671,11 @@ ]) libxl__console_backend = Enumeration("console_backend", [ -Index: xen-4.4.1-testing/tools/libxl/xl.h +Index: xen-4.5.0-testing/tools/libxl/xl.h =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/xl.h -+++ xen-4.4.1-testing/tools/libxl/xl.h -@@ -81,6 +81,9 @@ int main_networkdetach(int argc, char ** +--- xen-4.5.0-testing.orig/tools/libxl/xl.h ++++ xen-4.5.0-testing/tools/libxl/xl.h +@@ -83,6 +83,9 @@ int main_channellist(int argc, char **ar int main_blockattach(int argc, char **argv); int main_blocklist(int argc, char **argv); int main_blockdetach(int argc, char **argv); @@ -685,10 +685,10 @@ int main_vtpmattach(int argc, char **argv); int main_vtpmlist(int argc, char **argv); int main_vtpmdetach(int argc, char **argv); -Index: xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c +Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdimpl.c -+++ xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c +--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c @@ -17,6 +17,7 @@ #include "libxl_osdeps.h" @@ -702,10 +702,10 @@ #include <inttypes.h> #include <limits.h> +#include <dirent.h> + #include <xen/hvm/e820.h> #include "libxl.h" - #include "libxl_utils.h" -@@ -544,6 +546,122 @@ static void parse_vif_rate(XLU_Config ** +@@ -549,6 +551,122 @@ static void set_default_nic_values(libxl } } @@ -828,16 +828,16 @@ static void split_string_into_string_list(const char *str, const char *delim, libxl_string_list *psl) -@@ -763,7 +881,7 @@ static void parse_config_data(const char +@@ -918,7 +1036,7 @@ static void parse_config_data(const char const char *buf; long l; XLU_Config *config; - XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms; + XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms, *vscsis; - XLU_ConfigList *ioports, *irqs, *iomem; - int num_ioports, num_irqs, num_iomem; + XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian; + int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian; int pci_power_mgmt = 0; -@@ -1255,6 +1373,66 @@ static void parse_config_data(const char +@@ -1421,6 +1539,66 @@ static void parse_config_data(const char } } @@ -904,7 +904,7 @@ if (!xlu_cfg_get_list(config, "vtpm", &vtpms, 0, 0)) { d_config->num_vtpms = 0; d_config->vtpms = NULL; -@@ -6052,6 +6230,256 @@ int main_blockdetach(int argc, char **ar +@@ -6490,6 +6668,256 @@ int main_blockdetach(int argc, char **ar return rc; } @@ -1161,11 +1161,11 @@ int main_vtpmattach(int argc, char **argv) { int opt; -Index: xen-4.4.1-testing/tools/libxl/xl_cmdtable.c +Index: xen-4.5.0-testing/tools/libxl/xl_cmdtable.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdtable.c -+++ xen-4.4.1-testing/tools/libxl/xl_cmdtable.c -@@ -354,6 +354,21 @@ struct cmd_spec cmd_table[] = { +--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdtable.c ++++ xen-4.5.0-testing/tools/libxl/xl_cmdtable.c +@@ -372,6 +372,21 @@ struct cmd_spec cmd_table[] = { "Destroy a domain's virtual block device", "<Domain> <DevId>", }, ++++++ libxl.set-migration-constraints-from-cmdline.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100 @@ -75,9 +75,9 @@ Signed-off-by: Olaf Hering <[email protected]> --- docs/man/xl.pod.1 | 20 +++++++++++++++++++ - tools/libxc/xc_domain_save.c | 27 +++++++++++++++++++++++-- - tools/libxc/xc_nomigrate.c | 10 +++++++++ - tools/libxc/xenguest.h | 7 ++++++ + tools/libxc/include/xenguest.h | 6 +++++ + tools/libxc/xc_domain_save.c | 26 ++++++++++++++++++++++-- + tools/libxc/xc_nomigrate.c | 9 ++++++++ tools/libxl/libxl.c | 27 ++++++++++++++++++++++--- tools/libxl/libxl.h | 15 ++++++++++++++ tools/libxl/libxl_dom.c | 1 @@ -86,13 +86,13 @@ tools/libxl/libxl_save_helper.c | 4 ++- tools/libxl/xl_cmdimpl.c | 41 +++++++++++++++++++++++++++++++++------ tools/libxl/xl_cmdtable.c | 23 ++++++++++++++------- - 12 files changed, 162 insertions(+), 21 deletions(-) + 12 files changed, 159 insertions(+), 21 deletions(-) -Index: xen-4.4.1-testing/docs/man/xl.pod.1 +Index: xen-4.5.0-testing/docs/man/xl.pod.1 =================================================================== ---- xen-4.4.1-testing.orig/docs/man/xl.pod.1 -+++ xen-4.4.1-testing/docs/man/xl.pod.1 -@@ -392,6 +392,26 @@ Send <config> instead of config file fro +--- xen-4.5.0-testing.orig/docs/man/xl.pod.1 ++++ xen-4.5.0-testing/docs/man/xl.pod.1 +@@ -428,6 +428,26 @@ Send <config> instead of config file fro Print huge (!) amount of debug during the migration process. @@ -119,11 +119,35 @@ =back =item B<remus> [I<OPTIONS>] I<domain-id> I<host> -Index: xen-4.4.1-testing/tools/libxc/xc_domain_save.c +Index: xen-4.5.0-testing/tools/libxc/include/xenguest.h =================================================================== ---- xen-4.4.1-testing.orig/tools/libxc/xc_domain_save.c -+++ xen-4.4.1-testing/tools/libxc/xc_domain_save.c -@@ -43,6 +43,7 @@ +--- xen-4.5.0-testing.orig/tools/libxc/include/xenguest.h ++++ xen-4.5.0-testing/tools/libxc/include/xenguest.h +@@ -28,6 +28,7 @@ + #define XCFLAGS_HVM (1 << 2) + #define XCFLAGS_STDVGA (1 << 3) + #define XCFLAGS_CHECKPOINT_COMPRESS (1 << 4) ++#define XCFLAGS_DOMSAVE_ABORT_IF_BUSY (1 << 5) + + #define X86_64_B_SIZE 64 + #define X86_32_B_SIZE 32 +@@ -88,6 +89,11 @@ int xc_domain_save(xc_interface *xch, in + uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */, + struct save_callbacks* callbacks, int hvm); + ++int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters, ++ uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */, ++ uint32_t min_remaining, ++ struct save_callbacks* callbacks, int hvm); ++ + + /* callbacks provided by xc_domain_restore */ + struct restore_callbacks { +Index: xen-4.5.0-testing/tools/libxc/xc_domain_save.c +=================================================================== +--- xen-4.5.0-testing.orig/tools/libxc/xc_domain_save.c ++++ xen-4.5.0-testing/tools/libxc/xc_domain_save.c +@@ -44,6 +44,7 @@ */ #define DEF_MAX_ITERS 29 /* limit us to 30 times round loop */ #define DEF_MAX_FACTOR 3 /* never send more than 3x p2m_size */ @@ -131,7 +155,7 @@ struct save_ctx { unsigned long hvirt_start; /* virtual starting address of the hypervisor */ -@@ -798,8 +799,9 @@ static int save_tsc_info(xc_interface *x +@@ -800,8 +801,9 @@ static int save_tsc_info(xc_interface *x return 0; } @@ -139,11 +163,11 @@ +int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters, uint32_t max_factor, uint32_t flags, + uint32_t min_remaining, - struct save_callbacks* callbacks, int hvm, - unsigned long vm_generationid_addr) + struct save_callbacks* callbacks, int hvm) { + xc_dominfo_t info; @@ -810,6 +812,7 @@ int xc_domain_save(xc_interface *xch, in - int rc = 1, frc, i, j, last_iter = 0, iter = 0; + int rc, frc, i, j, last_iter = 0, iter = 0; int live = (flags & XCFLAGS_LIVE); int debug = (flags & XCFLAGS_DEBUG); + int abort_if_busy = (flags & XCFLAGS_DOMSAVE_ABORT_IF_BUSY); @@ -158,7 +182,7 @@ if ( !get_platform_info(xch, dom, &ctx->max_mfn, &ctx->hvirt_start, &ctx->pt_levels, &dinfo->guest_width) ) -@@ -1563,10 +1567,22 @@ int xc_domain_save(xc_interface *xch, in +@@ -1536,10 +1540,21 @@ int xc_domain_save(xc_interface *xch, in if ( live ) { @@ -170,7 +194,6 @@ { + if ( !min_reached && abort_if_busy ) + { -+ errnoval = EBUSY; + DPRINTF("Live migration aborted, as requested. (guest too busy?)"); + DPRINTF(" total_sent %lu iter %d, max_iters %u max_factor %u", + total_sent, iter, max_iters, max_factor); @@ -182,33 +205,32 @@ DPRINTF("Start last iteration\n"); last_iter = 1; -@@ -2210,6 +2226,13 @@ exit: - - return !!rc; +@@ -2181,6 +2196,13 @@ exit: + return !!errno; } + +int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters, + uint32_t max_factor, uint32_t flags, -+ struct save_callbacks* callbacks, int hvm, -+ unsigned long vm_generationid_addr) ++ struct save_callbacks* callbacks, int hvm) +{ -+ return xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, 0, callbacks, hvm, vm_generationid_addr); ++ return xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, 0, callbacks, hvm); +} - ++ /* * Local variables: -Index: xen-4.4.1-testing/tools/libxc/xc_nomigrate.c + * mode: C +Index: xen-4.5.0-testing/tools/libxc/xc_nomigrate.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxc/xc_nomigrate.c -+++ xen-4.4.1-testing/tools/libxc/xc_nomigrate.c -@@ -21,6 +21,16 @@ +--- xen-4.5.0-testing.orig/tools/libxc/xc_nomigrate.c ++++ xen-4.5.0-testing/tools/libxc/xc_nomigrate.c +@@ -21,6 +21,15 @@ #include <xenctrl.h> #include <xenguest.h> +int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters, + uint32_t max_factor, uint32_t flags, + uint32_t min_remaining, -+ struct save_callbacks* callbacks, int hvm, -+ unsigned long vm_generationid_addr) ++ struct save_callbacks* callbacks, int hvm) +{ + errno = ENOSYS; + return -1; @@ -216,37 +238,12 @@ + int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters, uint32_t max_factor, uint32_t flags, - struct save_callbacks* callbacks, int hvm, -Index: xen-4.4.1-testing/tools/libxc/xenguest.h -=================================================================== ---- xen-4.4.1-testing.orig/tools/libxc/xenguest.h -+++ xen-4.4.1-testing/tools/libxc/xenguest.h -@@ -28,6 +28,7 @@ - #define XCFLAGS_HVM (1 << 2) - #define XCFLAGS_STDVGA (1 << 3) - #define XCFLAGS_CHECKPOINT_COMPRESS (1 << 4) -+#define XCFLAGS_DOMSAVE_ABORT_IF_BUSY (1 << 5) - - #define X86_64_B_SIZE 64 - #define X86_32_B_SIZE 32 -@@ -89,6 +90,12 @@ int xc_domain_save(xc_interface *xch, in - struct save_callbacks* callbacks, int hvm, - unsigned long vm_generationid_addr); - -+int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters, -+ uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */, -+ uint32_t min_remaining, -+ struct save_callbacks* callbacks, int hvm, -+ unsigned long vm_generationid_addr); -+ - - /* callbacks provided by xc_domain_restore */ - struct restore_callbacks { -Index: xen-4.4.1-testing/tools/libxl/libxl.c + struct save_callbacks* callbacks, int hvm) +Index: xen-4.5.0-testing/tools/libxl/libxl.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl.c -+++ xen-4.4.1-testing/tools/libxl/libxl.c -@@ -763,7 +763,8 @@ static void domain_suspend_cb(libxl__egc +--- xen-4.5.0-testing.orig/tools/libxl/libxl.c ++++ xen-4.5.0-testing/tools/libxl/libxl.c +@@ -944,7 +944,8 @@ static void domain_suspend_cb(libxl__egc } @@ -256,7 +253,7 @@ const libxl_asyncop_how *ao_how) { AO_CREATE(ctx, domid, ao_how); -@@ -784,8 +785,14 @@ int libxl_domain_suspend(libxl_ctx *ctx, +@@ -965,8 +966,14 @@ int libxl_domain_suspend(libxl_ctx *ctx, dss->domid = domid; dss->fd = fd; dss->type = type; @@ -273,7 +270,7 @@ libxl__domain_suspend(egc, dss); return AO_INPROGRESS; -@@ -794,6 +801,20 @@ int libxl_domain_suspend(libxl_ctx *ctx, +@@ -975,6 +982,20 @@ int libxl_domain_suspend(libxl_ctx *ctx, return AO_ABORT(rc); } @@ -294,11 +291,11 @@ int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid) { int ret; -Index: xen-4.4.1-testing/tools/libxl/libxl.h +Index: xen-4.5.0-testing/tools/libxl/libxl.h =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl.h -+++ xen-4.4.1-testing/tools/libxl/libxl.h -@@ -702,8 +702,23 @@ int libxl_domain_suspend(libxl_ctx *ctx, +--- xen-4.5.0-testing.orig/tools/libxl/libxl.h ++++ xen-4.5.0-testing/tools/libxl/libxl.h +@@ -949,8 +949,23 @@ int libxl_domain_suspend(libxl_ctx *ctx, int flags, /* LIBXL_SUSPEND_* */ const libxl_asyncop_how *ao_how) LIBXL_EXTERNAL_CALLERS_ONLY; @@ -322,25 +319,25 @@ /* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )] * If this parameter is true, use co-operative resume. The guest -Index: xen-4.4.1-testing/tools/libxl/libxl_dom.c +Index: xen-4.5.0-testing/tools/libxl/libxl_dom.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_dom.c -+++ xen-4.4.1-testing/tools/libxl/libxl_dom.c -@@ -1341,6 +1341,7 @@ void libxl__domain_suspend(libxl__egc *e +--- xen-4.5.0-testing.orig/tools/libxl/libxl_dom.c ++++ xen-4.5.0-testing/tools/libxl/libxl_dom.c +@@ -1808,6 +1808,7 @@ void libxl__domain_suspend(libxl__egc *e dss->xcflags = (live ? XCFLAGS_LIVE : 0) | (debug ? XCFLAGS_DEBUG : 0) + | (dss->xlflags & LIBXL_SUSPEND_ABORT_IF_BUSY ? XCFLAGS_DOMSAVE_ABORT_IF_BUSY : 0) | (dss->hvm ? XCFLAGS_HVM : 0); - dss->suspend_eventchn = -1; -Index: xen-4.4.1-testing/tools/libxl/libxl_internal.h + dss->guest_evtchn.port = -1; +Index: xen-4.5.0-testing/tools/libxl/libxl_internal.h =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_internal.h -+++ xen-4.4.1-testing/tools/libxl/libxl_internal.h -@@ -2319,6 +2319,10 @@ struct libxl__domain_suspend_state { - xc_evtchn *xce; /* event channel handle */ - int suspend_eventchn; +--- xen-4.5.0-testing.orig/tools/libxl/libxl_internal.h ++++ xen-4.5.0-testing/tools/libxl/libxl_internal.h +@@ -2803,6 +2803,10 @@ struct libxl__domain_suspend_state { + libxl__ev_evtchn guest_evtchn; + int guest_evtchn_lockfd; int hvm; + int max_iters; + int max_factor; @@ -348,49 +345,49 @@ + int xlflags; int xcflags; int guest_responded; - const char *dm_savefile; -Index: xen-4.4.1-testing/tools/libxl/libxl_save_callout.c + libxl__xswait_state pvcontrol; +Index: xen-4.5.0-testing/tools/libxl/libxl_save_callout.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_save_callout.c -+++ xen-4.4.1-testing/tools/libxl/libxl_save_callout.c -@@ -108,7 +108,9 @@ void libxl__xc_domain_save(libxl__egc *e +--- xen-4.5.0-testing.orig/tools/libxl/libxl_save_callout.c ++++ xen-4.5.0-testing/tools/libxl/libxl_save_callout.c +@@ -110,7 +110,9 @@ void libxl__xc_domain_save(libxl__egc *e } const unsigned long argnums[] = { -- dss->domid, 0, 0, dss->xcflags, dss->hvm, vm_generationid_addr, +- dss->domid, 0, 0, dss->xcflags, dss->hvm, + dss->domid, + dss->max_iters, dss->max_factor, dss->min_remaining, -+ dss->xcflags, dss->hvm, vm_generationid_addr, ++ dss->xcflags, dss->hvm, toolstack_data_fd, toolstack_data_len, cbflags, }; -Index: xen-4.4.1-testing/tools/libxl/libxl_save_helper.c +Index: xen-4.5.0-testing/tools/libxl/libxl_save_helper.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/libxl_save_helper.c -+++ xen-4.4.1-testing/tools/libxl/libxl_save_helper.c -@@ -221,6 +221,7 @@ int main(int argc, char **argv) +--- xen-4.5.0-testing.orig/tools/libxl/libxl_save_helper.c ++++ xen-4.5.0-testing/tools/libxl/libxl_save_helper.c +@@ -215,6 +215,7 @@ int main(int argc, char **argv) uint32_t dom = strtoul(NEXTARG,0,10); uint32_t max_iters = strtoul(NEXTARG,0,10); uint32_t max_factor = strtoul(NEXTARG,0,10); + uint32_t min_remaining = strtoul(NEXTARG,0,10); uint32_t flags = strtoul(NEXTARG,0,10); int hvm = atoi(NEXTARG); - unsigned long genidad = strtoul(NEXTARG,0,10); -@@ -235,7 +236,8 @@ int main(int argc, char **argv) + toolstack_save_fd = atoi(NEXTARG); +@@ -228,7 +229,8 @@ int main(int argc, char **argv) helper_setcallbacks_save(&helper_save_callbacks, cbflags); startup("save"); - r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags, + r = xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, + min_remaining, - &helper_save_callbacks, hvm, genidad); + &helper_save_callbacks, hvm); complete(r); -Index: xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c +Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdimpl.c -+++ xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c -@@ -3656,6 +3656,8 @@ static void migrate_do_preamble(int send +--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c +@@ -3878,6 +3878,8 @@ static void migrate_do_preamble(int send } static void migrate_domain(uint32_t domid, const char *rune, int debug, @@ -399,7 +396,7 @@ const char *override_config_file) { pid_t child = -1; -@@ -3664,7 +3666,13 @@ static void migrate_domain(uint32_t domi +@@ -3886,7 +3888,13 @@ static void migrate_domain(uint32_t domi char *away_domname; char rc_buf; uint8_t *config_data; @@ -414,7 +411,7 @@ save_domain_core_begin(domid, override_config_file, &config_data, &config_len); -@@ -3683,10 +3691,13 @@ static void migrate_domain(uint32_t domi +@@ -3905,10 +3913,13 @@ static void migrate_domain(uint32_t domi xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0); if (debug) @@ -431,7 +428,7 @@ " (rc=%d)\n", rc); if (rc == ERROR_GUEST_TIMEDOUT) goto failed_suspend; -@@ -4073,13 +4084,18 @@ int main_migrate(int argc, char **argv) +@@ -4295,13 +4306,18 @@ int main_migrate(int argc, char **argv) char *rune = NULL; char *host; int opt, daemonize = 1, monitor = 1, debug = 0; @@ -451,7 +448,7 @@ case 'C': config_filename = optarg; break; -@@ -4096,6 +4112,18 @@ int main_migrate(int argc, char **argv) +@@ -4318,6 +4334,18 @@ int main_migrate(int argc, char **argv) case 0x100: debug = 1; break; @@ -470,7 +467,7 @@ } domid = find_domain(argv[optind]); -@@ -4111,7 +4139,8 @@ int main_migrate(int argc, char **argv) +@@ -4348,7 +4376,8 @@ int main_migrate(int argc, char **argv) return 1; } @@ -480,11 +477,11 @@ return 0; } #endif -Index: xen-4.4.1-testing/tools/libxl/xl_cmdtable.c +Index: xen-4.5.0-testing/tools/libxl/xl_cmdtable.c =================================================================== ---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdtable.c -+++ xen-4.4.1-testing/tools/libxl/xl_cmdtable.c -@@ -150,14 +150,21 @@ struct cmd_spec cmd_table[] = { +--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdtable.c ++++ xen-4.5.0-testing/tools/libxl/xl_cmdtable.c +@@ -155,14 +155,21 @@ struct cmd_spec cmd_table[] = { &main_migrate, 0, 1, "Migrate a domain to another host", "[options] <Domain> <host>", ++++++ local_attach_support_for_phy.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100 @@ -10,11 +10,11 @@ Suggested-by: Ian Campbell <ian.campbell@xxxxxxxxxx> -Index: xen-4.4.0-testing/tools/libxl/libxl.c +Index: xen-4.5.0-testing/tools/libxl/libxl.c =================================================================== ---- xen-4.4.0-testing.orig/tools/libxl/libxl.c -+++ xen-4.4.0-testing/tools/libxl/libxl.c -@@ -2634,6 +2634,16 @@ void libxl__device_disk_local_initiate_a +--- xen-4.5.0-testing.orig/tools/libxl/libxl.c ++++ xen-4.5.0-testing/tools/libxl/libxl.c +@@ -3006,6 +3006,16 @@ void libxl__device_disk_local_initiate_a switch (disk->backend) { case LIBXL_DISK_BACKEND_PHY: @@ -31,7 +31,7 @@ LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s", disk->pdev_path); dev = disk->pdev_path; -@@ -2713,7 +2723,7 @@ static void local_device_attach_cb(libxl +@@ -3085,7 +3095,7 @@ static void local_device_attach_cb(libxl } dev = GCSPRINTF("/dev/%s", disk->vdev); @@ -40,7 +40,7 @@ rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device); if (rc < 0) -@@ -2753,6 +2763,7 @@ void libxl__device_disk_local_initiate_d +@@ -3125,6 +3135,7 @@ void libxl__device_disk_local_initiate_d if (!dls->diskpath) goto out; switch (disk->backend) { @@ -48,7 +48,7 @@ case LIBXL_DISK_BACKEND_QDISK: if (disk->vdev != NULL) { GCNEW(device); -@@ -2770,7 +2781,6 @@ void libxl__device_disk_local_initiate_d +@@ -3142,7 +3153,6 @@ void libxl__device_disk_local_initiate_d /* disk->vdev == NULL; fall through */ default: /* ++++++ pygrub-boot-legacy-sles.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100 @@ -1,8 +1,8 @@ -Index: xen-4.4.0-testing/tools/pygrub/src/pygrub +Index: xen-4.5.0-testing/tools/pygrub/src/pygrub =================================================================== ---- xen-4.4.0-testing.orig/tools/pygrub/src/pygrub -+++ xen-4.4.0-testing/tools/pygrub/src/pygrub -@@ -452,7 +452,7 @@ class Grub: +--- xen-4.5.0-testing.orig/tools/pygrub/src/pygrub ++++ xen-4.5.0-testing/tools/pygrub/src/pygrub +@@ -450,7 +450,7 @@ class Grub: self.cf.filename = f break if self.__dict__.get('cf', None) is None: @@ -11,7 +11,7 @@ f = fs.open_file(self.cf.filename) # limit read size to avoid pathological cases buf = f.read(FS_READ_MAX) -@@ -598,6 +598,20 @@ def run_grub(file, entry, fs, cfg_args): +@@ -622,6 +622,20 @@ def run_grub(file, entry, fs, cfg_args): g = Grub(file, fs) @@ -32,7 +32,7 @@ if list_entries: for i in range(len(g.cf.images)): img = g.cf.images[i] -@@ -693,6 +707,19 @@ def sniff_netware(fs, cfg): +@@ -717,6 +731,19 @@ def sniff_netware(fs, cfg): return cfg @@ -52,11 +52,11 @@ def format_sxp(kernel, ramdisk, args): s = "linux (kernel %s)" % kernel if ramdisk: -@@ -773,7 +800,7 @@ if __name__ == "__main__": +@@ -797,7 +824,7 @@ if __name__ == "__main__": debug = False not_really = False output_format = "sxp" -- output_directory = "/var/run/xend/boot" +- output_directory = "/var/run/xen/pygrub" + output_directory = "/var/run/xen" # what was passed in ++++++ pygrub-netware-xnloader.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100 @@ -1,7 +1,7 @@ -Index: xen-4.4.0-testing/tools/pygrub/src/pygrub +Index: xen-4.5.0-testing/tools/pygrub/src/pygrub =================================================================== ---- xen-4.4.0-testing.orig/tools/pygrub/src/pygrub -+++ xen-4.4.0-testing/tools/pygrub/src/pygrub +--- xen-4.5.0-testing.orig/tools/pygrub/src/pygrub ++++ xen-4.5.0-testing/tools/pygrub/src/pygrub @@ -26,6 +26,7 @@ import fsimage import grub.GrubConf import grub.LiloConf @@ -10,7 +10,7 @@ PYGRUB_VER = 0.6 FS_READ_MAX = 1024 * 1024 -@@ -735,6 +736,8 @@ if __name__ == "__main__": +@@ -759,6 +760,8 @@ if __name__ == "__main__": if len(data) == 0: os.close(tfd) del datafile ++++++ qemu-xen-dir-remote.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/xen/qemu-xen-dir-remote.tar.bz2 /work/SRC/openSUSE:Factory/.xen.new/qemu-xen-dir-remote.tar.bz2 differ: char 11, line 1 ++++++ qemu-xen-traditional-dir-remote.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/Makefile new/tools/qemu-xen-traditional-dir-remote/Makefile --- old/tools/qemu-xen-traditional-dir-remote/Makefile 2014-08-07 18:30:33.000000000 +0200 +++ new/tools/qemu-xen-traditional-dir-remote/Makefile 2015-01-14 18:45:44.000000000 +0100 @@ -46,9 +46,9 @@ recurse-all: $(SUBDIR_RULES) -CPPFLAGS += -I$(XEN_ROOT)/tools/libxc +CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib -CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore +CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include CPPFLAGS += -I$(XEN_ROOT)/tools/include tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-config.mak new/tools/qemu-xen-traditional-dir-remote/xen-config.mak --- old/tools/qemu-xen-traditional-dir-remote/xen-config.mak 2014-08-07 18:30:34.000000000 +0200 +++ new/tools/qemu-xen-traditional-dir-remote/xen-config.mak 2015-01-14 18:45:44.000000000 +0100 @@ -9,4 +9,4 @@ CFLAGS += -I$(QEMU_ROOT)/hw -bindir = ${LIBEXEC} +bindir = ${LIBEXEC_BIN} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak --- old/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak 2014-08-07 18:30:34.000000000 +0200 +++ new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak 2015-01-14 18:45:44.000000000 +0100 @@ -1,5 +1,5 @@ -CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc -CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore +CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include +CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include CPPFLAGS+= -I$(XEN_ROOT)/tools/include SSE2 := $(call cc-option,-msse2,) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom new/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom --- old/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 2014-08-07 18:30:34.000000000 +0200 +++ new/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 2015-01-14 18:45:44.000000000 +0100 @@ -22,7 +22,7 @@ TARGET_CFLAGS= $TARGET_CFLAGS TARGET_LDFLAGS= $TARGET_LDFLAGS -bindir = \${LIBEXEC} +bindir = \${LIBEXEC_BIN} END mv -f $target/config.mak.new $target/config.mak #---------- ++++++ qemu-xen-upstream-megasas-buildtime.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -4,11 +4,11 @@ tools/qemu-xen-dir-remote/hw/scsi/megasas.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c +Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/scsi/megasas.c -+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c -@@ -712,8 +712,8 @@ static int megasas_ctrl_get_info(Megasas +--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/hw/scsi/megasas.c ++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c +@@ -717,8 +717,8 @@ static int megasas_ctrl_get_info(Megasas snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_VERSION); memcpy(info.image_component[0].name, "APP", 3); memcpy(info.image_component[0].version, MEGASAS_VERSION "-QEMU", 9); ++++++ qemu-xen-upstream-qdisk-cache-unsafe.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -3,11 +3,11 @@ tools/qemu-xen-dir-remote/hw/block/xen_disk.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) -Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c +Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_disk.c -+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c -@@ -113,6 +113,7 @@ struct XenBlkDev { +--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_disk.c ++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c +@@ -120,6 +120,7 @@ struct XenBlkDev { int requests_inflight; int requests_finished; @@ -15,8 +15,8 @@ /* Persistent grants extension */ gboolean feature_discard; gboolean feature_persistent; -@@ -725,6 +726,16 @@ static void blk_parse_discard(struct Xen - xenstore_write_be_int(&blkdev->xendev, "feature-discard", 1); +@@ -780,6 +781,16 @@ static void blk_parse_discard(struct Xen + } } +static void blk_parse_cache_unsafe(struct XenBlkDev *blkdev) @@ -32,7 +32,7 @@ static int blk_init(struct XenDevice *xendev) { struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev); -@@ -793,6 +804,7 @@ static int blk_init(struct XenDevice *xe +@@ -848,6 +859,7 @@ static int blk_init(struct XenDevice *xe xenstore_write_be_int(&blkdev->xendev, "info", info); blk_parse_discard(blkdev); @@ -40,9 +40,9 @@ g_free(directiosafe); return 0; -@@ -832,6 +844,9 @@ static int blk_connect(struct XenDevice - if (blkdev->feature_discard) +@@ -888,6 +900,9 @@ static int blk_connect(struct XenDevice qflags |= BDRV_O_UNMAP; + } + if (blkdev->cache_unsafe) + qflags |= BDRV_O_NO_FLUSH; ++++++ seabios-dir-remote.tar.bz2 ++++++ ++++++ set-mtu-from-bridge-for-tap-interface.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -16,11 +16,11 @@ Signed-off-by: Charles Arnold <[email protected]> Acked-by: Ian Campbell <[email protected]> -Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge +Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge =================================================================== ---- xen-4.4.0-testing.orig/tools/hotplug/Linux/vif-bridge -+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge -@@ -88,7 +88,7 @@ fi +--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge +@@ -84,7 +84,7 @@ fi case "$command" in online) setup_virtual_bridge_port "$dev" @@ -29,7 +29,7 @@ add_to_bridge "$bridge" "$dev" ;; -@@ -99,7 +99,7 @@ case "$command" in +@@ -95,7 +95,7 @@ case "$command" in add) setup_virtual_bridge_port "$dev" ++++++ stubdom.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/xen/stubdom.tar.bz2 /work/SRC/openSUSE:Factory/.xen.new/stubdom.tar.bz2 differ: char 11, line 1 ++++++ suspend_evtchn_lock.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -6,11 +6,11 @@ Signed-off-by: Chunyan Liu <[email protected]> -Index: xen-4.2.0-testing/tools/libxc/xc_suspend.c +Index: xen-4.5.0-testing/tools/libxc/xc_suspend.c =================================================================== ---- xen-4.2.0-testing.orig/tools/libxc/xc_suspend.c -+++ xen-4.2.0-testing/tools/libxc/xc_suspend.c -@@ -16,8 +16,43 @@ +--- xen-4.5.0-testing.orig/tools/libxc/xc_suspend.c ++++ xen-4.5.0-testing/tools/libxc/xc_suspend.c +@@ -19,6 +19,10 @@ #include "xc_private.h" #include "xenguest.h" @@ -19,7 +19,12 @@ +extern int kill (__pid_t __pid, int __sig); +#endif - #define SUSPEND_LOCK_FILE "/var/lib/xen/suspend_evtchn" + #define SUSPEND_LOCK_FILE XEN_RUN_DIR "/suspend-evtchn-%d.lock" + +@@ -34,6 +38,37 @@ + + #define SUSPEND_FILE_BUFLEN (sizeof(SUSPEND_LOCK_FILE) + 10) + +/* cleanup obsolete suspend lock file which is unlinked for any reason, +so that current process can get lock */ +static void clean_obsolete_lock(int domid) @@ -51,34 +56,23 @@ + } +} + - static int lock_suspend_event(xc_interface *xch, int domid) + static void get_suspend_file(char buf[], int domid) { - int fd, rc; -@@ -27,6 +62,7 @@ static int lock_suspend_event(xc_interfa + snprintf(buf, SUSPEND_FILE_BUFLEN, SUSPEND_LOCK_FILE, domid); +@@ -47,6 +82,7 @@ static int lock_suspend_event(xc_interfa + struct flock fl; - snprintf(suspend_file, sizeof(suspend_file), "%s_%d_lock.d", - SUSPEND_LOCK_FILE, domid); + get_suspend_file(suspend_file, domid); + clean_obsolete_lock(domid); - mask = umask(022); - fd = open(suspend_file, O_CREAT | O_EXCL | O_RDWR, 0666); - if (fd < 0) -@@ -41,6 +77,9 @@ static int lock_suspend_event(xc_interfa - rc = write_exact(fd, buf, strlen(buf)); - close(fd); - -+ if(rc) -+ unlink(suspend_file); -+ - return rc; - } -@@ -127,8 +166,7 @@ int xc_suspend_evtchn_init(xc_interface - return suspend_evtchn; + *lockfd = -1; - cleanup: -- if (suspend_evtchn != -1) -- xc_suspend_evtchn_release(xch, xce, domid, suspend_evtchn); -+ xc_suspend_evtchn_release(xch, xce, domid, suspend_evtchn); +@@ -96,6 +132,8 @@ static int lock_suspend_event(xc_interfa + if (fd >= 0) + close(fd); ++ unlink(suspend_file); ++ return -1; } + ++++++ tigervnc-long-press.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -1,8 +1,8 @@ -Index: xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c +Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/ui/vnc.c =================================================================== ---- xen-4.4.1-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c -+++ xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c -@@ -1651,6 +1651,25 @@ static void do_key_event(VncState *vs, i +--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c ++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/ui/vnc.c +@@ -1645,6 +1645,25 @@ static void do_key_event(VncState *vs, i if (down) vs->modifiers_state[keycode] ^= 1; break; ++++++ tmp_build.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -1,26 +1,30 @@ -Index: xen-4.3.0-testing/tools/xenstore/Makefile +--- + tools/xenstore/Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +Index: xen-4.5.0-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.3.0-testing.orig/tools/xenstore/Makefile -+++ xen-4.3.0-testing/tools/xenstore/Makefile -@@ -75,6 +75,7 @@ $(CLIENTS_DOMU): xenstore +--- xen-4.5.0-testing.orig/tools/xenstore/Makefile ++++ xen-4.5.0-testing/tools/xenstore/Makefile +@@ -91,6 +91,7 @@ $(CLIENTS_DOMU): xenstore xenstore: xenstore_client.o $(LIBXENSTORE) - $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) -+ $(CC) $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid $< -L. -lxenstore $(SOCKET_LIBS) -o domu-$@ + $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) ++ $(CC) $< $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid -L. -lxenstore $(SOCKET_LIBS) -o domu-$@ xenstore-control: xenstore_control.o $(LIBXENSTORE) - $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) -@@ -124,10 +125,11 @@ install: all + $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) +@@ -141,10 +142,11 @@ endif $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR) $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR) set -e ; for c in $(CLIENTS) ; do \ - ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \ -+ ln -fs /usr/bin/xenstore $(DESTDIR)/usr/bin/$${c} ; \ ++ ln -fs xenstore $(DESTDIR)/usr/bin/$${c} ; \ done + $(INSTALL_PROG) domu-xenstore $(DESTDIR)/bin for client in $(CLIENTS_DOMU); do \ - $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \ -+ ln -fs /bin/domu-xenstore $(DESTDIR)/bin/$${client/domu-}; \ ++ ln -fs domu-xenstore $(DESTDIR)/bin/$${client/domu-}; \ done $(INSTALL_DIR) $(DESTDIR)$(LIBDIR) - $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR) + $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR) ++++++ udev-rules.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -1,11 +1,11 @@ -Index: xen-4.3.0-testing/tools/hotplug/Linux/xen-backend.rules +Index: xen-4.5.0-testing/tools/hotplug/Linux/xen-backend.rules.in =================================================================== ---- xen-4.3.0-testing.orig/tools/hotplug/Linux/xen-backend.rules -+++ xen-4.3.0-testing/tools/hotplug/Linux/xen-backend.rules +--- xen-4.5.0-testing.orig/tools/hotplug/Linux/xen-backend.rules.in ++++ xen-4.5.0-testing/tools/hotplug/Linux/xen-backend.rules.in @@ -12,4 +12,5 @@ KERNEL=="blktap-control", NAME="xen/blkt KERNEL=="gntdev", NAME="xen/%k", MODE="0600" KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600" KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600" --SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap" +-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="@XEN_SCRIPT_DIR@/vif-setup $env{ACTION} type_if=tap" +SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", TEST=="/proc/xen" RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap" +KERNELS=="xen", KERNEL=="xvd*", SUBSYSTEM=="block", OPTIONS+="last_rule" ++++++ vif-bridge-no-iptables.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -1,17 +1,13 @@ -Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge +Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge =================================================================== ---- xen-4.4.0-testing.orig/tools/hotplug/Linux/vif-bridge -+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge -@@ -97,9 +97,9 @@ case "$command" in +--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge +@@ -93,7 +93,7 @@ case "$command" in ;; esac --if [ "$type_if" = vif ]; then -- handle_iptable --fi -+#if [ "$type_if" = vif ]; then -+# handle_iptable -+#fi +-handle_iptable ++#handle_iptable call_hooks vif post ++++++ vif-bridge-tap-fix.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -10,11 +10,11 @@ Signed-off-by: Jim Fehlig <[email protected]> -Index: xen-4.2.0-testing/tools/hotplug/Linux/vif-bridge +Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge =================================================================== ---- xen-4.2.0-testing.orig/tools/hotplug/Linux/vif-bridge -+++ xen-4.2.0-testing/tools/hotplug/Linux/vif-bridge -@@ -32,6 +32,13 @@ +--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge +@@ -28,6 +28,13 @@ dir=$(dirname "$0") . "$dir/vif-common.sh" ++++++ x86-cpufreq-report.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -1,7 +1,7 @@ -Index: xen-4.4.0-testing/xen/arch/x86/platform_hypercall.c +Index: xen-4.5.0-testing/xen/arch/x86/platform_hypercall.c =================================================================== ---- xen-4.4.0-testing.orig/xen/arch/x86/platform_hypercall.c -+++ xen-4.4.0-testing/xen/arch/x86/platform_hypercall.c +--- xen-4.5.0-testing.orig/xen/arch/x86/platform_hypercall.c ++++ xen-4.5.0-testing/xen/arch/x86/platform_hypercall.c @@ -25,7 +25,7 @@ #include <xen/irq.h> #include <asm/current.h> @@ -11,7 +11,7 @@ #include <asm/edd.h> #include <asm/mtrr.h> #include <asm/io_apic.h> -@@ -601,6 +601,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA +@@ -760,6 +760,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA } break; @@ -53,10 +53,10 @@ default: ret = -ENOSYS; break; -Index: xen-4.4.0-testing/xen/include/public/platform.h +Index: xen-4.5.0-testing/xen/include/public/platform.h =================================================================== ---- xen-4.4.0-testing.orig/xen/include/public/platform.h -+++ xen-4.4.0-testing/xen/include/public/platform.h +--- xen-4.5.0-testing.orig/xen/include/public/platform.h ++++ xen-4.5.0-testing/xen/include/public/platform.h @@ -527,6 +527,16 @@ struct xenpf_core_parking { typedef struct xenpf_core_parking xenpf_core_parking_t; DEFINE_XEN_GUEST_HANDLE(xenpf_core_parking_t); @@ -72,12 +72,12 @@ +}; + /* - * ` enum neg_errnoval - * ` HYPERVISOR_platform_op(const struct xen_platform_op*); -@@ -553,6 +563,7 @@ struct xen_platform_op { - struct xenpf_cpu_hotadd cpu_add; + * Access generic platform resources(e.g., accessing MSR, port I/O, etc) + * in unified way. Batch resource operations in one call are supported and +@@ -587,6 +597,7 @@ struct xen_platform_op { struct xenpf_mem_hotadd mem_add; struct xenpf_core_parking core_parking; + struct xenpf_resource_op resource_op; + struct xenpf_get_cpu_freq get_cpu_freq; uint8_t pad[128]; } u; ++++++ x86-ioapic-ack-default.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100 @@ -1,8 +1,10 @@ Change default IO-APIC ack mode for single IO-APIC systems to old-style. ---- a/xen/arch/x86/io_apic.c -+++ b/xen/arch/x86/io_apic.c -@@ -2034,7 +2034,10 @@ void __init setup_IO_APIC(void) +Index: xen-4.5.0-testing/xen/arch/x86/io_apic.c +=================================================================== +--- xen-4.5.0-testing.orig/xen/arch/x86/io_apic.c ++++ xen-4.5.0-testing/xen/arch/x86/io_apic.c +@@ -2035,7 +2035,10 @@ void __init setup_IO_APIC(void) io_apic_irqs = ~PIC_IRQS; printk("ENABLING IO-APIC IRQs\n"); ++++++ xen-4.4.1-testing-src.tar.bz2 -> xen-4.5.0-testing-src.tar.bz2 ++++++ ++++ 264342 lines of diff (skipped) ++++++ xen-destdir.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -1,8 +1,8 @@ -Index: xen-4.4.0-testing/tools/xenstore/Makefile +Index: xen-4.5.0-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.4.0-testing.orig/tools/xenstore/Makefile -+++ xen-4.4.0-testing/tools/xenstore/Makefile -@@ -10,6 +10,7 @@ CFLAGS += $(CFLAGS_libxenctrl) +--- xen-4.5.0-testing.orig/tools/xenstore/Makefile ++++ xen-4.5.0-testing/tools/xenstore/Makefile +@@ -19,6 +19,7 @@ LDFLAGS += $(LDFLAGS-y) CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod CLIENTS += xenstore-write xenstore-ls xenstore-watch @@ -10,7 +10,7 @@ XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o -@@ -41,7 +42,7 @@ endif +@@ -57,7 +58,7 @@ endif all: $(ALL_TARGETS) .PHONY: clients @@ -19,7 +19,7 @@ ifeq ($(CONFIG_SunOS),y) xenstored_probes.h: xenstored_probes.d -@@ -69,6 +70,9 @@ xenstored.a: $(XENSTORED_OBJS) +@@ -85,6 +86,9 @@ xenstored.a: $(XENSTORED_OBJS) $(CLIENTS): xenstore ln -f xenstore $@ @@ -27,9 +27,9 @@ + ln -f xenstore $@ + xenstore: xenstore_client.o $(LIBXENSTORE) - $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) + $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) -@@ -96,7 +100,7 @@ clean: +@@ -112,7 +116,7 @@ clean: rm -f *.a *.o *.opic *.so* xenstored_probes.h rm -f xenstored xs_random xs_stress xs_crashme rm -f xs_tdb_dump xenstore-control init-xenstore-domain @@ -38,15 +38,14 @@ $(RM) $(DEPS) .PHONY: TAGS -@@ -113,6 +117,7 @@ install: all +@@ -132,12 +136,16 @@ ifeq ($(XENSTORE_XENSTORED),y) $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) - $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR) - $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat -+ $(INSTALL_DIR) $(DESTDIR)/bin - $(INSTALL_DIR) $(DESTDIR)/var/run/xenstored - $(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored + $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED) $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR) -@@ -121,6 +126,9 @@ install: all ++ $(INSTALL_DIR) $(DESTDIR)/bin + endif + $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR) + $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR) set -e ; for c in $(CLIENTS) ; do \ ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \ done @@ -54,50 +53,5 @@ + $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \ + done $(INSTALL_DIR) $(DESTDIR)$(LIBDIR) - $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR) + $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR) ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR) -Index: xen-4.4.0-testing/tools/hotplug/Linux/Makefile -=================================================================== ---- xen-4.4.0-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.4.0-testing/tools/hotplug/Linux/Makefile -@@ -46,14 +46,14 @@ install: all install-initd install-scrip - .PHONY: install-initd - install-initd: - [ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR) -- [ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR) -+ [ -d $(DESTDIR)/var/adm/fillup-templates ] || $(INSTALL_DIR) $(DESTDIR)/var/adm/fillup-templates/ - ifeq ($(CONFIG_XEND),y) - $(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(INITD_DIR) - endif - $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR) -- $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xendomains -+ $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/var/adm/fillup-templates/ - $(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR) -- $(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xencommons -+ $(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) $(DESTDIR)/var/adm/fillup-templates/ - $(INSTALL_PROG) init.d/xen-watchdog $(DESTDIR)$(INITD_DIR) - - .PHONY: install-scripts -Index: xen-4.4.0-testing/tools/firmware/etherboot/Makefile -=================================================================== ---- xen-4.4.0-testing.orig/tools/firmware/etherboot/Makefile -+++ xen-4.4.0-testing/tools/firmware/etherboot/Makefile -@@ -28,12 +28,12 @@ all: $(ROMS) - $(MAKE) -C $D/src bin/$(*F).rom - - $T: -- if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \ -- $(GIT) clone $(IPXE_GIT_URL) $D.git; \ -- (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \ -- $(IPXE_GIT_TAG) | gzip >../_$T); \ -- rm -rf $D.git; \ -- fi -+ #if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \ -+ # $(GIT) clone $(IPXE_GIT_URL) $D.git; \ -+ # (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \ -+ # $(IPXE_GIT_TAG) | gzip >../_$T); \ -+ # rm -rf $D.git; \ -+ #fi - mv _$T $T - - $D/src/arch/i386/Makefile: $T Config ++++++ xen-hvm-default-bridge.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -30,27 +30,6 @@ } } else #endif -Index: xen-4.2.3-testing/tools/python/xen/xend/image.py -=================================================================== ---- xen-4.2.3-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.2.3-testing/tools/python/xen/xend/image.py -@@ -912,11 +912,13 @@ class HVMImageHandler(ImageHandler): - mac = devinfo.get('mac') - if mac is None: - raise VmError("MAC address not specified or generated.") -- bridge = devinfo.get('bridge', 'xenbr0') -+ bridge = devinfo.get('bridge', None) - model = devinfo.get('model', 'rtl8139') - ret.append("-net") -- ret.append("nic,vlan=%d,macaddr=%s,model=%s" % -- (nics, mac, model)) -+ net = "nic,vlan=%d,macaddr=%s,model=%s" % (nics, mac, model) -+ if bridge: -+ net += ",bridge=%s" % bridge -+ ret.append(net) - vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1) - ret.append("-net") - if osdep.tapif_script is not None: Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux =================================================================== --- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux ++++++ xen-qemu-iscsi-fix.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -1,8 +1,8 @@ -Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c =================================================================== ---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c -+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c -@@ -451,7 +451,7 @@ void xenstore_parse_domain_config(int hv +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +@@ -450,7 +450,7 @@ void xenstore_parse_domain_config(int hv char *buf = NULL; char *fpath = NULL, *bpath = NULL, *btype = NULL, *dev = NULL, *params = NULL, *drv = NULL; @@ -11,7 +11,7 @@ unsigned int len, num, hd_index, pci_devid = 0; BlockDriverState *bs; BlockDriver *format; -@@ -535,12 +535,7 @@ void xenstore_parse_domain_config(int hv +@@ -534,12 +534,7 @@ void xenstore_parse_domain_config(int hv continue; free(danger_type); danger_type = xs_read(xsh, XBT_NULL, danger_buf, &len); @@ -25,7 +25,7 @@ /* read the name of the device */ if (pasprintf(&buf, "%s/type", bpath) == -1) continue; -@@ -548,6 +543,35 @@ void xenstore_parse_domain_config(int hv +@@ -547,6 +542,35 @@ void xenstore_parse_domain_config(int hv drv = xs_read(xsh, XBT_NULL, buf, &len); if (drv == NULL) continue; @@ -61,7 +61,7 @@ /* Obtain blktap sub-type prefix */ if ((!strcmp(drv, "tap") || !strcmp(drv, "qdisk")) && params[0]) { char *offset = strchr(params, ':'); -@@ -665,6 +689,12 @@ void xenstore_parse_domain_config(int hv +@@ -664,6 +688,12 @@ void xenstore_parse_domain_config(int hv format = &bdrv_host_device; else format = &bdrv_raw; ++++++ xen.build-compare.doc_html.patch ++++++ The result of $(wildcard *) is random. Sort input files to reduce build-compare noise. --- docs/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: xen-4.5.0-testing/docs/Makefile =================================================================== --- xen-4.5.0-testing.orig/docs/Makefile +++ xen-4.5.0-testing/docs/Makefile @@ -110,7 +110,7 @@ install-html: html txt figs install: install-man-pages install-html html/index.html: $(DOC_HTML) $(CURDIR)/gen-html-index INDEX - $(PERL) -w -- $(CURDIR)/gen-html-index -i INDEX html $(DOC_HTML) + $(PERL) -w -- $(CURDIR)/gen-html-index -i INDEX html $(sort $(DOC_HTML)) html/%.html: %.markdown $(INSTALL_DIR) $(@D) @@ -152,8 +152,8 @@ html/hypercall/%/index.html: $(CURDIR)/x $(INSTALL_DIR) $(@D) $(PERL) -w $(CURDIR)/xen-headers -O $(@D) \ -T 'arch-$* - Xen public headers' \ - $(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES))) \ - $(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES))) \ + $(sort $(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES)))) \ + $(sort $(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES)))) \ $(EXTRA_EXCLUDE) \ $(XEN_ROOT)/xen include/public include/xen/errno.h ++++++ xen.build-compare.ipxe.patch ++++++ The result of $(wildcard *) is random. Sort input files to reduce build-compare noise. --- tools/firmware/etherboot/patches/build-compare.patch | 19 +++++++++++++++++++ tools/firmware/etherboot/patches/series | 1 + 2 files changed, 20 insertions(+) Index: xen-4.5.0-testing/tools/firmware/etherboot/patches/build-compare.patch =================================================================== --- /dev/null +++ xen-4.5.0-testing/tools/firmware/etherboot/patches/build-compare.patch @@ -0,0 +1,19 @@ +The result of $(wildcard *) is random. +Sort input files to reduce build-compare noise. +--- + ipxe/src/Makefile.housekeeping | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ipxe/src/Makefile.housekeeping +=================================================================== +--- ipxe/src/Makefile.housekeeping ++++ ipxe/src/Makefile.housekeeping +@@ -773,7 +773,7 @@ BLIB = $(BIN)/blib.a + $(BLIB) : $(BLIB_OBJS) $(BLIB_LIST) $(MAKEDEPS) + $(Q)$(RM) $(BLIB) + $(QM)$(ECHO) " [AR] $@" +- $(Q)$(AR) r $@ $(BLIB_OBJS) ++ $(Q)$(AR) r $@ $(sort $(BLIB_OBJS)) + $(Q)$(RANLIB) $@ + blib : $(BLIB) + Index: xen-4.5.0-testing/tools/firmware/etherboot/patches/series =================================================================== --- xen-4.5.0-testing.orig/tools/firmware/etherboot/patches/series +++ xen-4.5.0-testing/tools/firmware/etherboot/patches/series @@ -2,3 +2,4 @@ boot_prompt_option.patch build_fix_1.patch build_fix_2.patch build_fix_3.patch +build-compare.patch ++++++ xen.build-compare.man.patch ++++++ Having just X.Y as version in the man pages is enough. --- docs/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: xen-4.5.0-testing/docs/Makefile =================================================================== --- xen-4.5.0-testing.orig/docs/Makefile +++ xen-4.5.0-testing/docs/Makefile @@ -2,7 +2,7 @@ XEN_ROOT=$(CURDIR)/.. include $(XEN_ROOT)/Config.mk -include $(XEN_ROOT)/config/Docs.mk -VERSION := $(shell $(MAKE) -C $(XEN_ROOT)/xen --no-print-directory xenversion) +VERSION := $(shell $(MAKE) -C $(XEN_ROOT)/xen --no-print-directory xenversion | cut -f -2 -d .) DOC_ARCHES := arm x86_32 x86_64 ++++++ xen.build-compare.mini-os.patch ++++++ The result of $(wildcard *) is random. Sort input files to reduce build-compare noise. --- extras/mini-os/Makefile | 2 +- extras/mini-os/arch/x86/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: xen-4.5.0-testing/extras/mini-os/Makefile =================================================================== --- xen-4.5.0-testing.orig/extras/mini-os/Makefile +++ xen-4.5.0-testing/extras/mini-os/Makefile @@ -158,7 +158,7 @@ endif $(OBJ_DIR)/lwip.a: $(LWO) $(RM) $@ - $(AR) cqs $@ $^ + $(AR) cqs $@ $(sort $^) OBJS += $(OBJ_DIR)/lwip.a endif Index: xen-4.5.0-testing/extras/mini-os/arch/x86/Makefile =================================================================== --- xen-4.5.0-testing.orig/extras/mini-os/arch/x86/Makefile +++ xen-4.5.0-testing/extras/mini-os/arch/x86/Makefile @@ -24,7 +24,7 @@ all: $(OBJ_DIR)/$(ARCH_LIB) # $(HEAD_ARCH_OBJ) is only build here, needed on linking # in ../../Makefile. $(OBJ_DIR)/$(ARCH_LIB): $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ) - $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) + $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(sort $(ARCH_OBJS)) clean: rm -f $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ) ++++++ xen.build-compare.seabios.patch ++++++ Use stable strings to reduce build-compare noise. --- tools/firmware/seabios-dir-remote/tools/buildversion.sh | 5 +++++ 1 file changed, 5 insertions(+) Index: xen-4.5.0-testing/tools/firmware/seabios-dir-remote/tools/buildversion.sh =================================================================== --- xen-4.5.0-testing.orig/tools/firmware/seabios-dir-remote/tools/buildversion.sh +++ xen-4.5.0-testing/tools/firmware/seabios-dir-remote/tools/buildversion.sh @@ -11,7 +11,12 @@ elif [ -f .version ]; then else VERSION="?" fi +if test -n "${SEABIOS_DATE}" +then + VERSION="${SEABIOS_DATE}" +else VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`" +fi echo "Version: ${VERSION}" # Build header file ++++++ xen.build-compare.smbiosdate.patch ++++++ Use stable strings to reduce build-compare noise. --- tools/firmware/hvmloader/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: xen-4.5.0-testing/tools/firmware/hvmloader/Makefile =================================================================== --- xen-4.5.0-testing.orig/tools/firmware/hvmloader/Makefile +++ xen-4.5.0-testing/tools/firmware/hvmloader/Makefile @@ -25,6 +25,7 @@ SUBDIRS := acpi # The HVM loader is started in 32-bit mode at the address below: LOADADDR = 0x100000 +SMBIOS_DATE ?= $(shell date +%m/%d/%Y) CFLAGS += $(CFLAGS_xeninclude) @@ -88,7 +89,7 @@ all: subdirs-all $(MAKE) hvmloader ovmf.o rombios.o seabios.o hvmloader.o: roms.inc -smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\"" +smbios.o: CFLAGS += -D__SMBIOS_DATE__="$(SMBIOS_DATE)" hvmloader: $(OBJS) acpi/acpi.a $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o hvmloader.tmp $^ ++++++ xen.build-compare.vgabios.patch ++++++ --- tools/firmware/vgabios/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: xen-4.5.0-testing/tools/firmware/vgabios/Makefile =================================================================== --- xen-4.5.0-testing.orig/tools/firmware/vgabios/Makefile +++ xen-4.5.0-testing/tools/firmware/vgabios/Makefile @@ -5,7 +5,7 @@ BCC = bcc AS86 = as86 RELEASE = `pwd | sed "s-.*/--"` -RELDATE = `date '+%d %b %Y'` +RELDATE ?= `date '+%d %b %Y'` RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"` VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" ++++++ xen.build-compare.xen_compile_h.patch ++++++ Use stable strings to reduce build-compare noise. Index: xen-4.5.0-testing/xen/Makefile =================================================================== --- xen-4.5.0-testing.orig/xen/Makefile +++ xen-4.5.0-testing/xen/Makefile @@ -8,6 +8,9 @@ export XEN_FULLVERSION = $(XEN_VERSION export XEN_WHOAMI ?= $(USER) export XEN_DOMAIN ?= $(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) || ([ -x /bin/domainname ] && /bin/domainname || echo [unknown])) +export XEN_BUILD_DATE ?= $(shell LC_ALL=C date) +export XEN_BUILD_TIME ?= $(shell LC_ALL=C date +%T) +export XEN_BUILD_HOST ?= $(shell hostname) export BASEDIR := $(CURDIR) export XEN_ROOT := $(BASEDIR)/.. @@ -126,11 +129,11 @@ delete-unfresh-files: # compile.h contains dynamic build info. Rebuilt on every 'make' invocation. include/xen/compile.h: include/xen/compile.h.in .banner - @sed -e 's/@@date@@/$(shell LC_ALL=C date)/g' \ - -e 's/@@time@@/$(shell LC_ALL=C date +%T)/g' \ + @sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \ + -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \ -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \ -e 's/@@domain@@/$(XEN_DOMAIN)/g' \ - -e 's/@@hostname@@/$(shell hostname)/g' \ + -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \ -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \ -e 's/@@version@@/$(XEN_VERSION)/g' \ -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \ ++++++ xen.stubdom.newlib.patch ++++++ # HG changeset patch # Parent 02ec826cab1e4acb25b364a180a1597ace1149f9 stubdom: fix errors in newlib rpm post-build-checks found a few code bugs in newlib, and marks them as errors. Add another newlib patch and apply it during stubdom build. I: A function uses a 'return;' statement, but has actually a value to return, like an integer ('return 42;') or similar. W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 125, 146, 157, 330 I: Program is using implicit definitions of special functions. these functions need to use their correct prototypes to allow the lightweight buffer overflow checking to work. - Implicit memory/string functions need #include <string.h>. - Implicit *printf functions need #include <stdio.h>. - Implicit *printf functions need #include <stdio.h>. - Implicit *read* functions need #include <unistd.h>. - Implicit *recv* functions need #include <sys/socket.h>. E: xen implicit-fortify-decl ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119 I: Program returns random data in a function E: xen no-return-in-nonvoid-function ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362 Signed-off-by: Olaf Hering <[email protected]> Index: xen-4.5.0-testing/stubdom/Makefile =================================================================== --- xen-4.5.0-testing.orig/stubdom/Makefile +++ xen-4.5.0-testing/stubdom/Makefile @@ -72,6 +72,7 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLI patch -d $@ -p0 < newlib.patch patch -d $@ -p0 < newlib-chk.patch patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch + patch -d $@ -p1 < newlib-cygmon-gmon.patch find $@ -type f | xargs perl -i.bak \ -pe 's/\b_(tzname|daylight|timezone)\b/$$1/g' touch $@ Index: xen-4.5.0-testing/stubdom/newlib-cygmon-gmon.patch =================================================================== --- /dev/null +++ xen-4.5.0-testing/stubdom/newlib-cygmon-gmon.patch @@ -0,0 +1,60 @@ + +I: A function uses a 'return;' statement, but has actually a value + to return, like an integer ('return 42;') or similar. +W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 125, 146, 157, 330 + +I: Program is using implicit definitions of special functions. + these functions need to use their correct prototypes to allow + the lightweight buffer overflow checking to work. + - Implicit memory/string functions need #include <string.h>. + - Implicit *printf functions need #include <stdio.h>. + - Implicit *printf functions need #include <stdio.h>. + - Implicit *read* functions need #include <unistd.h>. + - Implicit *recv* functions need #include <sys/socket.h>. +E: xen implicit-fortify-decl ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119 + +I: Program returns random data in a function +E: xen no-return-in-nonvoid-function ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362 + +--- + libgloss/i386/cygmon-gmon.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +Index: newlib-1.16.0/libgloss/i386/cygmon-gmon.c +=================================================================== +--- newlib-1.16.0.orig/libgloss/i386/cygmon-gmon.c ++++ newlib-1.16.0/libgloss/i386/cygmon-gmon.c +@@ -61,6 +61,8 @@ + static char sccsid[] = "@(#)gmon.c 5.3 (Berkeley) 5/22/91"; + #endif /* not lint */ + ++#include <string.h> ++#include <unistd.h> + #define DEBUG + #ifdef DEBUG + #include <stdio.h> +@@ -89,7 +91,7 @@ static int s_scale; + + extern int errno; + +-int ++void + monstartup(lowpc, highpc) + char *lowpc; + char *highpc; +@@ -199,6 +201,7 @@ _mcleanup() + + static char already_setup = 0; + ++void + _mcount() + { + register char *selfpc; +@@ -341,6 +344,7 @@ overflow: + * profiling is what mcount checks to see if + * all the data structures are ready. + */ ++void + moncontrol(mode) + int mode; + { ++++++ xen2libvirt.py ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -51,12 +51,25 @@ isbinary = os.system('file -b ' + path + ' | grep text > /dev/null') if isbinary: - print 'File %s is not a text file containing Xen xm or sexpr configuration' - sys.exit(1) + print('Skipping %s (not a valid Xen configuration file)' % path) + return 'unknown' - if config.find('\(domain'): - return 'sexpr' - return 'xm' + for line in config.splitlines(): + if len(line) == 0 or line.startswith('#'): + continue + if line.startswith('<domain'): + # XML is not a supported conversion format + break + if line.startswith('(domain'): + print('Found sexpr formatted file %s' % path) + return 'sexpr' + if '=' in line: + print('Found xm formatted file %s' % path) + return 'xm' + break + + print('Skipping %s (not a valid Xen configuration file)' % path) + return 'unknown' def import_domain(conn, path, format=None, convert_only=False): @@ -68,20 +81,22 @@ format = check_config(path, config) if format == 'sexpr': - print_verbose('scrubbing domin from configuration') + print_verbose('scrubbing domid from configuration') config = re.sub("\(domid [0-9]*\)", "", config) print_verbose('scrubbed sexpr:\n %s' % config) xml = conn.domainXMLFromNative('xen-sxpr', config, 0) - else: - # if format != sexpr, try xm + elif format == 'xm': xml = conn.domainXMLFromNative('xen-xm', config, 0) + else: + # Return to continue on to next file (if recursive) + return f.close() # domUloader is no longer available in SLES12, replace with pygrub tree = ElementTree.fromstring(xml) bl = tree.find('.//bootloader') - if bl is not None and 'domUloader' in bl.text: + if bl is not None and bl.text is not None and 'domUloader' in bl.text: bl.text = 'pygrub' xml = ElementTree.tostring(tree) ++++++ xencommons.service ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -1,13 +1,31 @@ [Unit] -Description=Xencommons - Script to start and stop xenstored and xenconsoled -ConditionPathExists=/proc/xen +Description=xencommons +ConditionPathExists=/proc/xen/capabilities + +# Pull in all upstream service files +Requires=proc-xen.mount +After=proc-xen.mount +Requires=xenstored.service +After=xenstored.service +Requires=xenconsoled.service +After=xenconsoled.service +Requires=xen-init-dom0.service +After=xen-init-dom0.service +Requires=xen-qemu-dom0-disk-backend.service +After=xen-qemu-dom0-disk-backend.service + +# Make sure network (for bridge) and remote mounts (for xendomains) are available ... +After=network-online.target +After=remote-fs.target + +# ... for libvirt and xendomains +Before=xendomains.service libvirtd.service [Service] Type=oneshot RemainAfterExit=true ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities -ExecStart=-/etc/init.d/xencommons start -ExecStop=/etc/init.d/xencommons stop +ExecStart=/usr/bin/xenstore-ls -f [Install] WantedBy=multi-user.target ++++++ xenconsole-no-multiple-connections.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -1,8 +1,8 @@ -Index: xen-4.4.0-testing/tools/console/client/main.c +Index: xen-4.5.0-testing/tools/console/client/main.c =================================================================== ---- xen-4.4.0-testing.orig/tools/console/client/main.c -+++ xen-4.4.0-testing/tools/console/client/main.c -@@ -96,6 +96,7 @@ static int get_pty_fd(struct xs_handle * +--- xen-4.5.0-testing.orig/tools/console/client/main.c ++++ xen-4.5.0-testing/tools/console/client/main.c +@@ -95,6 +95,7 @@ static int get_pty_fd(struct xs_handle * * Assumes there is already a watch set in the store for this path. */ { struct timeval tv; @@ -10,7 +10,7 @@ fd_set watch_fdset; int xs_fd = xs_fileno(xs), pty_fd = -1; int start, now; -@@ -119,6 +120,14 @@ static int get_pty_fd(struct xs_handle * +@@ -118,6 +119,14 @@ static int get_pty_fd(struct xs_handle * pty_fd = open(pty_path, O_RDWR | O_NOCTTY); if (pty_fd == -1) warn("Could not open tty `%s'", pty_path); ++++++ xenpaging.qemu.flush-cache.patch ++++++ --- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100 +++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100 @@ -15,11 +15,11 @@ tools/qemu-xen-traditional-dir-remote/xenstore.c | 3 +++ 1 file changed, 3 insertions(+) -Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c =================================================================== ---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c -+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c -@@ -1020,6 +1020,9 @@ static void xenstore_process_dm_command_ +--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c ++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c +@@ -1006,6 +1006,9 @@ static void xenstore_process_dm_command_ do_pci_add(par); free(par); #endif ++++++ xl-coredump-file-location.patch ++++++ xl: change default dump directory Upstream xl uses /var/xen/dump/ as the default directory for domain core dumps. This patch changes the path to the more FHS-friendly location of /var/lib/xen/dump/, which was also the path used in SLE11. See bsc#900292 Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c =================================================================== --- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c +++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c @@ -2092,7 +2092,7 @@ static int handle_domain_death(uint32_t char *corefile; int rc; - if (asprintf(&corefile, "/var/xen/dump/%s", d_config->c_info.name) < 0) { + if (asprintf(&corefile, "/var/lib/xen/dump/%s", d_config->c_info.name) < 0) { LOG("failed to construct core dump path"); } else { LOG("dumping core to %s", corefile); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
