'Creates a clone of the specified volume.
:param volume: reference to the volume being created
:param src_vref: reference to the source volume
:returns: the provider_location of the cloned volume'

@cutils.trace
def create_cloned_volume(self, volume, src_vref):

    if (volume.volume_type_id != src_vref.volume_type_id):
        msg = _('Source    and    cloned    volumes    should    have    the    same    volume    type.')
        LOG.error(msg)
        raise exception.InvalidVolumeType(msg)
    vol_size = volume.size
    src_vol_size = src_vref.size
    self._clone_volume(src_vref, volume.name, src_vref.name)
    share = src_vref.provider_location
    if (vol_size > src_vol_size):
        volume.provider_location = share
        self.extend_volume(volume, vol_size)
    return {'provider_location': share}
