Merge pull request #38443 from NickrenREN/vol-mgr-getVolumeInUse

Automatic merge from submit-queue (batch tested with PRs 38443, 40145, 40701, 40682)

fix GetVolumeInUse() function

Since we just want to get volume name info, each volume name just need to added once.  desiredStateOfWorld.GetVolumesToMount() will return volume and pod binding info,
if one volume is mounted to several pods, the volume name will be return several times. That is not what we want in this function.
We can add a new function to only get the volume name info  or judge whether the volume name is added to the desiredVolumesMap array.
pull/6/head
Kubernetes Submit Queue 2017-01-30 20:59:38 -08:00 committed by GitHub
commit 564016bd9f
1 changed files with 4 additions and 2 deletions

View File

@ -299,8 +299,10 @@ func (vm *volumeManager) GetVolumesInUse() []v1.UniqueVolumeName {
for _, volume := range desiredVolumes {
if volume.PluginIsAttachable {
desiredVolumesMap[volume.VolumeName] = true
volumesToReportInUse = append(volumesToReportInUse, volume.VolumeName)
if _, exists := desiredVolumesMap[volume.VolumeName]; !exists {
desiredVolumesMap[volume.VolumeName] = true
volumesToReportInUse = append(volumesToReportInUse, volume.VolumeName)
}
}
}