code: func (kl *Kubelet) reconcileCMADAnnotationWithExistingNode(node, existingNode *v1.Node) bool {
  	var (
  		existingCMAAnnotation    = existingNode.Annotations[volutil.ControllerManagedAttachAnnotation]
  		newCMAAnnotation, newSet = node.Annotations[volutil.ControllerManagedAttachAnnotation]
  	)
  
  	if newCMAAnnotation == existingCMAAnnotation {
  		return false
  	}
  
  	// If the just-constructed node and the existing node do
  	// not have the same value, update the existing node with
  	// the correct value of the annotation.
  	if !newSet {
  		klog.Info("Controller attach-detach setting changed to false; updating existing Node")
  		delete(existingNode.Annotations, volutil.ControllerManagedAttachAnnotation)
  	} else {
  		klog.Info("Controller attach-detach setting changed to true; updating existing Node")
  		if existingNode.Annotations == nil {
  			existingNode.Annotations = make(map[string]string)
  		}
  		existingNode.Annotations[volutil.ControllerManagedAttachAnnotation] = newCMAAnnotation
  	}
  
  	return true
  }
docs: // reconcileCMADAnnotationWithExistingNode reconciles the controller-managed
  // attach-detach annotation on a new node and the existing node, returning
  // whether the existing node must be updated.