switch from package syscall to x/sys/unix

The syscall package is locked down and the comment in [1] advises to
switch code to use the corresponding package from golang.org/x/sys. Do
so and replace usage of package syscall with package
golang.org/x/sys/unix where applicable.

  [1] https://github.com/golang/go/blob/master/src/syscall/syscall.go#L21-L24

This will also allow to get updates and fixes for syscall wrappers
without having to use a new go version.

Errno, Signal and SysProcAttr aren't changed as they haven't been
implemented in /x/sys/. Stat_t from syscall is used if standard library
packages (e.g. os) require it. syscall.SIGTERM is used for
cross-platform files.
This commit is contained in:
Tobias Klauser
2017-07-20 13:44:19 +02:00
parent 1fd18181ab
commit 4a69005fa1
24 changed files with 52 additions and 38 deletions

View File

@@ -20,9 +20,9 @@ package empty_dir
import (
"fmt"
"syscall"
"github.com/golang/glog"
"golang.org/x/sys/unix"
"k8s.io/kubernetes/pkg/util/mount"
)
@@ -40,8 +40,8 @@ func (m *realMountDetector) GetMountMedium(path string) (storageMedium, bool, er
if err != nil {
return 0, false, fmt.Errorf("IsLikelyNotMountPoint(%q): %v", path, err)
}
buf := syscall.Statfs_t{}
if err := syscall.Statfs(path, &buf); err != nil {
buf := unix.Statfs_t{}
if err := unix.Statfs(path, &buf); err != nil {
return 0, false, fmt.Errorf("statfs(%q): %v", path, err)
}