diff --git a/0040-xen-ignore-live-parameter-from-xen-.patch b/0040-xen-ignore-live-parameter-from-xen-.patch new file mode 100644 index 0000000..55cbc78 --- /dev/null +++ b/0040-xen-ignore-live-parameter-from-xen-.patch @@ -0,0 +1,39 @@ +From: Olaf Hering +Date: Tue, 8 Jan 2019 14:20:08 +0100 +Subject: xen: ignore live parameter from xen-save-devices-state + +The final step of xl migrate|save for an HVM domU is saving the state of +qemu. This also involves releasing all block devices. While releasing +backends ought to be a separate step, such functionality is not +implemented. + +Unfortunately, releasing the block devices depends on the optional +'live' option. This breaks offline migration with 'virsh migrate domU +dom0' because the sending side does not release the disks, as a result +the receiving side can not properly claim write access to the disks. + +As a minimal fix, remove the dependency on the 'live' option. Upstream +may fix this in a different way, like removing the newly added 'live' +parameter entirely. + +Fixes: 5d6c599fe1 ("migration, xen: Fix block image lock issue on live migration") + +Signed-off-by: Olaf Hering +[BSC#1079730, BSC#1101982, BSC#1063993] +--- + migration/savevm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/migration/savevm.c b/migration/savevm.c +index 9e45fb4f3f..47d4c51186 100644 +--- a/migration/savevm.c ++++ b/migration/savevm.c +@@ -2602,7 +2602,7 @@ void qmp_xen_save_devices_state(const char *filename, bool has_live, bool live, + * So call bdrv_inactivate_all (release locks) here to let the other + * side of the migration take controle of the images. + */ +- if (live && !saved_vm_running) { ++ if (!saved_vm_running) { + ret = bdrv_inactivate_all(); + if (ret) { + error_setg(errp, "%s: bdrv_inactivate_all() failed (%d)", diff --git a/qemu-linux-user.changes b/qemu-linux-user.changes index d3364f9..15a7690 100644 --- a/qemu-linux-user.changes +++ b/qemu-linux-user.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jan 8 13:41:35 UTC 2019 - olaf@aepfle.de + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1 +* Patches added: + 0040-xen-ignore-live-parameter-from-xen-.patch + (bsc#1079730, bsc#1101982, bsc#1063993) + ------------------------------------------------------------------- Fri Jan 4 19:53:55 UTC 2019 - Bruce Rogers diff --git a/qemu-linux-user.spec b/qemu-linux-user.spec index 06c0589..97807e1 100644 --- a/qemu-linux-user.spec +++ b/qemu-linux-user.spec @@ -71,6 +71,7 @@ Patch0036: 0036-xen-add-block-resize-support-for-xe.patch Patch0037: 0037-tests-qemu-iotests-Triple-timeout-o.patch Patch0038: 0038-tests-block-io-test-130-needs-some-.patch Patch0039: 0039-xen_disk-Avoid-repeated-memory-allo.patch +Patch0040: 0040-xen-ignore-live-parameter-from-xen-.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. ExcludeArch: s390 @@ -141,6 +142,7 @@ syscall layer occurs on the native hardware and operating system. %patch0037 -p1 %patch0038 -p1 %patch0039 -p1 +%patch0040 -p1 %build ./configure \ diff --git a/qemu-testsuite.changes b/qemu-testsuite.changes index 1001147..5e3fa3f 100644 --- a/qemu-testsuite.changes +++ b/qemu-testsuite.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jan 8 13:41:35 UTC 2019 - olaf@aepfle.de + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1 +* Patches added: + 0040-xen-ignore-live-parameter-from-xen-.patch + (bsc#1079730, bsc#1101982, bsc#1063993) + ------------------------------------------------------------------- Fri Jan 4 19:53:55 UTC 2019 - Bruce Rogers diff --git a/qemu-testsuite.spec b/qemu-testsuite.spec index e6337b5..cb5c453 100644 --- a/qemu-testsuite.spec +++ b/qemu-testsuite.spec @@ -176,6 +176,7 @@ Patch0036: 0036-xen-add-block-resize-support-for-xe.patch Patch0037: 0037-tests-qemu-iotests-Triple-timeout-o.patch Patch0038: 0038-tests-block-io-test-130-needs-some-.patch Patch0039: 0039-xen_disk-Avoid-repeated-memory-allo.patch +Patch0040: 0040-xen-ignore-live-parameter-from-xen-.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -943,6 +944,7 @@ This package provides a service file for starting and stopping KSM. %patch0037 -p1 %patch0038 -p1 %patch0039 -p1 +%patch0040 -p1 pushd roms/seabios %patch1100 -p1 diff --git a/qemu.changes b/qemu.changes index 1001147..5e3fa3f 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jan 8 13:41:35 UTC 2019 - olaf@aepfle.de + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-3.1 +* Patches added: + 0040-xen-ignore-live-parameter-from-xen-.patch + (bsc#1079730, bsc#1101982, bsc#1063993) + ------------------------------------------------------------------- Fri Jan 4 19:53:55 UTC 2019 - Bruce Rogers diff --git a/qemu.spec b/qemu.spec index 4c94595..fb2e0fa 100644 --- a/qemu.spec +++ b/qemu.spec @@ -176,6 +176,7 @@ Patch0036: 0036-xen-add-block-resize-support-for-xe.patch Patch0037: 0037-tests-qemu-iotests-Triple-timeout-o.patch Patch0038: 0038-tests-block-io-test-130-needs-some-.patch Patch0039: 0039-xen_disk-Avoid-repeated-memory-allo.patch +Patch0040: 0040-xen-ignore-live-parameter-from-xen-.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -943,6 +944,7 @@ This package provides a service file for starting and stopping KSM. %patch0037 -p1 %patch0038 -p1 %patch0039 -p1 +%patch0040 -p1 pushd roms/seabios %patch1100 -p1