+ if err = os.Symlink(path, dst); err == nil {
+ return err
+ }
+ lerr, ok := err.(*os.LinkError)
+ if !ok {
+ return err
+ }
+ switch lerr.Err {
+ case syscall.ERROR_PRIVILEGE_NOT_HELD:
+ // no symlink privilege, let's
+ // fallback to a copy to avoid an error.
+ break
+ default:
+ return err
+ }