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)