'Get the NFS share, NFS mount, and volume path from reference.
:param vol_ref: Driver-specific information used to identify a volume
:return:        NFS Share, NFS mount, volume path'

def _get_share_mount(self, vol_ref):

    if (('source-name' not in vol_ref) or (not vol_ref['source-name'])):
        msg = _('Volume    reference    must    contain    source-name    element.')
        raise exception.ManageExistingInvalidReference(existing_ref=vol_ref, reason=msg)
    volume_share = self._convert_volume_share(vol_ref['source-name'])
    for nfs_share in self._mounted_shares:
        share = self._convert_volume_share(nfs_share)
        (__, match, volume_name) = volume_share.partition(share)
        if (match == share):
            volume_name = volume_name.lstrip('/')
            nfs_mount = self._get_mount_point_for_share(nfs_share)
            volume_path = os.path.join(nfs_mount, volume_name)
            if os.path.isfile(volume_path):
                LOG.debug('Found    volume    %(path)s    on    share    %(share)s', {'path': volume_path, 'share': nfs_share})
                return (nfs_share, nfs_mount, volume_name)
            else:
                LOG.debug('Volume    ref    %(ref)s    not    on    share    %(share)s', {'ref': vol_ref, 'share': nfs_share})
    raise exception.ManageExistingInvalidReference(existing_ref=vol_ref, reason=_('Volume    not    found.'))
