kubernetes/pkg/volume/flexvolume/probe.go

type flexVolumeProber

// GetDynamicPluginProber creates dynamic plugin prober
func GetDynamicPluginProber(pluginDir string, runner exec.Interface) volume.DynamicPluginProber {}

func (prober *flexVolumeProber) Init() error {}

// If we haven't yet done so, probe all pluginDir
// else probe events in eventsMap
func (prober *flexVolumeProber) Probe() (events []volume.ProbeEvent, err error) {}

func (prober *flexVolumeProber) probeMap() (events []volume.ProbeEvent, err error) {}

func (prober *flexVolumeProber) probeAll() (events []volume.ProbeEvent, err error) {}

func (prober *flexVolumeProber) newProbeEvent(driverDirName string, op volume.ProbeOperation) (volume.ProbeEvent, error) {}

func (prober *flexVolumeProber) handleWatchEvent(event fsnotify.Event) error {}

// getExecutableName returns the executableName of a flex plugin
func getExecutablePathRel(driverDirName string) string {}

func (prober *flexVolumeProber) updateEventsMap(eventDirAbs string, op volume.ProbeOperation) {}

// 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.
func (prober *flexVolumeProber) addWatchRecursive(filename string) error {}

// Creates a new filesystem watcher and adds watches for the plugin directory
// and all of its subdirectories.
func (prober *flexVolumeProber) initWatcher() error {}

// Creates the plugin directory, if it doesn't already exist.
func (prober *flexVolumeProber) createPluginDir() error {}