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