Skip to content

Commit 16193d8

Browse files
authored
Merge pull request kubernetes#77187 from andyzhangx/azuredisk-list-copy
fix azure disk list corruption issue
2 parents 69718b9 + 7717a9c commit 16193d8

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ func (as *availabilitySet) AttachDisk(isManagedDisk bool, diskName, diskURI stri
4141
return err
4242
}
4343

44-
disks := *vm.StorageProfile.DataDisks
44+
disks := make([]compute.DataDisk, len(*vm.StorageProfile.DataDisks))
45+
copy(disks, *vm.StorageProfile.DataDisks)
46+
4547
if isManagedDisk {
4648
disks = append(disks,
4749
compute.DataDisk{
@@ -113,7 +115,9 @@ func (as *availabilitySet) DetachDisk(diskName, diskURI string, nodeName types.N
113115
return nil, err
114116
}
115117

116-
disks := *vm.StorageProfile.DataDisks
118+
disks := make([]compute.DataDisk, len(*vm.StorageProfile.DataDisks))
119+
copy(disks, *vm.StorageProfile.DataDisks)
120+
117121
bFoundDisk := false
118122
for i, disk := range disks {
119123
if disk.Lun != nil && (disk.Name != nil && diskName != "" && *disk.Name == diskName) ||

staging/src/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ func (ss *scaleSet) AttachDisk(isManagedDisk bool, diskName, diskURI string, nod
4343

4444
disks := []compute.DataDisk{}
4545
if vm.StorageProfile != nil && vm.StorageProfile.DataDisks != nil {
46-
disks = *vm.StorageProfile.DataDisks
46+
disks = make([]compute.DataDisk, len(*vm.StorageProfile.DataDisks))
47+
copy(disks, *vm.StorageProfile.DataDisks)
4748
}
4849
if isManagedDisk {
4950
disks = append(disks,
@@ -118,7 +119,8 @@ func (ss *scaleSet) DetachDisk(diskName, diskURI string, nodeName types.NodeName
118119

119120
disks := []compute.DataDisk{}
120121
if vm.StorageProfile != nil && vm.StorageProfile.DataDisks != nil {
121-
disks = *vm.StorageProfile.DataDisks
122+
disks = make([]compute.DataDisk, len(*vm.StorageProfile.DataDisks))
123+
copy(disks, *vm.StorageProfile.DataDisks)
122124
}
123125
bFoundDisk := false
124126
for i, disk := range disks {

0 commit comments

Comments
 (0)