code: func (a *azureDiskAttacher) GetDeviceMountPath(spec *volume.Spec) (string, error) {
  	volumeSource, _, err := getVolumeSource(spec)
  	if err != nil {
  		return "", err
  	}
  
  	if volumeSource.Kind == nil { // this spec was constructed from info on the node
  		pdPath := filepath.Join(a.plugin.host.GetPluginDir(azureDataDiskPluginName), util.MountsInGlobalPDPath, volumeSource.DataDiskURI)
  		return pdPath, nil
  	}
  
  	isManagedDisk := (*volumeSource.Kind == v1.AzureManagedDisk)
  	return makeGlobalPDPath(a.plugin.host, volumeSource.DataDiskURI, isManagedDisk)
  }
docs: // to avoid name conflicts (similar *.vhd name)
  // we use hash diskUri and we use it as device mount target.
  // this is generalized for both managed and blob disks
  // we also prefix the hash with m/b based on disk kind