int bdrv_flush(BlockDriverState *bs)

{

    Coroutine *co;

    FlushCo flush_co = {

        .bs = bs,

        .ret = NOT_DONE,

    };



    if (qemu_in_coroutine()) {

        /* Fast-path if already in coroutine context */

        bdrv_flush_co_entry(&flush_co);

    } else {

        co = qemu_coroutine_create(bdrv_flush_co_entry, &flush_co);

        qemu_coroutine_enter(co);

        BDRV_POLL_WHILE(bs, flush_co.ret == NOT_DONE);

    }



    return flush_co.ret;

}

int bdrv_flush(BlockDriverState *bs)

{

    Coroutine *co;

    FlushCo flush_co = {

        .bs = bs,

        .ret = NOT_DONE,

    };



    if (qemu_in_coroutine()) {

        

        bdrv_flush_co_entry(&flush_co);

    } else {

        co = qemu_coroutine_create(bdrv_flush_co_entry, &flush_co);

        qemu_coroutine_enter(co);

        BDRV_POLL_WHILE(bs, flush_co.ret == NOT_DONE);

    }



    return flush_co.ret;

}

        qemu_coroutine_enter(co);         qemu_coroutine_enter(co);         qemu_coroutine_enter(co);         qemu_coroutine_enter(co);         qemu_coroutine_enter(co);         qemu_coroutine_enter(co);
int FUNC_0(BlockDriverState *VAR_0)

{

    Coroutine *co;

    FlushCo flush_co = {

        .VAR_0 = VAR_0,

        .ret = NOT_DONE,

    };



    if (qemu_in_coroutine()) {

        

        bdrv_flush_co_entry(&flush_co);

    } else {

        co = qemu_coroutine_create(bdrv_flush_co_entry, &flush_co);

        qemu_coroutine_enter(co);

        BDRV_POLL_WHILE(VAR_0, flush_co.ret == NOT_DONE);

    }



    return flush_co.ret;

}

int FUNC_0(BlockDriverState *VAR_0)
{ Coroutine *co; FlushCo flush_co = { .VAR_0 = VAR_0,
.ret = NOT_DONE,
}; if (qemu_in_coroutine()) { bdrv_flush_co_entry(&flush_co); } else { co = qemu_coroutine_create(bdrv_flush_co_entry, &flush_co); qemu_coroutine_enter(co); BDRV_POLL_WHILE(VAR_0, flush_co.ret == NOT_DONE); } return flush_co.ret; }