On Tue, Jan 19, 2016 at 10:23:40 +0000, Daniel P. Berrange wrote:
On Tue, Jan 19, 2016 at 10:50:07AM +0100, Jiri Denemark wrote:
> From: Cristian Klein <cristiklein(a)gmail.com>
>
> To use post-copy one has to start the migration with
> VIR_MIGRATE_POSTCOPY flag and VIR_MIGRATE_POSTCOPY_AFTER_PRECOPY or,
> while migration is in progress, call virDomainMigrateStartPostCopy()
> to switch from pre-copy to post-copy.
The VIR_MIGRATE_POSTCOPY_AFTER_PRECOPY flag is something that feels
a little wrong to me. It is not something QEMU directly supports, but
rather it is implementing a very specific usage policy in libvirt.
I can see it could be considered convenient, but we have always tried
to stay away from implementing specific policies in libvirt since
inevitably they will not serve everyone else. Since we have ability
to report to apps how many iterations we've done, and apps generally
monitor migration progress anyway (even virsh does), it doesn't seem
like it is hard for apps to make the decision to switch to postcopy
and avoid this policy in libvirt
Yeah, I wasn't completely convinced this is a good idea either :-) It
was just easier to implement in libvirt rather than doing the same in
virsh or any other client. But it shouldn't be too hard to do it there
either.
The patches affected by this change will be 2/16 (only slightly), 9/16
(will be removed), 12/16 (will implement --postcopy-after-precopy in a
client).
Jirka