Skip to content

Commit 6b47754

Browse files
authored
Merge pull request kubernetes#81627 from tallclair/copy
Delete duplicate resource.Quantity.Copy()
2 parents ca3e86e + 49f5048 commit 6b47754

File tree

20 files changed

+88
-106
lines changed

20 files changed

+88
-106
lines changed

pkg/api/v1/resource/helpers.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import (
3131
func addResourceList(list, newList v1.ResourceList) {
3232
for name, quantity := range newList {
3333
if value, ok := list[name]; !ok {
34-
list[name] = *quantity.Copy()
34+
list[name] = quantity.DeepCopy()
3535
} else {
3636
value.Add(quantity)
3737
list[name] = value
@@ -44,11 +44,11 @@ func addResourceList(list, newList v1.ResourceList) {
4444
func maxResourceList(list, new v1.ResourceList) {
4545
for name, quantity := range new {
4646
if value, ok := list[name]; !ok {
47-
list[name] = *quantity.Copy()
47+
list[name] = quantity.DeepCopy()
4848
continue
4949
} else {
5050
if quantity.Cmp(value) > 0 {
51-
list[name] = *quantity.Copy()
51+
list[name] = quantity.DeepCopy()
5252
}
5353
}
5454
}
@@ -243,7 +243,7 @@ func MergeContainerResourceLimits(container *v1.Container,
243243
for _, resource := range []v1.ResourceName{v1.ResourceCPU, v1.ResourceMemory, v1.ResourceEphemeralStorage} {
244244
if quantity, exists := container.Resources.Limits[resource]; !exists || quantity.IsZero() {
245245
if cap, exists := allocatable[resource]; exists {
246-
container.Resources.Limits[resource] = *cap.Copy()
246+
container.Resources.Limits[resource] = cap.DeepCopy()
247247
}
248248
}
249249
}

pkg/apis/core/fuzzer/fuzzer.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,31 +133,31 @@ var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
133133
q.Limits = make(core.ResourceList)
134134
q.Requests = make(core.ResourceList)
135135
cpuLimit := randomQuantity()
136-
q.Limits[core.ResourceCPU] = *cpuLimit.Copy()
137-
q.Requests[core.ResourceCPU] = *cpuLimit.Copy()
136+
q.Limits[core.ResourceCPU] = cpuLimit.DeepCopy()
137+
q.Requests[core.ResourceCPU] = cpuLimit.DeepCopy()
138138
memoryLimit := randomQuantity()
139-
q.Limits[core.ResourceMemory] = *memoryLimit.Copy()
140-
q.Requests[core.ResourceMemory] = *memoryLimit.Copy()
139+
q.Limits[core.ResourceMemory] = memoryLimit.DeepCopy()
140+
q.Requests[core.ResourceMemory] = memoryLimit.DeepCopy()
141141
storageLimit := randomQuantity()
142-
q.Limits[core.ResourceStorage] = *storageLimit.Copy()
143-
q.Requests[core.ResourceStorage] = *storageLimit.Copy()
142+
q.Limits[core.ResourceStorage] = storageLimit.DeepCopy()
143+
q.Requests[core.ResourceStorage] = storageLimit.DeepCopy()
144144
},
145145
func(q *core.LimitRangeItem, c fuzz.Continue) {
146146
var cpuLimit resource.Quantity
147147
c.Fuzz(&cpuLimit)
148148

149149
q.Type = core.LimitTypeContainer
150150
q.Default = make(core.ResourceList)
151-
q.Default[core.ResourceCPU] = *(cpuLimit.Copy())
151+
q.Default[core.ResourceCPU] = cpuLimit.DeepCopy()
152152

153153
q.DefaultRequest = make(core.ResourceList)
154-
q.DefaultRequest[core.ResourceCPU] = *(cpuLimit.Copy())
154+
q.DefaultRequest[core.ResourceCPU] = cpuLimit.DeepCopy()
155155

156156
q.Max = make(core.ResourceList)
157-
q.Max[core.ResourceCPU] = *(cpuLimit.Copy())
157+
q.Max[core.ResourceCPU] = cpuLimit.DeepCopy()
158158

159159
q.Min = make(core.ResourceList)
160-
q.Min[core.ResourceCPU] = *(cpuLimit.Copy())
160+
q.Min[core.ResourceCPU] = cpuLimit.DeepCopy()
161161

162162
q.MaxLimitRequestRatio = make(core.ResourceList)
163163
q.MaxLimitRequestRatio[core.ResourceCPU] = resource.MustParse("10")

pkg/apis/core/helper/qos/qos.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ func GetPodQOS(pod *core.Pod) core.PodQOSClass {
4949
continue
5050
}
5151
if quantity.Cmp(zeroQuantity) == 1 {
52-
delta := quantity.Copy()
52+
delta := quantity.DeepCopy()
5353
if _, exists := requests[name]; !exists {
54-
requests[name] = *delta
54+
requests[name] = delta
5555
} else {
5656
delta.Add(requests[name])
57-
requests[name] = *delta
57+
requests[name] = delta
5858
}
5959
}
6060
}
@@ -66,12 +66,12 @@ func GetPodQOS(pod *core.Pod) core.PodQOSClass {
6666
}
6767
if quantity.Cmp(zeroQuantity) == 1 {
6868
qosLimitsFound.Insert(string(name))
69-
delta := quantity.Copy()
69+
delta := quantity.DeepCopy()
7070
if _, exists := limits[name]; !exists {
71-
limits[name] = *delta
71+
limits[name] = delta
7272
} else {
7373
delta.Add(limits[name])
74-
limits[name] = *delta
74+
limits[name] = delta
7575
}
7676
}
7777
}

pkg/apis/core/v1/conversion_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,12 +208,12 @@ func TestResourceListConversion(t *testing.T) {
208208
},
209209
{ // Large values should still be accurate.
210210
input: v1.ResourceList{
211-
v1.ResourceCPU: *bigMilliQuantity.Copy(),
212-
v1.ResourceStorage: *bigMilliQuantity.Copy(),
211+
v1.ResourceCPU: bigMilliQuantity.DeepCopy(),
212+
v1.ResourceStorage: bigMilliQuantity.DeepCopy(),
213213
},
214214
expected: core.ResourceList{
215-
core.ResourceCPU: *bigMilliQuantity.Copy(),
216-
core.ResourceStorage: *bigMilliQuantity.Copy(),
215+
core.ResourceCPU: bigMilliQuantity.DeepCopy(),
216+
core.ResourceStorage: bigMilliQuantity.DeepCopy(),
217217
},
218218
},
219219
}

pkg/apis/core/v1/defaults.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func SetDefaults_Pod(obj *v1.Pod) {
141141
}
142142
for key, value := range obj.Spec.Containers[i].Resources.Limits {
143143
if _, exists := obj.Spec.Containers[i].Resources.Requests[key]; !exists {
144-
obj.Spec.Containers[i].Resources.Requests[key] = *(value.Copy())
144+
obj.Spec.Containers[i].Resources.Requests[key] = value.DeepCopy()
145145
}
146146
}
147147
}
@@ -153,7 +153,7 @@ func SetDefaults_Pod(obj *v1.Pod) {
153153
}
154154
for key, value := range obj.Spec.InitContainers[i].Resources.Limits {
155155
if _, exists := obj.Spec.InitContainers[i].Resources.Requests[key]; !exists {
156-
obj.Spec.InitContainers[i].Resources.Requests[key] = *(value.Copy())
156+
obj.Spec.InitContainers[i].Resources.Requests[key] = value.DeepCopy()
157157
}
158158
}
159159
}
@@ -315,7 +315,7 @@ func SetDefaults_NodeStatus(obj *v1.NodeStatus) {
315315
if obj.Allocatable == nil && obj.Capacity != nil {
316316
obj.Allocatable = make(v1.ResourceList, len(obj.Capacity))
317317
for key, value := range obj.Capacity {
318-
obj.Allocatable[key] = *(value.Copy())
318+
obj.Allocatable[key] = value.DeepCopy()
319319
}
320320
obj.Allocatable = obj.Capacity
321321
}
@@ -339,19 +339,19 @@ func SetDefaults_LimitRangeItem(obj *v1.LimitRangeItem) {
339339
// If a default limit is unspecified, but the max is specified, default the limit to the max
340340
for key, value := range obj.Max {
341341
if _, exists := obj.Default[key]; !exists {
342-
obj.Default[key] = *(value.Copy())
342+
obj.Default[key] = value.DeepCopy()
343343
}
344344
}
345345
// If a default limit is specified, but the default request is not, default request to limit
346346
for key, value := range obj.Default {
347347
if _, exists := obj.DefaultRequest[key]; !exists {
348-
obj.DefaultRequest[key] = *(value.Copy())
348+
obj.DefaultRequest[key] = value.DeepCopy()
349349
}
350350
}
351351
// If a default request is not specified, but the min is provided, default request to the min
352352
for key, value := range obj.Min {
353353
if _, exists := obj.DefaultRequest[key]; !exists {
354-
obj.DefaultRequest[key] = *(value.Copy())
354+
obj.DefaultRequest[key] = value.DeepCopy()
355355
}
356356
}
357357
}

pkg/apis/core/v1/defaults_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,7 @@ func TestSetDefaultNodeStatusAllocatable(t *testing.T) {
13941394
}
13951395
copy := make(v1.ResourceList, len(rl))
13961396
for k, v := range rl {
1397-
copy[k] = *v.Copy()
1397+
copy[k] = v.DeepCopy()
13981398
}
13991399
return copy
14001400
}

pkg/apis/core/v1/helper/qos/qos.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ func GetPodQOS(pod *v1.Pod) v1.PodQOSClass {
5151
continue
5252
}
5353
if quantity.Cmp(zeroQuantity) == 1 {
54-
delta := quantity.Copy()
54+
delta := quantity.DeepCopy()
5555
if _, exists := requests[name]; !exists {
56-
requests[name] = *delta
56+
requests[name] = delta
5757
} else {
5858
delta.Add(requests[name])
59-
requests[name] = *delta
59+
requests[name] = delta
6060
}
6161
}
6262
}
@@ -68,12 +68,12 @@ func GetPodQOS(pod *v1.Pod) v1.PodQOSClass {
6868
}
6969
if quantity.Cmp(zeroQuantity) == 1 {
7070
qosLimitsFound.Insert(string(name))
71-
delta := quantity.Copy()
71+
delta := quantity.DeepCopy()
7272
if _, exists := limits[name]; !exists {
73-
limits[name] = *delta
73+
limits[name] = delta
7474
} else {
7575
delta.Add(limits[name])
76-
limits[name] = *delta
76+
limits[name] = delta
7777
}
7878
}
7979
}

