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)",
|