code: func getVolumeInfo(pvName string, podUID types.UID, host volume.VolumeHost) (string, string, error) {
  	if volNamespace, volName, err := getVolumeFromRef(pvName); err == nil {
  		return volNamespace, volName, nil
  	}
  
  	volumeDir := filepath.Dir(host.GetPodVolumeDir(podUID, utilstrings.EscapeQualifiedName(storageosPluginName), pvName))
  	files, err := ioutil.ReadDir(volumeDir)
  	if err != nil {
  		return "", "", fmt.Errorf("Could not read mounts from pod volume dir: %s", err)
  	}
  	for _, f := range files {
  		if f.Mode().IsDir() && strings.HasPrefix(f.Name(), pvName+".") {
  			if volNamespace, volName, err := getVolumeFromRef(f.Name()); err == nil {
  				return volNamespace, volName, nil
  			}
  		}
  	}
  	return "", "", fmt.Errorf("Could not get info from unmounted pv %q at %q", pvName, volumeDir)
  }
docs: // Given the pod id and PV name, finds the volume's namespace and name from the
  // name or volume mount.  We mount as volNamespace.pvName, but k8s will specify
  // only the pvName to unmount.
  // Will return empty volNamespace/pvName if the volume is not mounted.