int bdrv_write_compressed(BlockDriverState *bs, int64_t sector_num,

                          const uint8_t *buf, int nb_sectors)

{

    BlockDriver *drv = bs->drv;

    if (!drv)

        return -ENOMEDIUM;

    if (!drv->bdrv_write_compressed)

        return -ENOTSUP;

    if (bdrv_check_request(bs, sector_num, nb_sectors))

        return -EIO;



    if (bs->dirty_tracking) {

        set_dirty_bitmap(bs, sector_num, nb_sectors, 1);

    }



    return drv->bdrv_write_compressed(bs, sector_num, buf, nb_sectors);

}

int bdrv_write_compressed(BlockDriverState *bs, int64_t sector_num,

                          const uint8_t *buf, int nb_sectors)

{

    BlockDriver *drv = bs->drv;

    if (!drv)

        return -ENOMEDIUM;

    if (!drv->bdrv_write_compressed)

        return -ENOTSUP;

    if (bdrv_check_request(bs, sector_num, nb_sectors))

        return -EIO;



    if (bs->dirty_tracking) {

        set_dirty_bitmap(bs, sector_num, nb_sectors, 1);

    }



    return drv->bdrv_write_compressed(bs, sector_num, buf, nb_sectors);

}

    if (bs->dirty_tracking) {     if (bs->dirty_tracking) {     if (bs->dirty_tracking) {
int FUNC_0(BlockDriverState *VAR_0, int64_t VAR_1,

                          const uint8_t *VAR_2, int VAR_3)

{

    BlockDriver *drv = VAR_0->drv;

    if (!drv)

        return -ENOMEDIUM;

    if (!drv->FUNC_0)

        return -ENOTSUP;

    if (bdrv_check_request(VAR_0, VAR_1, VAR_3))

        return -EIO;



    if (VAR_0->dirty_tracking) {

        set_dirty_bitmap(VAR_0, VAR_1, VAR_3, 1);

    }



    return drv->FUNC_0(VAR_0, VAR_1, VAR_2, VAR_3);

}

int FUNC_0(BlockDriverState *VAR_0, int64_t VAR_1,
const uint8_t *VAR_2, int VAR_3)
{ BlockDriver *drv = VAR_0->drv; if (!drv)
return -ENOMEDIUM; if (!drv->FUNC_0)
return -ENOTSUP; if (bdrv_check_request(VAR_0, VAR_1, VAR_3))
return -EIO; if (VAR_0->dirty_tracking) { set_dirty_bitmap(VAR_0, VAR_1, VAR_3, 1); } return drv->FUNC_0(VAR_0, VAR_1, VAR_2, VAR_3); }