On Mon, Jul 23, 2012 at 10:41:55AM +0100, Richard W.M. Jones wrote:
On Mon, Jul 23, 2012 at 10:28:57AM +0100, Daniel P. Berrange wrote:
> I agree with the quoted text that libvirt should define a
> directory to use for the transient disks under /var/lib/libvirt/images
> perhaps, and just use 'qemu-img create' to create that, and the
> unlink it once QEMU has started up, so we can auto-cleanup
> on QEMU shutdown.
One issue here is that 'qemu-img create' is slow. 0.4 seconds to
create a qcow2 file backing another file (ie. per readonly disk, and
programs like virt-df may open dozens of readonly disks).
I looked at the strace output and it seems the slowness is just
overhead from the machinery of qemu's coroutines, and not connected
with writing the qcow2 file, which is presumably why the qemu
snapshot=on option is not noticably slow.
Other options available could be
- Enhance QEMU to allow a snapshot directory to be specified
- Make libvirt actually create the empty QCow2 file. The QEMU
people will probably say this is evil, but the knowledge
required to a create an empty qcow2 file pointing to a backing
file is pretty tiny.
Or we could even do both, using the former for new enough QEMU and
the latter only for older QEMU
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 :|