From f2eb79fb5fb10275c014b55c13e28ff02d3b70a8 Mon Sep 17 00:00:00 2001 From: ebiggers Date: Thu, 23 Jan 2020 13:41:42 -0800 Subject: [PATCH] filesystem: remove canonicalizePath() (#185) canonicalizePath() is now only used by an error path in getMountFromLink(), which we can make use getDeviceName() instead. --- filesystem/mountpoint.go | 3 +-- filesystem/path.go | 17 ----------------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/filesystem/mountpoint.go b/filesystem/mountpoint.go index 6119be82..edbdc851 100644 --- a/filesystem/mountpoint.go +++ b/filesystem/mountpoint.go @@ -319,9 +319,8 @@ func getMountFromLink(link string) (*Mount, error) { } mnt, ok := mountsByDevice[deviceNumber] if !ok { - devicePath, _ := canonicalizePath(searchPath) return nil, errors.Wrapf(ErrFollowLink, "no mounts for device %q (%v)", - devicePath, deviceNumber) + getDeviceName(deviceNumber), deviceNumber) } if mnt == nil { return nil, filesystemRootDirNotVisibleError(deviceNumber) diff --git a/filesystem/path.go b/filesystem/path.go index 376daf03..b9b403dd 100644 --- a/filesystem/path.go +++ b/filesystem/path.go @@ -23,7 +23,6 @@ import ( "fmt" "log" "os" - "path/filepath" "golang.org/x/sys/unix" @@ -41,22 +40,6 @@ func OpenFileOverridingUmask(name string, flag int, perm os.FileMode) (*os.File, // We only check the unix permissions and the sticky bit const permMask = os.ModeSticky | os.ModePerm -// canonicalizePath turns path into an absolute path without symlinks. -func canonicalizePath(path string) (string, error) { - path, err := filepath.Abs(path) - if err != nil { - return "", err - } - path, err = filepath.EvalSymlinks(path) - - // Get a better error if we have an invalid path - if pathErr, ok := err.(*os.PathError); ok { - err = errors.Wrap(pathErr.Err, pathErr.Path) - } - - return path, err -} - // loggedStat runs os.Stat, but it logs the error if stat returns any error // other than nil or IsNotExist. func loggedStat(name string) (os.FileInfo, error) {