INNER CODE UNIT · Go

updateSymlink

NVIDIA/k8s-device-plugin · cmd/config-manager/main.go:396

func updateSymlink(config string, f *Flags) (bool, error) {
	src := "/dev/null"
	if config != "" {
		src = filepath.Join(f.ConfigFileSrcdir, config)
	}

	current, err := os.Readlink(f.ConfigFileDst)
	if err == nil {
		if current == src {
			return false, nil
		}
	} else if !os.IsNotExist(err) && !errors.Is(err, syscall.EINVAL) {
		return false, fmt.Errorf("error reading symlink %s: %w", f.ConfigFileDst, err)
	}

	err = os.Remove(f.ConfigFileDst)
	if err != nil && !os.IsNotExist(err) {
		return false, fmt.Errorf("error removing existing config: %w", err)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…