code: func (prober *flexVolumeProber) initWatcher() error {
  	err := prober.watcher.Init(func(event fsnotify.Event) {
  		if err := prober.handleWatchEvent(event); err != nil {
  			klog.Errorf("Flexvolume prober watch: %s", err)
  		}
  	}, func(err error) {
  		klog.Errorf("Received an error from watcher: %s", err)
  	})
  	if err != nil {
  		return fmt.Errorf("Error initializing watcher: %s", err)
  	}
  
  	if err := prober.addWatchRecursive(prober.pluginDir); err != nil {
  		return fmt.Errorf("Error adding watch on Flexvolume directory: %s", err)
  	}
  
  	prober.watcher.Run()
  
  	return nil
  }
docs: // Creates a new filesystem watcher and adds watches for the plugin directory
  // and all of its subdirectories.