AL> The goal is to eliminate the distinction between savevm/migrate since
AL> they are really the same thing (savevm just pauses the VM first).
But from a high level, there are (at least) two distinct management
operations in my mind: relocation and checkpointing. Relocation
implies that a guest leaves the source machine and appears on the
destination. Checkpointing implies that the domain doesn't move. If
we take these two actions, can we not still provide for all the cases?
For example:
/* Migrate explicitly undefines the host */
virDomainMigrate(dom, "host"); /* Xen case */
virDomainMigrate(dom, "tcp://host"); /* qemu case */
virDomainMigrate(dom, "lvm://foo"); /* qemu error case */
/* Checkpoint does not undefine the host */
virDomainCheckpoint(dom, "foo"); /* Xen unimplemented case */
virDomainCheckpoint(dom, "lvm://foo"); /* qemu case */
Is that not sane?
--
Dan Smith
IBM Linux Technology Center
Open Hypervisor Team
email: danms(a)us.ibm.com