1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 06:50:22 +03:00

qemu_migration.c: sleep first before checking for migration status.

The problem with the previous implementation is,
even when qemuMigrationUpdateJobStatus() detects a migration job
has completed, it will do a sleep for 50 ms (which is unnecessary
and only adds up to the VM pause time).

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Xing Lin 2015-04-09 16:02:02 -06:00 committed by Michal Privoznik
parent e4d7ddfdd2
commit 522e81cbb5

View File

@ -2385,7 +2385,7 @@ qemuMigrationWaitForCompletion(virQEMUDriverPtr driver,
jobInfo->type = VIR_DOMAIN_JOB_UNBOUNDED;
while (jobInfo->type == VIR_DOMAIN_JOB_UNBOUNDED) {
while (1) {
/* Poll every 50ms for progress & to allow cancellation */
struct timespec ts = { .tv_sec = 0, .tv_nsec = 50 * 1000 * 1000ull };
@ -2407,6 +2407,9 @@ qemuMigrationWaitForCompletion(virQEMUDriverPtr driver,
break;
}
if (jobInfo->type != VIR_DOMAIN_JOB_UNBOUNDED)
break;
virObjectUnlock(vm);
nanosleep(&ts, NULL);