kubernetes/pkg/controller/volume/pvprotection/pv_protection_controller.go

type Controller

// NewPVProtectionController returns a new *Controller.
func NewPVProtectionController(logger klog.Logger, pvInformer coreinformers.PersistentVolumeInformer, cl clientset.Interface) *Controller {}

// Run runs the controller goroutines.
func (c *Controller) Run(ctx context.Context, workers int) {}

func (c *Controller) runWorker(ctx context.Context) {}

// processNextWorkItem deals with one pvcKey off the queue.  It returns false when it's time to quit.
func (c *Controller) processNextWorkItem(ctx context.Context) bool {}

func (c *Controller) processPV(ctx context.Context, pvName string) error {}

func (c *Controller) addFinalizer(ctx context.Context, pv *v1.PersistentVolume) error {}

func (c *Controller) removeFinalizer(ctx context.Context, pv *v1.PersistentVolume) error {}

func (c *Controller) isBeingUsed(pv *v1.PersistentVolume) bool {}

// pvAddedUpdated reacts to pv added/updated events
func (c *Controller) pvAddedUpdated(logger klog.Logger, obj interface{}