On Thu, Dec 11, 2014 at 02:52:25PM +0100, Paolo Bonzini wrote: > This series rewrites the io_submit code to avoid having to > synchronize the iocbs in two places (qemu_laiocb and LaioQueue). > Instead, the queue of pending I/O requests is kept in a list. > > This fixes the problems with io_submit doing partial submissions > or failing with EAGAIN, without complicating the code. The bug is > shown by "qemu-img bench -n -t none -s 65536 -d 1024 -c 100000" > pretty much instantly. > > Paolo > > v1->v2: add patch 4, and fix QSIMPLEQ_SPLIT_AFTER > > Paolo Bonzini (5): > linux-aio: queue requests that cannot be submitted > linux-aio: track whether the queue is blocked > linux-aio: rename LaioQueue idx field to "n" > linux-aio: drop return code from laio_io_unplug and ioq_submit > linux-aio: simplify removal of completed iocbs from the list > > block/linux-aio.c | 99 > ++++++++++++++++++++++++---------------------------- > block/raw-aio.h | 2 +- > include/qemu/queue.h | 11 ++++++ > 3 files changed, 58 insertions(+), 54 deletions(-) > > -- > 2.1.0 > >
Thanks, applied to my block-next tree: https://github.com/stefanha/qemu/commits/block-next Stefan
pgpVewgET1o9W.pgp
Description: PGP signature