[libvirt] [PATCH libvirt] storage: add preallocation element

Eric Blake eblake at redhat.com
Thu May 17 22:13:19 UTC 2012


On 05/17/2012 03:35 PM, Marc-André Lureau wrote:
> Allow to specify preallocation mode for QCOW2 images.
> If not specified or not available, it's ignored.
> 
> This change only modify the schema, doc, parsing and tests.
> ---
>  docs/formatstorage.html.in               |    7 +++++++
>  docs/schemas/storagevol.rng              |   18 ++++++++++++++++++
>  src/conf/storage_conf.c                  |   26 ++++++++++++++++++++++++++
>  src/conf/storage_conf.h                  |    1 +
>  src/util/storage_file.c                  |    4 ++++
>  src/util/storage_file.h                  |   10 ++++++++++
>  tests/storagevolxml2xmlin/vol-qcow2.xml  |    1 +
>  tests/storagevolxml2xmlout/vol-qcow2.xml |    1 +
>  8 files changed, 68 insertions(+)

Meta-question - is pre-allocation something that is persistent with the
existence of the storage volume, or is it something that is one-shot at
the creation of the volume?

If pre-allocation is a persistent property of the volume itself, then I
would expect qemu-img to tell me whether an image is currently
pre-allocated, as well as having knobs to tweak to force an image to
become pre-allocated where it was not previously in that state.  The
converse direction, going from pre-allocated to sparse as a form of
compression, might also be possible.  If this is the case, then making
pre-allocation part of the XML for describing a storage volume makes sense.

On the other hand, if pre-allocation is only a knob to creation, but
once the image is created it is no longer possible to tell whether it
was created sparse or pre-allocated, nor is it possible to tweak the
image to change between the two states at will, then it makes more sense
to add a flag to the creation methods that specify whether to request
pre-allocation, and to leave it out of the XML.

I need to know the answer to that meta-question before I can review this
part of the patch series.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120517/f58c6ac3/attachment-0001.sig>


More information about the libvir-list mailing list