As it stands now, when a domain is saved to disk it is
suspended in the process, and then destroyed. This is done by the checkpointing
code in Xend.
However, it's a good idea to leave the option open to the user whether or not
the saved domain should be kept alive or be suspended,
as it is very possible this feature may be used in real checkpointing of a
working domain state, just in order to not lose everything should something go
if you have a guest which does some heavy calculations, or one which handles
many customer's connection this may be a good idea even in migration (which
calls the checkpointing code anyway.), although in the latter case, of course
the network interfaces of the new domain will be taken down, and it may be used
as a hot spare ready for a quick hook-up...
So what do you think?
I'm thinking of either using pause/unpause instead of suspend and manually save
the info the suspend record would have contained,
OR recreating the vcpu after HYPERVISOR_suspend() is done with it, remapping
the necessary fns.
A Nice addition:
As a final addition to these nice capabilities (though
only a NICE one, not an important one), I believe it would also be a good idea
to add a utility which can read a state file (as written to the fd in
xc_linux_save) created during live migration,
And output a "fixed" file with the earlier
copies of the pages that were resent discarded.
This would allow the aforementioned domain save option
to be LIVE also, and without wasting too much space,
Which would enable live local checkpointing.