int nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset,

                         uint64_t bytes, QEMUIOVector *qiov, int flags)

{

    NBDRequest request = {

        .type = NBD_CMD_READ,

        .from = offset,

        .len = bytes,

    };



    assert(bytes <= NBD_MAX_BUFFER_SIZE);

    assert(!flags);



    return nbd_co_request(bs, &request, qiov);

}

int nbd_client_co_preadv(BlockDriverState *bs, uint64_t offset,

                         uint64_t bytes, QEMUIOVector *qiov, int flags)

{

    NBDRequest request = {

        .type = NBD_CMD_READ,

        .from = offset,

        .len = bytes,

    };



    assert(bytes <= NBD_MAX_BUFFER_SIZE);

    assert(!flags);



    return nbd_co_request(bs, &request, qiov);

}

    return nbd_co_request(bs, &request, qiov);
int FUNC_0(BlockDriverState *VAR_0, uint64_t VAR_1,

                         uint64_t VAR_2, QEMUIOVector *VAR_3, int VAR_4)

{

    NBDRequest request = {

        .type = NBD_CMD_READ,

        .from = VAR_1,

        .len = VAR_2,

    };



    assert(VAR_2 <= NBD_MAX_BUFFER_SIZE);

    assert(!VAR_4);



    return nbd_co_request(VAR_0, &request, VAR_3);

}

int FUNC_0(BlockDriverState *VAR_0, uint64_t VAR_1,
uint64_t VAR_2, QEMUIOVector *VAR_3, int VAR_4)
{ NBDRequest request = { .type = NBD_CMD_READ,
.from = VAR_1,
.len = VAR_2,
}; assert(VAR_2 <= NBD_MAX_BUFFER_SIZE); assert(!VAR_4); return nbd_co_request(VAR_0, &request, VAR_3); }