[RESEND][PATCH] migration: fix xml file residual during vm crash with migration

Michal Privoznik mprivozn at redhat.com
Wed Sep 2 14:14:53 UTC 2020


On 7/27/20 10:28 AM, zhengchuan wrote:
>>From 935ec812b822ca978631e72bb9b9a5d00df24a42 Mon Sep 17 00:00:00 2001
> From: Zheng Chuan <zhengchuan at huawei.com>
> Date: Mon, 27 Jul 2020 14:39:05 +0800
> Subject: [PATCH] migration: fix xml file residual during vm crash with
>   migration
> 
> when migration is cancelled (such as kill -9 vmpid in Src, etc), it could
> do virDomainSaveStatus() to save xml file after qemuProcessStop(), which results
> in xml residulal.
> 
> Fix it by that do not do virDomainSaveStatus() if vm is not active.
> 
> Signed-off-by: Zheng Chuan <zhengchuan at huawei.com>
> ---
>   src/qemu/qemu_migration.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index 2c7bf34..d2804ab 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -3073,6 +3073,9 @@ qemuMigrationSrcConfirmPhase(virQEMUDriverPtr driver,
>           qemuMigrationParamsReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
>                                    jobPriv->migParams, priv->job.apiFlags);
>   
> +        if (!virDomainObjIsActive(vm))
> +            goto done;
> +
>           if (virDomainObjSave(vm, driver->xmlopt, cfg->stateDir) < 0)
>               VIR_WARN("Failed to save status on vm %s", vm->def->name);
>       }
> 

This is exactly what qemuDomainObjSaveStatus() would do.

Michal




More information about the libvir-list mailing list