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   ebl...@redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to