[libvirt] [PATCH v1 1/2] storage: extend preallocation flags support for qemu-img

Wim ten Have wim.ten.have at oracle.com
Mon Apr 9 18:14:18 UTC 2018


On Wed, 4 Apr 2018 13:31:39 +0200
Michal Privoznik <mprivozn at redhat.com> wrote:

> On 04/03/2018 04:14 PM, Wim Ten Have wrote:
> > From: Wim ten Have <wim.ten.have at oracle.com>
> > 
> > This patch adds support to qcow2 formatted filesystem object storage by
> > instructing qemu-img to build them with preallocation=falloc whenever the
> > XML described storage <allocation> matches its <capacity>.  For all other
> > cases the filesystem stored objects are built with preallocation=metadata.
> > 
> > Signed-off-by: Wim ten Have <wim.ten.have at oracle.com>
	...
> >      VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA = 1 << 0,
> > -    VIR_STORAGE_VOL_CREATE_REFLINK = 1 << 1, /* perform a btrfs lightweight copy */
> > +    VIR_STORAGE_VOL_CREATE_PREALLOC_FALLOC   = 1 << 1,
> > +    VIR_STORAGE_VOL_CREATE_PREALLOC_FULL     = 1 << 2,
> > +    VIR_STORAGE_VOL_CREATE_REFLINK           = 1 << 3, /* perform a btrfs lightweight copy */  
> 
> This is not. Imagine there's a mgmt application already written and
> compiled which calls:
> 
> virStorageVolCreateXML(flags = VIR_STORAGE_VOL_CREATE_REFLINK);
> 
> Because it is already compiled it is effectively calling:
> 
> virStorageVolCreateXML(flags = 1);
> 
> and everything works. However, if this change would be merged, the mgmt
> application would be still making the same call but now it would have
> different semantic, because you are changing the numbering. So
> effectively mgmt app would be calling
> 
> virStorageVolCreateXML(flags = VIR_STORAGE_VOL_CREATE_PREALLOC_FALLOC)
> 
> which is obviously wrong. We can not expect mgmt applications to be
> recompiled every time there's a new release of libvirt.
	...

  right, let me send v2. (applying and propagating XML target.sparse)

> Also, storagevolxml2argvtest is failing after this change. See 'make check'.

  ?! ... sure I ran 'make check'.  Anyways ... corrections under v2 coming forth.

Rgds,
- Wim.

> Michal
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list