'Create clone of the specified volume.'

def create_cloned_volume(self, volume, src_vref):

    LOG.debug('create_cloned_volume,    tgt:    (%(tid)s,    %(tsize)s),    src:    (%(sid)s,    %(ssize)s).', {'tid': volume['id'], 'tsize': volume['size'], 'sid': src_vref['id'], 'ssize': src_vref['size']})
    self.conn = self._get_eternus_connection()
    source_volume_instance = self._find_lun(src_vref)
    if (source_volume_instance is None):
        msg = _('create_cloned_volume,    Source    Volume    does    not    exist    in    ETERNUS.')
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    (element_path, metadata) = self.create_volume(volume)
    target_volume_instancename = self._create_eternus_instance_name(element_path['classname'], element_path['keybindings'])
    try:
        target_volume_instance = self._get_eternus_instance(target_volume_instancename)
    except Exception:
        msg = (_('create_cloned_volume,    target    volume    instancename:    %(volume_instancename)s,    Get    Instance    Failed.') % {'volume_instancename': target_volume_instancename})
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    self._create_local_cloned_volume(target_volume_instance, source_volume_instance)
    return (element_path, metadata)