pkg/kubelet/cm/node_container_manager_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ func (cm *containerManagerImpl) getNodeAllocatableAbsolute() v1.ResourceList {
177177
func (cm *containerManagerImpl) getNodeAllocatableAbsoluteImpl(capacity v1.ResourceList) v1.ResourceList {
178178
result := make(v1.ResourceList)
179179
for k, v := range capacity {
180-
value := *(v.Copy())
180+
value := v.DeepCopy()
181181
if cm.NodeConfig.SystemReserved != nil {
182182
value.Sub(cm.NodeConfig.SystemReserved[k])
183183
}

pkg/kubelet/eviction/api/types.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ type Threshold struct {
9393
// GetThresholdQuantity returns the expected quantity value for a thresholdValue
9494
func GetThresholdQuantity(value ThresholdValue, capacity *resource.Quantity) *resource.Quantity {
9595
if value.Quantity != nil {
96-
return value.Quantity.Copy()
96+
res := value.Quantity.DeepCopy()
97+
return &res
9798
}
9899
return resource.NewQuantity(int64(float64(capacity.Value())*float64(value.Percentage)), resource.BinarySI)
99100
}

pkg/kubelet/nodestatus/setters.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ func MachineInfo(nodeName string,
332332
}
333333
allocatableReservation := nodeAllocatableReservationFunc()
334334
for k, v := range node.Status.Capacity {
335-
value := *(v.Copy())
335+
value := v.DeepCopy()
336336
if res, exists := allocatableReservation[k]; exists {
337337
value.Sub(res)
338338
}
@@ -355,7 +355,7 @@ func MachineInfo(nodeName string,
355355
for k, v := range node.Status.Capacity {
356356
if v1helper.IsHugePageResourceName(k) {
357357
allocatableMemory := node.Status.Allocatable[v1.ResourceMemory]
358-
value := *(v.Copy())
358+
value := v.DeepCopy()
359359
allocatableMemory.Sub(value)
360360
if allocatableMemory.Sign() < 0 {
361361
// Negative Allocatable resources don't make sense.

0 commit comments

Comments
 (0)