9dd3bf90ea
- 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) OBS-URL: https://build.opensuse.org/request/show/663700 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=444
40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
From: Olaf Hering <olaf@aepfle.de>
|
|
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 <olaf@aepfle.de>
|
|
[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)",
|