qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 3/5] vmdk: Add option to create zeroed-grain


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v2 3/5] vmdk: Add option to create zeroed-grain image
Date: Tue, 23 Apr 2013 09:00:54 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Apr 23, 2013 at 08:52:02AM +0800, Fam Zheng wrote:
> On Mon, 04/22 16:06, Stefan Hajnoczi wrote:
> > On Mon, Apr 22, 2013 at 10:07:57AM +0800, Fam Zheng wrote:
> > > Add image create option "zeroed-grain" to enable zeroed-grain GTE
> > > feature of vmdk sparse extents. When this option is on, header version
> > > of newly created extent will be 2 and VMDK4_FLAG_ZG flag bit will be
> > > set.
> > > Signed-off-by: Fam Zheng <address@hidden>
> > > ---
> > >  block/vmdk.c | 22 +++++++++++++++++-----
> > >  1 file changed, 17 insertions(+), 5 deletions(-)
> > 
> > Is there a way to upgrade an image file to use zeroed-grain GTEs once
> > the file has been created?
> > 
> 
> Yes. We have discussed this on IRC.
> 
> Here's how we do it:
>  - If file version is 2 and zeroed-grain GTE bit set in header, we can
>    support bdrv_co_write_zeroes (this patch series implemented).
>  - If the file version is 2, we can enable zeroed-grain flag in header
>    on bdrv_co_write_zeroes, and use zeroed-grain GTE. (need another
>    patch to update the header).
>  - Otherwize, -ENOTSUP
> 
> For background, here's how vmware uses this feature:
>  - On shrinking a *child* disk (e.g.: vmware-vdiskmanager -k
>    child.vmdk), if the child cluster is filled with zero, then the image
>    version is upgraded to 2 and zeroed-grian flag is set, and
>    zeroed-grain GTE is used to clear out the cluster, no need to take
>    care of parent cluster allocation and actual data at all. That's
>    where the efficiency comes.

The question is when QEMU should upgrade images.  It's safest to avoid
silently increasing the image file's version requirements.  But it would
be nice to allow upgrading if the users wishes to do that.

It doesn't need to be solved in this patch series.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]