qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] committing qcow2 to raw backing file


From: Jeff Cody
Subject: Re: [Qemu-devel] committing qcow2 to raw backing file
Date: Wed, 29 Jan 2014 09:52:26 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Jan 29, 2014 at 03:35:16PM +0100, Kevin Wolf wrote:
> Am 29.01.2014 um 14:50 hat Murali Balcha geschrieben:
> > Thanks for the quick reply. The scenario I have is little different. The
> > backing file is only 40 MB where as the virtual size of qcow2 is 1GB.
> > 
> > address@hidden:/tmp/20bcb425-d3c5-4c0f-819c-7c9b1a16fde3$ qemu-img
> > info 2e94bd45-7e4e-4e04-a8b4-74d579cad892_vda.qcow2
> > image: 2e94bd45-7e4e-4e04-a8b4-74d579cad892_vda.qcow2
> > file format: raw
> > virtual size: 39M (41126400 bytes)
> > disk size: 39M
> > address@hidden:/tmp/20bcb425-d3c5-4c0f-819c-7c9b1a16fde3$ qemu-img
> > info 2bc87796-60e8-4024-8a40-fae817e094da_vda.qcow2
> > image: 2bc87796-60e8-4024-8a40-fae817e094da_vda.qcow2
> > file format: qcow2
> > virtual size: 1.0G (1073741824 bytes)
> > disk size: 3.3M
> > cluster_size: 65536
> > backing file: 
> > /tmp/20bcb425-d3c5-4c0f-819c-7c9b1a16fde3/2e94bd45-7e4e-4e04-a8b4-74d579cad
> > 892_vda.qcow2
> > Format specific information:
> >     compat: 0.10
> > address@hidden:/tmp/20bcb425-d3c5-4c0f-819c-7c9b1a16fde3$ qemu-img
> > commit 2bc87796-60e8-4024-8a40-fae817e094da_vda.qcow2
> > qemu-img: Error while committing image
> > 
> > The qemu-img is bailing out when it detected that commit is happening
> > beyond raw backing image.
> > 
> > 
> > Is this a valid commit operation. This is how openstack sets up vms.
> 
> This is completely unrelated to the patch that you mentioned then.
> 
> The problem is that qemu-img would have to increase the image size of
> the backing file first before it can commit all the data to it. I
> believe there was a patch by Jeff (CC'ed) that would do exactly this.
> 
> Kevin

Thanks Kevin,

Yes, the patch is in the qemu-kvm git master as of Jan 24 2014 (so it
is pretty new); here is the commit id info:

commit 72706ea4cd38bfcb151265df0178ba21863d7518
Author: Jeff Cody <address@hidden>
Date:   Fri Jan 24 09:02:35 2014 -0500

    block: resize backing file image during offline commit, if necessary




There is a corresponding commit for the same fix, for when you are
doing a live online block-commit to the active layer of a block image
chain:

commit 4da83585961631bfc10831dd26c4afda2a8b23e8
Author: Jeff Cody <address@hidden>
Date:   Fri Jan 24 09:02:36 2014 -0500

    block: resize backing image during active layer commit, if needed


Jeff


> 
> > On 1/29/14, 4:24 AM, "Kevin Wolf" <address@hidden> wrote:
> > 
> > >Am 29.01.2014 um 03:09 hat Murali Balcha geschrieben:
> > >> Hi,
> > >> My apologies for reaching out directly on your email. However I am new
> > >>qemu and
> > >> donĀ¹t know the active mailing list for qemu related issues.
> > >
> > >The qemu mailing list is address@hidden You should generally
> > >direct your questions there, though keeping individual persons in the CC
> > >list is fine.
> > >
> > >> I have seen your
> > >> name in one of the patches related to this
> > >>issue.https://github.com/gooselinux/
> > >> qemu-kvm/blob/master/kvm-block-Fix-image-re-open-in-bdrv_commit.patch
> > >> 
> > >>  We are using 1.6.90 and 1.7 of qemu. the qemu-img errors out with
> > >>exact same
> > >> message when we try to commit qcow2 delta to raw image. Looking at the
> > >>code, we
> > >> realized that that patch you discussed above did not make it 1.6.90
> > >>branch we
> > >> are using. Am I missing something.
> > >
> > >I am not sure which error message you mean, but the patch that you
> > >mentioned has been in qemu since version 0.14.0. You won't see it in the
> > >current code any more because of later changes that switched to using
> > >bdrv_reopen() instead.
> > >
> > >For me, committing to a raw image works fine with current git master:
> > >
> > >$ qemu-img create -f raw /tmp/backing.raw 4G
> > >Formatting '/tmp/backing.raw', fmt=raw size=4294967296
> > >$ qemu-img create -f qcow2 -b /tmp/backing.raw /tmp/overlay.qcow2
> > >Formatting '/tmp/overlay.qcow2', fmt=qcow2 size=4294967296
> > >backing_file='/tmp/backing.raw' encryption=off cluster_size=65536
> > >lazy_refcounts=off
> > >$ qemu-io -c 'write 0 4k' /tmp/overlay.qcow2
> > >wrote 4096/4096 bytes at offset 0
> > >4 KiB, 1 ops; 0.0009 sec (4.090 MiB/sec and 1047.1204 ops/sec)
> > >$ qemu-img commit /tmp/overlay.qcow2
> > >Image committed.
> > >
> > >Kevin
> > 



reply via email to

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