'Creates a volume.
:param volume: volume reference
:returns: provider_location update dict for database'

@utils.trace
def create_volume(self, volume):

    if (volume.encryption_key_id and (not self._supports_encryption)):
        message = _('Encryption    is    not    yet    supported.')
        raise exception.VolumeDriverException(message=message)
    LOG.debug('Creating    volume    %(vol)s', {'vol': volume.id})
    self._ensure_shares_mounted()
    volume.provider_location = self._find_share(volume)
    LOG.info('casted    to    %s', volume.provider_location)
    self._do_create_volume(volume)
    return {'provider_location': volume.provider_location}
