From: George Dunlap Date: Thu, 11 Dec 2014 15:23:55 +0000 (+0000) Subject: Backport fixes for tapdisk with HVM domains X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=66de01423851ece2472e7974b183091b5d6c1861;p=people%2Faperard%2Fcentos-package-xen.git Backport fixes for tapdisk with HVM domains Backport git id 16529572, which passes the correct file path, and an acked-but-not-committed patch which passes the correct format. Signed-off-by: George Dunlap --- diff --git a/SOURCES/xen-queue.am b/SOURCES/xen-queue.am index 3247e83..3de3f2a 100644 --- a/SOURCES/xen-queue.am +++ b/SOURCES/xen-queue.am @@ -1,4 +1,4 @@ -From 339f5bfe2118628b62626226158301edaae34c46 Mon Sep 17 00:00:00 2001 +From 0e244ee2d47f6f05e8caa3d1254f92f2537ea061 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:44 +0100 Subject: [PATCH] Fix up xend init scripts @@ -156,7 +156,7 @@ index 9ef0210..0876ee2 100644 1.9.1 -From 718ad3ee41aba8a426a46485b239b4f5cdf8d9eb Mon Sep 17 00:00:00 2001 +From b9b87bcbfad213222b761b3fa83dc6eb63194213 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:44 +0100 Subject: [PATCH] Change dumpdir to /var/lib/xen @@ -167,7 +167,7 @@ Subject: [PATCH] Change dumpdir to /var/lib/xen 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/Makefile b/tools/Makefile -index 00c69ee..125acee 100644 +index d548e5e..6610a8d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -60,7 +60,7 @@ all: subdirs-all @@ -205,7 +205,7 @@ index 8d4ff5c..895fc01 100644 1.9.1 -From 596ee6c002f92918da0c483998c7f2c3242cc5b0 Mon Sep 17 00:00:00 2001 +From 8e1ea07fe9d64c893cf08db19f96dae49c477f4c Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:44 +0100 Subject: [PATCH] Disable iptables on the bridge @@ -252,7 +252,7 @@ index 3c63c55..f74de3d 100644 1.9.1 -From 753ee1d1056b18479aac93466977c3fa8c4e2a16 Mon Sep 17 00:00:00 2001 +From 5818ffa5f619720ebccf594a630930234b4d3a03 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:44 +0100 Subject: [PATCH] pygrubfix.patch @@ -295,7 +295,7 @@ index 45a7290..6e39ae5 100644 1.9.1 -From 53f2efc145161f31910ae2cf11abd3639bc75b72 Mon Sep 17 00:00:00 2001 +From 33cbefb2cc2860e3cb5c467b17dda6b8b48d1235 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:44 +0100 Subject: [PATCH] xend.catchbt.patch @@ -343,7 +343,7 @@ index 832c168..161aeb5 100644 1.9.1 -From 3251da2d848a1cee982f75030981894bcc44af92 Mon Sep 17 00:00:00 2001 +From 80a025112f7b89186633e9ce67164623263979cb Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:44 +0100 Subject: [PATCH] xend-pci-loop.patch # Don't crash due to weird PCI cards (Bug @@ -375,7 +375,7 @@ index adeca4b..94326b3 100644 1.9.1 -From c74aba60ce42d66ae3824a9d7bf412efaee6d380 Mon Sep 17 00:00:00 2001 +From 5da9f9df7b688f8278455ac7f79ec71adb0c2d4d Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 16:30:45 +0100 Subject: [PATCH] xend.selinux.fixes.patch @@ -413,7 +413,7 @@ index 0876ee2..05afc0e 100644 1.9.1 -From e3997e2ae052ad46312bfdeae72b61a6628a58bf Mon Sep 17 00:00:00 2001 +From 9191080e8bdee8be76aeae7b174807f9f24aefe0 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:36:22 +0100 Subject: [PATCH] xen.use.fedora.ipxe.patch @@ -425,10 +425,10 @@ Subject: [PATCH] xen.use.fedora.ipxe.patch 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Config.mk b/Config.mk -index 33f3d9b..0b69f2f 100644 +index c44853f..42d21e6 100644 --- a/Config.mk +++ b/Config.mk -@@ -241,7 +241,7 @@ SEABIOS_UPSTREAM_TAG ?= rel-1.7.3.1 +@@ -239,7 +239,7 @@ SEABIOS_UPSTREAM_TAG ?= rel-1.7.3.1 # Fri Aug 2 14:12:09 2013 -0400 # Fix bug in CBFS file walking with compressed files. @@ -438,7 +438,7 @@ index 33f3d9b..0b69f2f 100644 # Specify which qemu-dm to use. This may be `ioemu' to use the old # Mercurial in-tree version, or a local directory, or a git URL. diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile -index cb13212..428045b 100644 +index 97de642..118dd75 100644 --- a/tools/firmware/Makefile +++ b/tools/firmware/Makefile @@ -14,7 +14,7 @@ SUBDIRS-$(CONFIG_SEABIOS) += seabios-dir @@ -467,7 +467,7 @@ index 00ee952..b0c6f37 100644 1.9.1 -From a4b3976d608bef3564cc52cf9d9e7db23e10e031 Mon Sep 17 00:00:00 2001 +From 9256b08381e337ddf79925267d5c04cebc65b46e Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:36:22 +0100 Subject: [PATCH] xen.fedora.efi.build.patch @@ -534,7 +534,7 @@ index 1daa7ac..f5398c4 100644 1.9.1 -From dd45532cbfbbf11339c77a1edf0f7d8cf02eb88f Mon Sep 17 00:00:00 2001 +From 6b83f1160ab45ceb0de23868305eff802336f08e Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:36:22 +0100 Subject: [PATCH] xen.fedora19.buildfix.patch @@ -569,7 +569,7 @@ index 0fc3f82..0d43727 100644 1.9.1 -From e2364c9c6f39484cb46413659482321b21a8b5de Mon Sep 17 00:00:00 2001 +From c032e6bdd88b7f3961cda95df4d699ae486c43fa Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:36:22 +0100 Subject: [PATCH] xen-configure-xend.patch @@ -620,7 +620,7 @@ index 0896a27..cea12e1 100644 1.9.1 -From f2c93d572b9e1d0dc5026a84f1044b528c4d5f2e Mon Sep 17 00:00:00 2001 +From 843555896427c3d3fdf62a4a5b536b33847f84ef Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:50:23 +0100 Subject: [PATCH] x86/shadow: fix race condition sampling the dirty vram state @@ -679,7 +679,7 @@ index b1e3187..99c5e44 100644 1.9.1 -From d13ef8eba3f4dba0a8d8f2f042f53c066a73603f Mon Sep 17 00:00:00 2001 +From b3633ccea202d54edd0801a5d714c9e58868b629 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:54:16 +0100 Subject: [PATCH] x86/emulate: check cpl for all privileged instructions @@ -728,7 +728,7 @@ index 50d8965..4810e68 100644 1.9.1 -From a0ba544c3c5ad7785b21d8aefb4729c63cd9d477 Mon Sep 17 00:00:00 2001 +From 73fcc81d9f252c79f2fcb3a93fe53c155667ee80 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:54:20 +0100 Subject: [PATCH] x86emul: only emulate software interrupt injection for real @@ -764,7 +764,7 @@ index 4810e68..5fbe024 100644 1.9.1 -From 86019dc2c87f436623d1d3aff2cf8d63d47ec0d1 Mon Sep 17 00:00:00 2001 +From fdf1614760e187b9d43eb50c59218a4374d03f1c Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:54:23 +0100 Subject: [PATCH] x86/HVM: properly bound x2APIC MSR range @@ -812,7 +812,136 @@ index be1a2d3..3289604 100644 1.9.1 -From 4d2e465691947530efa89189326c6a2d14286498 Mon Sep 17 00:00:00 2001 +From cf503bf76a659278509b5671fd8c59bb78896323 Mon Sep 17 00:00:00 2001 +From: Wen Congyang +Date: Thu, 11 Dec 2014 16:21:21 +0000 +Subject: [PATCH] tools: libxl: pass correct file to qemu if we use blktap2 + +If we use blktap2, the correct file should be blktap device +not the pdev_path. + +Signed-off-by: Wen Congyang +Cc: Shriram Rajagopalan +Acked-by: Ian Campbell +--- + tools/libxl/libxl_dm.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c +index f6f7bbd..65104d5 100644 +--- a/tools/libxl/libxl_dm.c ++++ b/tools/libxl/libxl_dm.c +@@ -679,6 +679,7 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, + libxl__device_disk_dev_number(disks[i].vdev, &disk, &part); + const char *format = qemu_disk_format_string(disks[i].format); + char *drive; ++ const char *pdev_path; + + if (dev_number == -1) { + LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "unable to determine" +@@ -708,6 +709,12 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, + continue; + } + ++ if (disks[i].backend == LIBXL_DISK_BACKEND_TAP) ++ pdev_path = libxl__blktap_devpath(gc, disks[i].pdev_path, ++ disks[i].format); ++ else ++ pdev_path = disks[i].pdev_path; ++ + /* + * Explicit sd disks are passed through as is. + * +@@ -717,11 +724,11 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, + if (strncmp(disks[i].vdev, "sd", 2) == 0) + drive = libxl__sprintf + (gc, "file=%s,if=scsi,bus=0,unit=%d,format=%s,cache=writeback", +- disks[i].pdev_path, disk, format); ++ pdev_path, disk, format); + else if (disk < 4) + drive = libxl__sprintf + (gc, "file=%s,if=ide,index=%d,media=disk,format=%s,cache=writeback", +- disks[i].pdev_path, disk, format); ++ pdev_path, disk, format); + else + continue; /* Do not emulate this disk */ + } +-- +1.9.1 + + +From 026039c134e0c91d7bb2410ebcf655147e3c369c Mon Sep 17 00:00:00 2001 +From: George Dunlap +Date: Thu, 11 Dec 2014 16:23:09 +0000 +Subject: [PATCH] it: George Dunlap + +libxl: Tell qemu to use raw format when using a tapdisk + +At the moment libxl unconditinally passes the underlying file format +to qemu in the device string. However, when tapdisk is in use, +tapdisk handles the underlying format and presents qemu with +effectively a raw disk. When qemu looks at the tapdisk block device +and doesn't find the image format it was looking for, it will fail. + +This effectively means that tapdisk cannot be used with HVM domains at +the moment except for raw files. + +Instead, if we're using a tapdisk backend, tell qemu to use a raw file +format. + +Signed-off-by: George Dunlap +--- +CC: Ian Campbell +CC: Ian Jackson +CC: Wei Liu +CC: Konrad Wilk + +Release exception justification: This fixes a bug in functionality, in +that at the moment HVM guests cannot boot with tapdisk and vhd format. + +This is not a regression in xl functionality per se, since (AFAICT) +this has never worked. However, given that 4.5 is the first release +without xend, this *does* represent a regression in functionality for +Xen as a whole (since before people using hvm guest with vhd on blktap +could use xend). + +The fix is very simple and should only affect codepaths that already +don't work, so the risk of regressions should be very low. + +While preparing this patch, I also noticed that cdroms will ignore the +backend parameter and treat everything as a file. This is a bug but I +think it's a much less important one to address this late in the +release cycle. +--- + tools/libxl/libxl_dm.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c +index 65104d5..aef7fb8 100644 +--- a/tools/libxl/libxl_dm.c ++++ b/tools/libxl/libxl_dm.c +@@ -709,11 +709,14 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, + continue; + } + +- if (disks[i].backend == LIBXL_DISK_BACKEND_TAP) ++ if (disks[i].backend == LIBXL_DISK_BACKEND_TAP) { ++ format = qemu_disk_format_string(LIBXL_DISK_FORMAT_RAW); + pdev_path = libxl__blktap_devpath(gc, disks[i].pdev_path, + disks[i].format); +- else ++ } else { + pdev_path = disks[i].pdev_path; ++ } ++ + + /* + * Explicit sd disks are passed through as is. +-- +1.9.1 + + +From 399a8465e8604fea91438dc093acfcb3c93b422c Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Wed, 15 Oct 2014 15:36:23 +0100 Subject: [PATCH] xen-centos-disable-CFLAGS-for-qemu.patch @@ -822,7 +951,7 @@ Subject: [PATCH] xen-centos-disable-CFLAGS-for-qemu.patch 1 file changed, 1 insertion(+) diff --git a/tools/Makefile b/tools/Makefile -index 125acee..ce752b0 100644 +index 6610a8d..86d8a58 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -186,6 +186,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find @@ -837,9 +966,9 @@ index 125acee..ce752b0 100644 1.9.1 -From 9b1a730b48f2a9a621c2d2541c7ee1ee9121f3ca Mon Sep 17 00:00:00 2001 +From 271e989675ef858022f959034524ae1b3961d93b Mon Sep 17 00:00:00 2001 From: George Dunlap -Date: Wed, 22 Oct 2014 19:24:18 +0100 +Date: Wed, 15 Oct 2014 15:36:23 +0100 Subject: [PATCH] Adapt libxl to use blktap 2.5 v0.9.2 Signed-off-by: George Dunlap diff --git a/SPECS/xen.spec b/SPECS/xen.spec index 5bc8ce4..b858c4f 100644 --- a/SPECS/xen.spec +++ b/SPECS/xen.spec @@ -768,6 +768,7 @@ rm -rf %{buildroot} %changelog * Thu Dec 11 2014 George Dunlap - 4.4.1-3.el6.centos - Backported qdisk persistent grant fix + - Backported fixes to use tapdisk with HVM guests * Wed Oct 22 2014 George Dunlap - 4.4.1-2.el6.centos - Updated to blktap 2.5 v0.9.2