diff --git a/go.mod b/go.mod index 6f90129db0..7292e53fe3 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( k8s.io/klog/v2 v2.130.1 sigs.k8s.io/controller-runtime v0.18.1-0.20240731191308-a39ace352f07 sigs.k8s.io/gateway-api v1.1.0 - sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0 + sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.1 ) require ( diff --git a/go.sum b/go.sum index fbabf4a657..b354deb669 100644 --- a/go.sum +++ b/go.sum @@ -359,8 +359,8 @@ sigs.k8s.io/gateway-api v1.1.0 h1:DsLDXCi6jR+Xz8/xd0Z1PYl2Pn0TyaFMOPPZIj4inDM= sigs.k8s.io/gateway-api v1.1.0/go.mod h1:ZH4lHrL2sDi0FHZ9jjneb8kKnGzFWyrTya35sWUTrRs= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0 h1:+OhFU21hL9Gq/sHKHfYxbc7M6RWV3UqTpnk5/wF9cP4= -sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0/go.mod h1:mfQ2enu5yAHUhpNWsce9NmkqkRQsk70zQT+7KjZ+JMo= +sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.1 h1:uhd7RobUnVmfkRb3gkYQh4tBOiBEBvdwW/nAthG95Rc= +sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.1/go.mod h1:mfQ2enu5yAHUhpNWsce9NmkqkRQsk70zQT+7KjZ+JMo= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= diff --git a/vendor/modules.txt b/vendor/modules.txt index 25b8179817..180ee9cc1f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1533,7 +1533,7 @@ sigs.k8s.io/gateway-api/pkg/client/listers/apis/v1beta1 ## explicit; go 1.18 sigs.k8s.io/json sigs.k8s.io/json/internal/golang/encoding/json -# sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0 +# sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.1 ## explicit; go 1.22.0 sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/metrics diff --git a/vendor/sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/controller.go b/vendor/sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/controller.go index 194f6dae74..0b33f66181 100644 --- a/vendor/sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/controller.go +++ b/vendor/sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/controller.go @@ -54,7 +54,7 @@ import ( "k8s.io/client-go/tools/record" ref "k8s.io/client-go/tools/reference" "k8s.io/client-go/util/workqueue" - "k8s.io/klog/v2" + klog "k8s.io/klog/v2" "sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/metrics" "sigs.k8s.io/sig-storage-lib-external-provisioner/v10/util" ) @@ -1589,7 +1589,6 @@ func (ctrl *ProvisionController) deleteVolumeOperation(ctx context.Context, volu return fmt.Errorf("expected volume but got %+v", volumeObj) } finalizers, modified := removeFinalizer(newVolume.ObjectMeta.Finalizers, finalizerPV) - // Only update the finalizers if we actually removed something if modified { if _, err = ctrl.patchPersistentVolumeWithFinalizers(ctx, newVolume, finalizers); err != nil { @@ -1608,23 +1607,21 @@ func (ctrl *ProvisionController) deleteVolumeOperation(ctx context.Context, volu return nil } -// removeFinalizer removes finalizer from slice, returns slice and whether modified. +// removeFinalizer removes finalizer from slice, returns the new slice and whether modified. +// It does not modify the original slice. func removeFinalizer(finalizers []string, finalizerToRemove string) ([]string, bool) { - for i, finalizer := range finalizers { - if finalizer == finalizerToRemove { - finalizers = append(finalizers[:i], finalizers[i+1:]...) - if len(finalizers) == 0 { - finalizers = nil - } - return finalizers, true + ret := make([]string, 0, len(finalizers)) + for _, finalizer := range finalizers { + if finalizer != finalizerToRemove { + ret = append(ret, finalizer) } } - if len(finalizers) == 0 { - finalizers = nil + if len(ret) == 0 { + ret = nil } - return finalizers, false + return ret, len(ret) != len(finalizers) } // addFinalizer adds finalizer to slice, returns slice and whether modified.