static int do_co_pwrite_zeroes(BlockBackend *blk, int64_t offset,

                               int64_t count, int flags, int64_t *total)

{

    Coroutine *co;

    CoWriteZeroes data = {

        .blk    = blk,

        .offset = offset,

        .count  = count,

        .total  = total,

        .flags  = flags,

        .done   = false,

    };



    if (count >> BDRV_SECTOR_BITS > INT_MAX) {

        return -ERANGE;

    }



    co = qemu_coroutine_create(co_pwrite_zeroes_entry);

    qemu_coroutine_enter(co, &data);

    while (!data.done) {

        aio_poll(blk_get_aio_context(blk), true);

    }

    if (data.ret < 0) {

        return data.ret;

    } else {

        return 1;

    }

}

static int do_co_pwrite_zeroes(BlockBackend *blk, int64_t offset,

                               int64_t count, int flags, int64_t *total)

{

    Coroutine *co;

    CoWriteZeroes data = {

        .blk    = blk,

        .offset = offset,

        .count  = count,

        .total  = total,

        .flags  = flags,

        .done   = false,

    };



    if (count >> BDRV_SECTOR_BITS > INT_MAX) {

        return -ERANGE;

    }



    co = qemu_coroutine_create(co_pwrite_zeroes_entry);

    qemu_coroutine_enter(co, &data);

    while (!data.done) {

        aio_poll(blk_get_aio_context(blk), true);

    }

    if (data.ret < 0) {

        return data.ret;

    } else {

        return 1;

    }

}

    qemu_coroutine_enter(co, &data);     qemu_coroutine_enter(co, &data);     co = qemu_coroutine_create(co_pwrite_zeroes_entry);     qemu_coroutine_enter(co, &data);     qemu_coroutine_enter(co, &data);
static int FUNC_0(BlockBackend *VAR_0, int64_t VAR_1,

                               int64_t VAR_2, int VAR_3, int64_t *VAR_4)

{

    Coroutine *co;

    CoWriteZeroes data = {

        .VAR_0    = VAR_0,

        .VAR_1 = VAR_1,

        .VAR_2  = VAR_2,

        .VAR_4  = VAR_4,

        .VAR_3  = VAR_3,

        .done   = false,

    };



    if (VAR_2 >> BDRV_SECTOR_BITS > INT_MAX) {

        return -ERANGE;

    }



    co = qemu_coroutine_create(co_pwrite_zeroes_entry);

    qemu_coroutine_enter(co, &data);

    while (!data.done) {

        aio_poll(blk_get_aio_context(VAR_0), true);

    }

    if (data.ret < 0) {

        return data.ret;

    } else {

        return 1;

    }

}

static int FUNC_0(BlockBackend *VAR_0, int64_t VAR_1,
int64_t VAR_2, int VAR_3, int64_t *VAR_4)
{ Coroutine *co; CoWriteZeroes data = { .VAR_0    = VAR_0,
.VAR_1 = VAR_1,
.VAR_2  = VAR_2,
.VAR_4  = VAR_4,
.VAR_3  = VAR_3,
.done   = false,
}; if (VAR_2 >> BDRV_SECTOR_BITS > INT_MAX) { return -ERANGE; } co = qemu_coroutine_create(co_pwrite_zeroes_entry); qemu_coroutine_enter(co, &data); while (!data.done) { aio_poll(blk_get_aio_context(VAR_0), true); } if (data.ret < 0) { return data.ret; } else { return 1; } }