[Qemu-devel] [PATCH 2/5] sheepdog: reorganize coroutine flow

2016-11-29 Thread Paolo Bonzini
Delimit co_recv's lifetime clearly in aio_read_response. Do a simple qemu_coroutine_enter in aio_read_response, letting sd_co_writev call sd_write_done. Handle nr_pending in the same way in sd_co_rw_vector, sd_write_done and sd_co_flush_to_disk. Remove sd_co_rw_vector's return value; just leave

[Qemu-devel] [PATCH 2/5] sheepdog: reorganize coroutine flow

2016-11-29 Thread Paolo Bonzini
Delimit co_recv's lifetime clearly in aio_read_response. Do a simple qemu_coroutine_enter in aio_read_response, letting sd_co_writev call sd_write_done. Handle nr_pending in the same way in sd_co_rw_vector, sd_write_done and sd_co_flush_to_disk. Remove sd_co_rw_vector's return value; just leave

[Qemu-devel] [PATCH 2/5] sheepdog: reorganize coroutine flow

2016-11-18 Thread Paolo Bonzini
Delimit co_recv's lifetime clearly in aio_read_response. Do a simple qemu_coroutine_enter in aio_read_response, letting sd_co_writev call sd_write_done. Handle nr_pending in the same way in sd_co_rw_vector, sd_write_done and sd_co_flush_to_disk. Remove sd_co_rw_vector's return value; just leave

[Qemu-devel] [PATCH 2/5] sheepdog: reorganize coroutine flow

2016-11-18 Thread Paolo Bonzini
Delimit co_recv's lifetime clearly in aio_read_response. Do a simple qemu_coroutine_enter in aio_read_response, letting sd_co_writev call sd_write_done. Handle nr_pending in the same way in sd_co_rw_vector, sd_write_done and sd_co_flush_to_disk. Remove sd_co_rw_vector's return value; just leave