code: func (prober *flexVolumeProber) addWatchRecursive(filename string) error {
  	addWatch := func(path string, info os.FileInfo, err error) error {
  		if err == nil && info.IsDir() {
  			if err := prober.watcher.AddWatch(path); err != nil {
  				klog.Errorf("Error recursively adding watch: %v", err)
  			}
  		}
  		return nil
  	}
  	return prober.fs.Walk(filename, addWatch)
  }
docs: // Recursively adds to watch all directories inside and including the file specified by the given filename.
  // If the file is a symlink to a directory, it will watch the symlink but not any of the subdirectories.
  //
  // Each file or directory change triggers two events: one from the watch on itself, another from the watch
  // on its parent directory.