From 111198210bba41e56fa37816e967d045d482a7f2 Mon Sep 17 00:00:00 2001 From: Wang Rui Date: Mon, 1 Dec 2014 15:05:33 +0800 Subject: [PATCH] qemu: set jobinfo type to FAILED if job is failed in qemuMigrationRun If job is failed in qemuMigrationRun, we expect the jobinfo type as FAILED. But jobinfo type won't be updated until entering qemuMigrationWaitForCompletion. We should make it updated in all conditions. Moreover, we can't use qemuMigrationUpdateJobStatus here because job may fail in libvirt, so we can't query job status from QEMU. Signed-off-by: Wang Rui --- src/qemu/qemu_migration.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 3c47d7c90c..f19e68ccf6 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -3723,8 +3723,10 @@ qemuMigrationRun(virQEMUDriverPtr driver, * confirm3 step, but need to release the lock state */ if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING) { - if (qemuMigrationSetOffline(driver, vm) < 0) + if (qemuMigrationSetOffline(driver, vm) < 0) { + priv->job.current->type = VIR_DOMAIN_JOB_FAILED; goto cleanup; + } } ret = 0; @@ -3748,6 +3750,9 @@ qemuMigrationRun(virQEMUDriverPtr driver, qemuDomainJobInfoUpdateDowntime(priv->job.completed); } + if (priv->job.current->type == VIR_DOMAIN_JOB_UNBOUNDED) + priv->job.current->type = VIR_DOMAIN_JOB_FAILED; + cookieFlags |= QEMU_MIGRATION_COOKIE_NETWORK | QEMU_MIGRATION_COOKIE_STATS; if (flags & VIR_MIGRATE_PERSIST_DEST) -- 2.39.5