Re: [Qemu-devel] [PATCH] block: avoid unnecessary bottom halves

2015-04-20 Thread Stefan Hajnoczi
On Sat, Mar 28, 2015 at 07:37:18AM +0100, Paolo Bonzini wrote: > bdrv_aio_* APIs can use coroutines to achieve asynchronicity. However, > the coroutine may terminate without having yielded back to the caller > (for example because of something that invokes a nested event loop, > or because the cor

Re: [Qemu-devel] [PATCH] block: avoid unnecessary bottom halves

2015-04-20 Thread Stefan Hajnoczi
On Sat, Mar 28, 2015 at 07:37:18AM +0100, Paolo Bonzini wrote: > bdrv_aio_* APIs can use coroutines to achieve asynchronicity. However, > the coroutine may terminate without having yielded back to the caller > (for example because of something that invokes a nested event loop, > or because the cor

Re: [Qemu-devel] [PATCH] block: avoid unnecessary bottom halves

2015-03-30 Thread Stefan Hajnoczi
On Sat, Mar 28, 2015 at 07:37:18AM +0100, Paolo Bonzini wrote: > bdrv_aio_* APIs can use coroutines to achieve asynchronicity. However, > the coroutine may terminate without having yielded back to the caller > (for example because of something that invokes a nested event loop, > or because the cor

[Qemu-devel] [PATCH] block: avoid unnecessary bottom halves

2015-03-27 Thread Paolo Bonzini
bdrv_aio_* APIs can use coroutines to achieve asynchronicity. However, the coroutine may terminate without having yielded back to the caller (for example because of something that invokes a nested event loop, or because the coroutine is doing nothing at all). In this case, the bdrv_aio_* API must