• E
    snapshot: only pass snapshot to qemu command line when reverting · 5e47785b
    Eric Blake 提交于
    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.
    5e47785b
qemu_process.h 3.4 KB