qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] CoW image commit+shrink(= make_empty) support


From: Paolo Bonzini
Subject: Re: [Qemu-devel] CoW image commit+shrink(= make_empty) support
Date: Sun, 10 Jun 2012 18:06:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Il 08/06/2012 15:19, Jeff Cody ha scritto:
>> > 
>> > This means copying allocated blocks from snap1.qcow2 and writing them
>> > into vm001.img.  Once this process is complete it is safe to delete
>> > snap1.qcow2 since all data is now in vm001.img.
> Yes, this is the same as what we are wanting to accomplish.  The trick
> here is open vm001.img r/w, in a safe manner (by safe, I mean able to
> abort in case of error while keeping the guest running live).
> 
> My thoughts on this has revolved around something similar to what was
> done in bdrv_append(), where a duplicate BDS is created, a new file-open
> performed with the appropriate access mode flags, and if successful
> swapped out for the originally opened BDS for vm001.img.  If there is an
> error, the new BDS is abandoned without modifying the BDS list.
> 

I haven't yet read the rest of the thread, but I'll drop here that
indeed I have a bdrv_swap in my patches for block mirroring.

A live commit of the topmost image is really just a mirroring operation,
the only thing that changes is the mechanics of opening the target and
perhaps also switching to it.

Paolo



reply via email to

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