Revision b681a1c7 block.c
b/block.c | ||
---|---|---|
127 | 127 |
{ |
128 | 128 |
bs->io_limits_enabled = false; |
129 | 129 |
|
130 |
while (qemu_co_queue_next(&bs->throttled_reqs));
|
|
130 |
do {} while (qemu_co_enter_next(&bs->throttled_reqs));
|
|
131 | 131 |
|
132 | 132 |
if (bs->block_timer) { |
133 | 133 |
qemu_del_timer(bs->block_timer); |
... | ... | |
143 | 143 |
{ |
144 | 144 |
BlockDriverState *bs = opaque; |
145 | 145 |
|
146 |
qemu_co_queue_next(&bs->throttled_reqs);
|
|
146 |
qemu_co_enter_next(&bs->throttled_reqs);
|
|
147 | 147 |
} |
148 | 148 |
|
149 | 149 |
void bdrv_io_limits_enable(BlockDriverState *bs) |
... | ... | |
1452 | 1452 |
* a busy wait. |
1453 | 1453 |
*/ |
1454 | 1454 |
QTAILQ_FOREACH(bs, &bdrv_states, list) { |
1455 |
if (!qemu_co_queue_empty(&bs->throttled_reqs)) { |
|
1456 |
qemu_co_queue_restart_all(&bs->throttled_reqs); |
|
1455 |
while (qemu_co_enter_next(&bs->throttled_reqs)) { |
|
1457 | 1456 |
busy = true; |
1458 | 1457 |
} |
1459 | 1458 |
} |
Also available in: Unified diff