void laio_io_unplug(BlockDriverState *bs, void *aio_ctx, bool unplug)

{

    struct qemu_laio_state *s = aio_ctx;



    assert(s->io_q.plugged > 0 || !unplug);



    if (unplug && --s->io_q.plugged > 0) {

        return;

    }



    if (!s->io_q.blocked && !QSIMPLEQ_EMPTY(&s->io_q.pending)) {

        ioq_submit(s);

    }

}

void laio_io_unplug(BlockDriverState *bs, void *aio_ctx, bool unplug)

{

    struct qemu_laio_state *s = aio_ctx;



    assert(s->io_q.plugged > 0 || !unplug);



    if (unplug && --s->io_q.plugged > 0) {

        return;

    }



    if (!s->io_q.blocked && !QSIMPLEQ_EMPTY(&s->io_q.pending)) {

        ioq_submit(s);

    }

}

void FUNC_0(BlockDriverState *VAR_0, void *VAR_1, bool VAR_2)

{

    struct qemu_laio_state *VAR_3 = VAR_1;



    assert(VAR_3->io_q.plugged > 0 || !VAR_2);



    if (VAR_2 && --VAR_3->io_q.plugged > 0) {

        return;

    }



    if (!VAR_3->io_q.blocked && !QSIMPLEQ_EMPTY(&VAR_3->io_q.pending)) {

        ioq_submit(VAR_3);

    }

}

void FUNC_0(BlockDriverState *VAR_0, void *VAR_1, bool VAR_2)
{ struct qemu_laio_state *VAR_3 = VAR_1; assert(VAR_3->io_q.plugged > 0 || !VAR_2); if (VAR_2 && --VAR_3->io_q.plugged > 0) { return; } if (!VAR_3->io_q.blocked && !QSIMPLEQ_EMPTY(&VAR_3->io_q.pending)) { ioq_submit(VAR_3); } }