code: func (w *Watcher) traversePluginDir(dir string) error {
  	return w.fs.Walk(dir, func(path string, info os.FileInfo, err error) error {
  		if err != nil {
  			if path == dir {
  				return fmt.Errorf("error accessing path: %s error: %v", path, err)
  			}
  
  			klog.Errorf("error accessing path: %s error: %v", path, err)
  			return nil
  		}
  
  		switch mode := info.Mode(); {
  		case mode.IsDir():
  			if w.containsBlacklistedDir(path) {
  				return filepath.SkipDir
  			}
  
  			if err := w.fsWatcher.Add(path); err != nil {
  				return fmt.Errorf("failed to watch %s, err: %v", path, err)
  			}
  		case mode&os.ModeSocket != 0:
  			event := fsnotify.Event{
  				Name: path,
  				Op:   fsnotify.Create,
  			}
  			//TODO: Handle errors by taking corrective measures
  			if err := w.handleCreateEvent(event); err != nil {
  				klog.Errorf("error %v when handling create event: %s", err, event)
  			}
  		default:
  			klog.V(5).Infof("Ignoring file %s with mode %v", path, mode)
  		}
  
  		return nil
  	})
  }
docs: // Walks through the plugin directory discover any existing plugin sockets.
  // Goroutines started here will be waited for in Stop() before cleaning up.
  // Ignore all errors except root dir not being walkable