func()

in pkg/csi/controller.go [255:280]


func (r *reconciler) updatePVCForLifecycle(ctx context.Context, pvc *corev1.PersistentVolumeClaim, needCreate bool) error {
	found := false
	for _, finalizer := range pvc.Finalizers {
		if finalizer == finalizerLabel {
			found = true
			break
		}
	}

	changed := false

	if !found {
		changed = true
		pvc.Finalizers = append(pvc.Finalizers, finalizerLabel)
	}
	if needCreate {
		if err := r.Create(ctx, pvc); err != nil {
			return err
		}
	} else if changed {
		if err := r.Update(ctx, pvc); err != nil {
			return err
		}
	}
	return nil
}