void bdrv_round_to_clusters(BlockDriverState *bs,

                            int64_t sector_num, int nb_sectors,

                            int64_t *cluster_sector_num,

                            int *cluster_nb_sectors)

{

    BlockDriverInfo bdi;



    if (bdrv_get_info(bs, &bdi) < 0 || bdi.cluster_size == 0) {

        *cluster_sector_num = sector_num;

        *cluster_nb_sectors = nb_sectors;

    } else {

        int64_t c = bdi.cluster_size / BDRV_SECTOR_SIZE;

        *cluster_sector_num = QEMU_ALIGN_DOWN(sector_num, c);

        *cluster_nb_sectors = QEMU_ALIGN_UP(sector_num - *cluster_sector_num +

                                            nb_sectors, c);

    }

}

void bdrv_round_to_clusters(BlockDriverState *bs,

                            int64_t sector_num, int nb_sectors,

                            int64_t *cluster_sector_num,

                            int *cluster_nb_sectors)

{

    BlockDriverInfo bdi;



    if (bdrv_get_info(bs, &bdi) < 0 || bdi.cluster_size == 0) {

        *cluster_sector_num = sector_num;

        *cluster_nb_sectors = nb_sectors;

    } else {

        int64_t c = bdi.cluster_size / BDRV_SECTOR_SIZE;

        *cluster_sector_num = QEMU_ALIGN_DOWN(sector_num, c);

        *cluster_nb_sectors = QEMU_ALIGN_UP(sector_num - *cluster_sector_num +

                                            nb_sectors, c);

    }

}

void FUNC_0(BlockDriverState *VAR_0,

                            int64_t VAR_1, int VAR_2,

                            int64_t *VAR_3,

                            int *VAR_4)

{

    BlockDriverInfo bdi;



    if (bdrv_get_info(VAR_0, &bdi) < 0 || bdi.cluster_size == 0) {

        *VAR_3 = VAR_1;

        *VAR_4 = VAR_2;

    } else {

        int64_t c = bdi.cluster_size / BDRV_SECTOR_SIZE;

        *VAR_3 = QEMU_ALIGN_DOWN(VAR_1, c);

        *VAR_4 = QEMU_ALIGN_UP(VAR_1 - *VAR_3 +

                                            VAR_2, c);

    }

}

void FUNC_0(BlockDriverState *VAR_0,
int64_t VAR_1, int VAR_2,
int64_t *VAR_3,
int *VAR_4)
{ BlockDriverInfo bdi; if (bdrv_get_info(VAR_0, &bdi) < 0 || bdi.cluster_size == 0) { *VAR_3 = VAR_1; *VAR_4 = VAR_2; } else { int64_t c = bdi.cluster_size / BDRV_SECTOR_SIZE; *VAR_3 = QEMU_ALIGN_DOWN(VAR_1, c); *VAR_4 = QEMU_ALIGN_UP(VAR_1 - *VAR_3 +
VAR_2, c); } }