[libvirt] [PATCHv3 05/43] snapshot: only pass snapshot to qemu command line when reverting

Daniel P. Berrange berrange at redhat.com
Wed Aug 24 16:13:00 UTC 2011


On Wed, Aug 24, 2011 at 09:22:22AM -0600, Eric Blake wrote:
> Changing the current vm, and writing that change to the file
> system, all before a new qemu starts, is risky; it's hard to
> roll back if starting the new qemu fails for some reason.
> Instead of abusing vm->current_snapshot and making the command
> line generator decide whether the current snapshot warrants
> using -loadvm, it is better to just directly pass a snapshot all
> the way through the call chain if it is to be loaded.
> 
> This frees up the last use of snapshot->def->active for qemu's
> use, so the next patch can repurpose that field for tracking
> which snapshot is current.
> 
> * src/qemu/qemu_command.c (qemuBuildCommandLine): Don't use active
> field of snapshot.
> * src/qemu/qemu_process.c (qemuProcessStart): Add a parameter.
> * src/qemu/qemu_process.h (qemuProcessStart): Update prototype.
> * src/qemu/qemu_migration.c (qemuMigrationPrepareAny): Update
> callers.
> * src/qemu/qemu_driver.c (qemudDomainCreate)
> (qemuDomainSaveImageStartVM, qemuDomainObjStart)
> (qemuDomainRevertToSnapshot): Likewise.
> (qemuDomainSnapshotSetCurrentActive)
> (qemuDomainSnapshotSetCurrentInactive): Delete unused functions.
> ---
>  src/qemu/qemu_command.c   |    7 ++---
>  src/qemu/qemu_driver.c    |   47 ++++----------------------------------------
>  src/qemu/qemu_migration.c |    2 +-
>  src/qemu/qemu_process.c   |   10 +-------
>  src/qemu/qemu_process.h   |    1 +
>  5 files changed, 12 insertions(+), 55 deletions(-)

ACK


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list