On 22/03/2016 16:33, Kevin Wolf wrote: > This is another feature that was "logically" part of the BlockBackend, but > implemented as a BlockDriverState feature. It was always kept on top using > swap_feature_fields(). > > This series moves it to be actually implemented in the BlockBackend, removing > another obstacle for removing bs->blk and allowing multiple BBs per BDS. > > Depends on 'block: Implement writethrough in BlockBackend'.
This series would mess up my own I/O throttling cleanups that have been posted in February and have hardly seen a review for one month. I expect the rules for soft freeze to apply to maintainers as well. These patches and the removal of bs->blk are about one month late and shouldn't be included in 2.6. Thanks, Paolo > Kevin Wolf (12): > block: Don't disable I/O throttling on sync requests > block: Make sure throttled BDSes always have a BB > block: Introduce BlockBackendPublic > block: throttle-groups: Use BlockBackend pointers internally > block: Convert throttle_group_get_name() to BlockBackend > block: Move throttling fields from BDS to BB > block: Move actual I/O throttling to BlockBackend > block: Move I/O throttling configuration functions to BlockBackend > block: Introduce BdrvChild.opaque > block: Drain throttling queue with BdrvChild callback > block: Decouple throttling from BlockDriverState > block: Don't check throttled reqs in bdrv_requests_pending() > > block.c | 23 +---- > block/block-backend.c | 146 +++++++++++++++++++++----- > block/io.c | 115 +++------------------ > block/qapi.c | 6 +- > block/throttle-groups.c | 223 > +++++++++++++++++++++------------------- > blockdev.c | 43 +++----- > include/block/block.h | 6 +- > include/block/block_int.h | 23 +---- > include/block/throttle-groups.h | 12 +-- > include/sysemu/block-backend.h | 27 +++++ > tests/test-throttle.c | 62 ++++++----- > 11 files changed, 345 insertions(+), 341 deletions(-) >