[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 PATCH 2/6] block: add live block commit functio
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC v2 PATCH 2/6] block: add live block commit functionality |
Date: |
Thu, 06 Sep 2012 15:16:22 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0 |
On 09/06/2012 02:37 PM, Jeff Cody wrote:
> On 09/06/2012 10:00 AM, Kevin Wolf wrote:
>> Am 30.08.2012 20:47, schrieb Jeff Cody:
>>> This adds the live commit coroutine. This iteration focuses on the
>>> commit only below the active layer, and not the active layer itself.
>>>
>>> The behaviour is similar to block streaming; the sectors are walked
>>> through, and anything that exists above 'base' is committed back down
>>> into base. At the end, intermediate images are deleted, and the
>>> chain stitched together. Images are restored to their original open
>>> flags upon completion.
>>>
>
>> What should we do with backing files that are smaller than the image to
>> commit? In this version, data is copied up to the size of the backing
>> file, and then we get -EIO from bdrv_co_do_writev().
>>
>
> We could leave it like that, and let it receive -EIO in that case.
> Alternatively, we could try and determine before the commit if the data
> will fit in the base, and return -ENOSPC if not.
Neither sounds appealing. Why can't we first try to resize the base to
the new data size being committed, and only fall back to -ENOSPC or -EIO
if the resize fails?
--
Eric Blake address@hidden +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature