diff --git a/mountinfo/mounted_linux.go b/mountinfo/mounted_linux.go index bf221e68..8f1a672e 100644 --- a/mountinfo/mounted_linux.go +++ b/mountinfo/mounted_linux.go @@ -44,7 +44,7 @@ func mountedByOpenat2(path string) (bool, error) { Flags: unix.O_PATH | unix.O_CLOEXEC, }) if err != nil { - return false, &os.PathError{Op: "openat2", Path: dir, Err: err} + return false, err } fd, err := unix.Openat2(dirfd, last, &unix.OpenHow{ Flags: unix.O_PATH | unix.O_CLOEXEC | unix.O_NOFOLLOW, @@ -59,7 +59,7 @@ func mountedByOpenat2(path string) (bool, error) { return true, nil } // not sure - return false, &os.PathError{Op: "openat2", Path: path, Err: err} + return false, err } // mountedFast is similar to MountedFast, except it expects a normalized path. diff --git a/mountinfo/mounted_unix.go b/mountinfo/mounted_unix.go index 45ddad23..d0294697 100644 --- a/mountinfo/mounted_unix.go +++ b/mountinfo/mounted_unix.go @@ -4,7 +4,6 @@ package mountinfo import ( - "fmt" "os" "path/filepath" @@ -15,12 +14,12 @@ func mountedByStat(path string) (bool, error) { var st unix.Stat_t if err := unix.Lstat(path, &st); err != nil { - return false, &os.PathError{Op: "stat", Path: path, Err: err} + return false, err } dev := st.Dev parent := filepath.Dir(path) if err := unix.Lstat(parent, &st); err != nil { - return false, &os.PathError{Op: "stat", Path: parent, Err: err} + return false, err } if dev != st.Dev { // Device differs from that of parent, @@ -33,13 +32,13 @@ func mountedByStat(path string) (bool, error) { func normalizePath(path string) (realPath string, err error) { if realPath, err = filepath.Abs(path); err != nil { - return "", fmt.Errorf("unable to get absolute path for %q: %w", path, err) + return "", err } if realPath, err = filepath.EvalSymlinks(realPath); err != nil { - return "", fmt.Errorf("failed to canonicalise path for %q: %w", path, err) + return "", err } if _, err := os.Stat(realPath); err != nil { - return "", fmt.Errorf("failed to stat target of %q: %w", path, err) + return "", err } return realPath, nil }