code: func (pm *VolumePluginMgr) refreshProbedPlugins() {
  	events, err := pm.prober.Probe()
  	if err != nil {
  		klog.Errorf("Error dynamically probing plugins: %s", err)
  		return // Use cached plugins upon failure.
  	}
  
  	for _, event := range events {
  		if event.Op == ProbeAddOrUpdate {
  			if err := pm.initProbedPlugin(event.Plugin); err != nil {
  				klog.Errorf("Error initializing dynamically probed plugin %s; error: %s",
  					event.Plugin.GetPluginName(), err)
  				continue
  			}
  			pm.probedPlugins[event.Plugin.GetPluginName()] = event.Plugin
  		} else if event.Op == ProbeRemove {
  			// Plugin is not available on ProbeRemove event, only PluginName
  			delete(pm.probedPlugins, event.PluginName)
  		} else {
  			klog.Errorf("Unknown Operation on PluginName: %s.",
  				event.Plugin.GetPluginName())
  		}
  	}
  }
docs: // Check if probedPlugin cache update is required.
  // If it is, initialize all probed plugins and replace the cache with them.