Patch 1 comes from Kevin's series to do BlockBackend throttling. Patches 2-6 are from my bdrv_drain patches. They apply on top of Fam's patch (which will be in 2.6) that introduces bdrv_co_drain. Patch 4 is new in this version, compared to v3.
Patches 7-8 are new but based on Ming Lei's old submission. I'm including them here because they apply on top of patches 2-6. Kevin Wolf (1): block: Don't disable I/O throttling on sync requests Paolo Bonzini (7): block: make bdrv_start_throttled_reqs return void block: move restarting of throttled reqs to block/throttle-groups.c block: extract bdrv_drain_poll/bdrv_co_yield_to_drain from bdrv_drain/bdrv_co_drain block: introduce bdrv_no_throttling_begin/end block: plug whole tree at once, introduce bdrv_io_unplugged_begin/end linux-aio: make it more type safe linux-aio: share one LinuxAioState within an AioContext async.c | 23 +++++ block.c | 1 - block/block-backend.c | 6 +- block/io.c | 168 ++++++++++++++++++++++--------------- block/linux-aio.c | 60 ++++++------- block/raw-posix.c | 133 ++++------------------------- block/raw-win32.c | 2 +- block/throttle-groups.c | 18 ++++ include/block/aio.h | 13 +++ include/block/block.h | 3 +- include/block/block_int.h | 14 +++- {block => include/block}/raw-aio.h | 15 ++-- include/block/throttle-groups.h | 1 + 13 files changed, 216 insertions(+), 241 deletions(-) rename {block => include/block}/raw-aio.h (80%) -- 1.8.3.1