'Creates a clone of the specified volume.
:param volume: new volume reference
:param src_vref: source volume reference'

def create_cloned_volume(self, volume, src_vref):

    snapshot = {'volume_name': src_vref['name'], 'name': self._get_clone_snapshot_name(volume), 'volume_size': src_vref['size']}
    LOG.debug('Creating    temp    snapshot    of    the    original    volume:    %(volume_name)s@%(name)s', snapshot)
    self.create_snapshot(snapshot)
    try:
        self.create_volume_from_snapshot(volume, snapshot)
        self._mark_as_garbage('@'.join((self._get_zvol_name(src_vref['name']), snapshot['name'])))
    except exception.NexentaException:
        with excutils.save_and_reraise_exception():
            LOG.exception('Volume    creation    failed,    deleting    created    snapshot    %(volume_name)s@%(name)s', snapshot)
        try:
            self.delete_snapshot(snapshot)
        except (exception.NexentaException, exception.SnapshotIsBusy):
            LOG.warning('Failed    to    delete    zfs    snapshot    %(volume_name)s@%(name)s', snapshot)
        raise
