'Dispatcher to Dsware client to create volume from volume.
Wait volume create finished.'

def create_cloned_volume(self, volume, src_volume):

    volume_name = volume.name
    volume_size = volume.size
    src_volume_name = src_volume.name
    volume_size *= 1024
    result = self.dsware_client.create_volume_from_volume(volume_name, volume_size, src_volume_name)
    if result:
        msg = (_('Dsware    fails    to    start    cloning    volume    %s.') % volume_name)
        raise exception.VolumeBackendAPIException(data=msg)
    LOG.debug('Dsware    create    volume    %(volume_name)s    of    size    %(volume_size)s    from    src    volume    %(src_volume_name)s    start.', {'volume_name': volume_name, 'volume_size': volume_size, 'src_volume_name': src_volume_name})
    ret = self._wait_for_create_cloned_volume_finish_timer(volume_name)
    if (not ret):
        msg = (_('Clone    volume    %s    failed    while    waiting    for    success.') % volume_name)
        raise exception.VolumeBackendAPIException(data=msg)
    LOG.debug('Dsware    create    volume    from    volume    ends.')
    dsw_manager_ip = self.dsware_client.get_manage_ip()
    return {'provider_id': dsw_manager_ip}
