Am 14.10.2011 16:24, schrieb Paolo Bonzini:
> On 10/14/2011 04:23 PM, Kevin Wolf wrote:
>>>  This similarly adds support for coroutine and asynchronous discard.
>>>
>>>  Signed-off-by: Paolo Bonzini<pbonz...@redhat.com>
>>
>> Do we really need bdrv_discard and bdrv_aio_discard in the backends? I
>> think it makes sense to have a bdrv_aio_discard() in block.h as AIO
>> generally fits well for device models, but I would just require
>> bdrv_co_discard for any block drivers implementing discard.
> 
> bdrv_discard is needed for now since I wouldn't like to conflate this 
> patch with the qcow2 patch.

Okay, that makes sense. Then I'll drop it when I convert qcow2.

> I can certainly drop aio_discard from the backends, but I'm not sure how 
> heavy can fallocate be (with FALLOC_FL_PUNCH_HOLE).  Probably not much, 
> but I think there's no guarantee of O(1) behavior especially with 
> filesystems like ecryptfs.  So you would need to go through the thread 
> pool and aio_discard would come in handy.

Sure, but the coroutine interface should be just as good for
implementing it this way in raw-posix.

Kevin

Reply via email to