How in the world is managedsave supposed to work on transient domains?
The moment you save a domain, the qemu process is ended; but ending the
qemu process means that a transient domain no longer has any state
tracked by libvirt.
Should libvirt be temporarily defining a domain when creating a
managedsave of a transient domain? Seeing as how persistent domains
cannot be marked autostart, does this mean that you have to use 'virsh
start dom' rather than autostart to restart a transient domain with
managedsave state?
Or should managedsave be prohibited on transient domains, and only exist
as a possibility for persistent ones? After all,
qemuDomainHasManagedSaveImage() will always return false for a running
domain - a managed save state file only exists if you have shut down the
domain into managed state file with plans to later start from that file.
Personally, I'm leaning towards the latter - just like
virDomainSetAutostart fails on transient domains, I think
virDomainManagedSave should likewise fail on transient domains, and that
applications that favor transient domains should also be managing state
files themselves, via virDomainSave[Flags], rather than relying on
virDomainManagedSave.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org