qemu: Don't set VIR_MIGRATE_PAUSED for post-copy resume

For historical reasons we automatically enabled VIR_MIGRATE_PAUSED flag
when a migration was started for a paused domain. However, when resuming
failed post-copy migration the domain on the source host will always be
paused (as it is already running on the destination host). We must avoid
enabling VIR_MIGRATE_PAUSED in this case.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Jiri Denemark 2022-05-10 15:20:25 +02:00
parent 6280246971
commit a5e603c808

View File

@ -3290,7 +3290,9 @@ virDomainMigrateVersion3Full(virDomainPtr domain,
ret = virDomainGetInfo(domain, &info);
state = info.state;
}
if (ret == 0 && state == VIR_DOMAIN_PAUSED)
if (ret == 0 &&
state == VIR_DOMAIN_PAUSED &&
!(flags & VIR_MIGRATE_POSTCOPY_RESUME))
flags |= VIR_MIGRATE_PAUSED;
destflags = flags & ~(VIR_MIGRATE_ABORT_ON_ERROR |