block: Remove blk_pread_unthrottled()
commit421919d76b1755e1f9478f85cb71829ca5150ade
authorKevin Wolf <kwolf@redhat.com>
Mon, 22 Jul 2019 15:22:00 +0000 (22 17:22 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 16 Aug 2019 08:25:16 +0000 (16 10:25 +0200)
treeda4129f7590bc0a33553733a545efbd9f6b19d8d
parent48057fc2b4f010a5c92035d223a0cceed3635237
block: Remove blk_pread_unthrottled()

The functionality offered by blk_pread_unthrottled() goes back to commit
498e386c584. Then, we couldn't perform I/O throttling with synchronous
requests because timers wouldn't be executed in polling loops. So the
commit automatically disabled I/O throttling as soon as a synchronous
request was issued.

However, for geometry detection during disk initialisation, we always
used (and still use) synchronous requests even if guest requests use AIO
later. Geometry detection was not wanted to disable I/O throttling, so
bdrv_pread_unthrottled() was introduced which disabled throttling only
temporarily.

All of this isn't necessary any more because we do run timers in polling
loop and even synchronous requests are now using coroutine
infrastructure internally. For this reason, commit 90c78624f already
removed the automatic disabling of I/O throttling.

It's time to get rid of the workaround for the removed code, and its
abuse of blk_root_drained_begin()/end(), as well.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
block/block-backend.c
hw/block/hd-geometry.c
include/sysemu/block-backend.h