code: func (asw *actualStateOfWorld) addVolumeToReportAsAttached(
  	volumeName v1.UniqueVolumeName, nodeName types.NodeName) {
  	// In case the volume/node entry is no longer in attachedVolume list, skip the rest
  	if _, _, err := asw.getNodeAndVolume(volumeName, nodeName); err != nil {
  		klog.V(4).Infof("Volume %q is no longer attached to node %q", volumeName, nodeName)
  		return
  	}
  	nodeToUpdate, nodeToUpdateExists := asw.nodesToUpdateStatusFor[nodeName]
  	if !nodeToUpdateExists {
  		// Create object if it doesn't exist
  		nodeToUpdate = nodeToUpdateStatusFor{
  			nodeName:                  nodeName,
  			statusUpdateNeeded:        true,
  			volumesToReportAsAttached: make(map[v1.UniqueVolumeName]v1.UniqueVolumeName),
  		}
  		asw.nodesToUpdateStatusFor[nodeName] = nodeToUpdate
  		klog.V(4).Infof("Add new node %q to nodesToUpdateStatusFor", nodeName)
  	}
  	_, nodeToUpdateVolumeExists :=
  		nodeToUpdate.volumesToReportAsAttached[volumeName]
  	if !nodeToUpdateVolumeExists {
  		nodeToUpdate.statusUpdateNeeded = true
  		nodeToUpdate.volumesToReportAsAttached[volumeName] = volumeName
  		asw.nodesToUpdateStatusFor[nodeName] = nodeToUpdate
  		klog.V(4).Infof("Report volume %q as attached to node %q", volumeName, nodeName)
  	}
  }
docs: // Add the volumeName to the node's volumesToReportAsAttached list
  // This is an internal function and caller should acquire and release the lock