[libvirt] [PATCHv2 16/16] save: support qemu modifying xml on domain save/restore
Daniel P. Berrange
berrange at redhat.com
Thu Jul 21 11:38:41 UTC 2011
On Tue, Jul 19, 2011 at 10:20:39PM -0600, Eric Blake wrote:
> With this, it is possible to update the path to a disk backing
> image on either the save or restore action, without having to
> binary edit the XML embedded in the state file.
>
> * src/qemu/qemu_driver.c (qemuDomainSaveInternal)
> (qemuDomainSaveImageOpen): Add parameter.
> (qemuDomainSaveFlags, qemuDomainManagedSave)
> (qemuDomainRestoreFlags, qemuDomainObjRestore): Update callers.
> ---
>
> v2: new patch
>
> Tested via:
>
> virsh start dom
> virsh dumpxml dom > dom.xml
> ln /path/to/disk /path/to/disk2
> ln /path/to/disk /path/to/disk3
> edit dom.xml to change /path/to/disk to /path/to/disk2
> virsh save dom dom.save --xml dom.xml
> check that xml embedded in binary dom.save did change
> cp dom.xml dom.xml2
> edit dom.xml to change /path/to/disk2 to /path/to/disk3
> edit dom.xml2 to break abi, such as removing entire cdrom <disk> element
> virsh restore dom.save --xml dom.xml2 => properly failed
> virsh restore dom.save --xml dom.xml
> virsh dumpxml dom - validate that /path/to/disk3 is in use
>
> Which means it is now possible to do:
>
> virsh dumpxml dom > dom.xml
> virsh save dom dom.save
> use qemu-img to create new qcow2 files with backing file of the original images
> alter dom.xml to reflect the new file names
> virsh restore dom.save --xml dom.xml
>
> to externally manage disk snapshots causing changed file names.
>
> Not quite where I wanted to be with snapshot support, but certainly
> a step in the right direction!
>
> src/qemu/qemu_driver.c | 56 +++++++++++++++++++++++++++++++++--------------
> 1 files changed, 39 insertions(+), 17 deletions(-)
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