On Mon, Aug 10, 2009 at 03:48:10AM +0300, Lucian Adrian Grijincu wrote:
Hello,
I see that the vbox driver in virDomainSave doesn't use the
destination file path and calls vbox's IConsole::SaveState.
As I see it IConsole::SaveState is more like a "pause" command: you
can save the state you're in and wait for the machine to stop running
and you can resume it later.
This limits the uses of the vbox support of libvirt.
There is another way you can do virDomainSave/virDomainRestore: use snapshots.
This way, you can specify the file in which you want to save the
snapshot, you can continue to use the machine and do some crazy
experiments and then restore the machine to the known good state.
As of the current implementation, I don't think there's a way to do
this in libvirt.
I'd like to know if there's a real reason why virDomainSave is
implemented this way (and virDomainRestore is unimplemented), or it
just got implemented like this and no one cared much about it.
To be honest, the vbox driver shouldn't implement virDomainSave
like this at all, as ignoring the filename parameter is not in
compliance with the API contract. Since there's no corresponding
Restore impl I'd say we'd be better off just removeing the current
virDomainSave impl since its not usable by libvirt apps in its
form
THe current virDomainSave/Restore APIs are really pretty limited
in their flexibility, and are well overdue for deprecation and
replacement with something that can be implemented sanely across
all hypervisors.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|