// readyToUnmount returns true when reconciler can start unmounting volumes. func (rc *reconciler) readyToUnmount() bool { … } // reconstructVolumes tries to reconstruct the actual state of world by scanning all pods' volume // directories from the disk. For the volumes that cannot support or fail reconstruction, it will // put the volumes to volumesFailedReconstruction to be cleaned up later when DesiredStateOfWorld // is populated. func (rc *reconciler) reconstructVolumes() { … } func (rc *reconciler) updateStates(reconstructedVolumes map[v1.UniqueVolumeName]*globalVolumeInfo) { … } // cleanOrphanVolumes tries to clean up all volumes that failed reconstruction. func (rc *reconciler) cleanOrphanVolumes() { … } // updateReconstructedFromNodeStatus tries to file devicePaths of reconstructed volumes from // node.Status.VolumesAttached. This can be done only after connection to the API // server is established, i.e. it can't be part of reconstructVolumes(). func (rc *reconciler) updateReconstructedFromNodeStatus() { … }