'Creates a volume named volumename from a copy of scvolume.
:param volumename: Name of new volume.  This is the cinder volume ID.
:param scvolume: Dell volume object.
:param storage_profile: Storage profile.
:param replay_profile_list: List of snapshot profiles.
:param volume_qos: Volume QOS Profile to use.
:param group_qos: Group QOS Profile to use.
:param dr_profile: Data reduction profile to use.
:returns: The new volume\'s Dell volume object.
:raises VolumeBackendAPIException: if error doing copy.'

def create_cloned_volume(self, volumename, scvolume, storage_profile, replay_profile_list, volume_qos, group_qos, dr_profile):

    LOG.info('create_cloned_volume:    Creating    %(dst)s    from    %(src)s', {'dst': volumename, 'src': scvolume['name']})
    n = scvolume['configuredSize'].split('    ', 1)
    size = int((float(n[0]) // 1073741824))
    newvol = self.create_volume(volumename, size, storage_profile, replay_profile_list, volume_qos, group_qos, dr_profile)
    if newvol:
        try:
            replayid = str(uuid.uuid4())
            screplay = self.create_replay(scvolume, replayid, 60)
            if (not screplay):
                raise exception.VolumeBackendAPIException(message='Unable    to    create    replay    marker.')
            payload = {}
            payload['CopyReplays'] = True
            payload['DestinationVolume'] = self._get_id(newvol)
            payload['SourceVolume'] = self._get_id(scvolume)
            payload['StorageCenter'] = self.ssn
            payload['Priority'] = 'High'
            r = self.client.post('StorageCenter/ScCopyMirrorMigrate/Copy', payload, True)
            if self._check_result(r):
                cmm = self._get_json(r)
                if ((cmm['state'] == 'Erred') or (cmm['state'] == 'Paused') or (not self._wait_for_cmm(cmm, newvol, replayid))):
                    raise exception.VolumeBackendAPIException(message='ScCopyMirrorMigrate    error.')
                LOG.debug('create_cloned_volume:    Success')
                self._expire_all_replays(newvol)
                return newvol
            else:
                raise exception.VolumeBackendAPIException(message='ScCopyMirrorMigrate    fail.')
        except exception.VolumeBackendAPIException:
            self.delete_volume(volumename, self._get_id(newvol))
            raise
    LOG.error('create_cloned_volume:    Unable    to    clone    volume')
    return None
