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.

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.

Paolo

Reply via email to