From 5c584269a7944b3dbf08c273735a95402d4a8584 Mon Sep 17 00:00:00 2001 From: Maciej Borsz Date: Wed, 19 Apr 2023 20:09:30 +0000 Subject: [PATCH] avoid volume copy in checkAttachableInlineVolume --- .../framework/plugins/nodevolumelimits/csi.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/scheduler/framework/plugins/nodevolumelimits/csi.go b/pkg/scheduler/framework/plugins/nodevolumelimits/csi.go index ab2d335f6afc..1a78f3ab2d09 100644 --- a/pkg/scheduler/framework/plugins/nodevolumelimits/csi.go +++ b/pkg/scheduler/framework/plugins/nodevolumelimits/csi.go @@ -172,7 +172,7 @@ func (pl *CSILimits) filterAttachableVolumes( // - If the volume is migratable and CSI migration is enabled, need to count it // as well. // - If the volume is not migratable, it will be count in non_csi filter. - if err := pl.checkAttachableInlineVolume(vol, csiNode, pod, result); err != nil { + if err := pl.checkAttachableInlineVolume(&vol, csiNode, pod, result); err != nil { return err } @@ -220,15 +220,15 @@ func (pl *CSILimits) filterAttachableVolumes( // checkAttachableInlineVolume takes an inline volume and add to the result map if the // volume is migratable and CSI migration for this plugin has been enabled. -func (pl *CSILimits) checkAttachableInlineVolume(vol v1.Volume, csiNode *storagev1.CSINode, +func (pl *CSILimits) checkAttachableInlineVolume(vol *v1.Volume, csiNode *storagev1.CSINode, pod *v1.Pod, result map[string]string) error { - if !pl.translator.IsInlineMigratable(&vol) { + if !pl.translator.IsInlineMigratable(vol) { return nil } // Check if the intree provisioner CSI migration has been enabled. - inTreeProvisionerName, err := pl.translator.GetInTreePluginNameFromSpec(nil, &vol) + inTreeProvisionerName, err := pl.translator.GetInTreePluginNameFromSpec(nil, vol) if err != nil { - return fmt.Errorf("looking up provisioner name for volume %v: %w", vol, err) + return fmt.Errorf("looking up provisioner name for volume %s: %w", vol.Name, err) } if !isCSIMigrationOn(csiNode, inTreeProvisionerName) { csiNodeName := "" @@ -240,9 +240,9 @@ func (pl *CSILimits) checkAttachableInlineVolume(vol v1.Volume, csiNode *storage return nil } // Do translation for the in-tree volume. - translatedPV, err := pl.translator.TranslateInTreeInlineVolumeToCSI(&vol, pod.Namespace) + translatedPV, err := pl.translator.TranslateInTreeInlineVolumeToCSI(vol, pod.Namespace) if err != nil || translatedPV == nil { - return fmt.Errorf("converting volume(%v) from inline to csi: %w", vol, err) + return fmt.Errorf("converting volume(%s) from inline to csi: %w", vol.Name, err) } driverName, err := pl.translator.GetCSINameFromInTreeName(inTreeProvisionerName) if err != nil {