On 08/24/2011 10:26 AM, Daniel P. Berrange wrote:
On Wed, Aug 24, 2011 at 09:22:23AM -0600, Eric Blake wrote:
> Audit all changes to the qemu vm->current_snapshot, and make them
> update the saved xml file for both the previous and the new
> snapshot, so that there is always at most one snapshot with
> <active>1</active> in the xml, and that snapshot is used as the
> current snapshot even across libvirtd restarts.
>
> * src/conf/domain_conf.h (_virDomainSnapshotDef): Alter member
> type and name.
> * src/conf/domain_conf.c (virDomainSnapshotDefParseString)
> (virDomainSnapshotDefFormat): Update clients.
> * docs/schemas/domainsnapshot.rng: Tighten rng.
> * src/qemu/qemu_driver.c (qemuDomainSnapshotLoad): Reload current
> snapshot.
> (qemuDomainSnapshotCreateXML, qemuDomainRevertToSnapshot)
> (qemuDomainSnapshotDiscard): Track current snapshot.
> ---
> docs/schemas/domainsnapshot.rng | 5 ++-
> src/conf/domain_conf.c | 6 ++-
> src/conf/domain_conf.h | 4 +-
> src/qemu/qemu_driver.c | 81 +++++++++++++++++++++++++++++----------
> 4 files changed, 72 insertions(+), 24 deletions(-)
ACK
5 and 6 are now pushed. There is still a bug in tracking the current
snapshot across virDomainSnapshotDelete(,
VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN), fixed in patch 8.5/43, but that
one still needs a review before I can push it.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org