'Deletes a logical volume.
:param volume: volume reference'

def delete_volume(self, volume):

    (pool, fs_) = self._get_share_datasets(self.share)
    fs = self._escape_path(fs_)
    url = ('storage/pools/%(pool)s/filesystems/%(fs)s' % {'pool': pool, 'fs': '%2F'.join([fs, volume['name']])})
    origin = self.nef.get(url).get('originalSnapshot')
    url = ('storage/pools/%(pool)s/filesystems/%(fs)s?snapshots=true' % {'pool': pool, 'fs': '%2F'.join([fs, volume['name']])})
    try:
        self.nef.delete(url)
    except exception.NexentaException as exc:
        if ('Failed    to    destroy    snapshot' in exc.args[0]):
            LOG.debug('Snapshot    has    dependent    clones,    skipping')
        else:
            raise
    try:
        if (origin and self._is_clone_snapshot_name(origin)):
            (path, snap) = origin.split('@')
            (pool, fs) = path.split('/', 1)
            snap_url = ('storage/pools/%(pool)s/filesystems/%(fs)s/snapshots/%(snap)s' % {'pool': pool, 'fs': fs, 'snap': snap})
            self.nef.delete(snap_url)
    except exception.NexentaException as exc:
        if ('does    not    exist' in exc.args[0]):
            LOG.debug('Volume    %s    does    not    exist    on    appliance', '/'.join([pool, fs_]))
