int bdrv_snapshot_delete(BlockDriverState *bs, const char *snapshot_id)

{

    BlockDriver *drv = bs->drv;

    if (!drv) {

        return -ENOMEDIUM;

    }

    if (drv->bdrv_snapshot_delete) {

        return drv->bdrv_snapshot_delete(bs, snapshot_id);

    }

    if (bs->file) {

        return bdrv_snapshot_delete(bs->file, snapshot_id);

    }

    return -ENOTSUP;

}

int bdrv_snapshot_delete(BlockDriverState *bs, const char *snapshot_id)

{

    BlockDriver *drv = bs->drv;

    if (!drv) {

        return -ENOMEDIUM;

    }

    if (drv->bdrv_snapshot_delete) {

        return drv->bdrv_snapshot_delete(bs, snapshot_id);

    }

    if (bs->file) {

        return bdrv_snapshot_delete(bs->file, snapshot_id);

    }

    return -ENOTSUP;

}

int bdrv_snapshot_delete(BlockDriverState *bs, const char *snapshot_id)         return drv->bdrv_snapshot_delete(bs, snapshot_id);         return bdrv_snapshot_delete(bs->file, snapshot_id);
int FUNC_0(BlockDriverState *VAR_0, const char *VAR_1)

{

    BlockDriver *drv = VAR_0->drv;

    if (!drv) {

        return -ENOMEDIUM;

    }

    if (drv->FUNC_0) {

        return drv->FUNC_0(VAR_0, VAR_1);

    }

    if (VAR_0->file) {

        return FUNC_0(VAR_0->file, VAR_1);

    }

    return -ENOTSUP;

}

int FUNC_0(BlockDriverState *VAR_0, const char *VAR_1)
{ BlockDriver *drv = VAR_0->drv; if (!drv) { return -ENOMEDIUM; } if (drv->FUNC_0) { return drv->FUNC_0(VAR_0, VAR_1); } if (VAR_0->file) { return FUNC_0(VAR_0->file, VAR_1); } return -ENOTSUP; }