'Create a new snapshot using FlashCopy.'

def create_copy(self, src, tgt, src_id, config, opts, full_copy, pool=None):

    LOG.debug('Enter:    create_copy:    snapshot    %(src)s    to    %(tgt)s.', {'tgt': tgt, 'src': src})
    src_attrs = self.get_vdisk_attributes(src)
    if (src_attrs is None):
        msg = (_('create_copy:    Source    vdisk    %(src)s    (%(src_id)s)    does    not    exist.') % {'src': src, 'src_id': src_id})
        LOG.error(msg)
        raise exception.VolumeDriverException(message=msg)
    src_size = src_attrs['capacity']
    if (not pool):
        pool = src_attrs['mdisk_grp_name']
    opts['iogrp'] = src_attrs['IO_group_id']
    self.create_vdisk(tgt, src_size, 'b', pool, opts)
    timeout = config.storwize_svc_flashcopy_timeout
    try:
        self.run_flashcopy(src, tgt, timeout, config.storwize_svc_flashcopy_rate, full_copy=full_copy)
    except Exception:
        with excutils.save_and_reraise_exception():
            self.delete_vdisk(tgt, True)
    LOG.debug('Leave:    _create_copy:    snapshot    %(tgt)s    from    vdisk    %(src)s.', {'tgt': tgt, 'src': src})
