Skip to content
This repository has been archived by the owner on Oct 13, 2023. It is now read-only.

Commit

Permalink
Remove skip evaluation of symlinks to data root on IoT Core
Browse files Browse the repository at this point in the history
This fix was added in 8e71b1e to work around
a go issue (golang/go#20506).

That issue was fixed in
golang/go@66c03d3,
which is part of Go 1.10 and up. This reverts the changes that were made in
8e71b1e, and are no longer needed.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: bad0b4e6043fa45e5f17f863f6c4dfba4398f414
Component: engine
  • Loading branch information
thaJeztah committed Jul 13, 2019
1 parent 07602ec commit 87cf3fa
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 20 deletions.
5 changes: 3 additions & 2 deletions components/engine/daemon/daemon.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"sync"
"time"

"github.com/docker/docker/pkg/fileutils"
"google.golang.org/grpc"

"github.com/containerd/containerd"
Expand Down Expand Up @@ -765,7 +766,7 @@ func NewDaemon(ctx context.Context, config *config.Config, pluginStore *plugin.S
if err != nil {
return nil, fmt.Errorf("Unable to get the TempDir under %s: %s", config.Root, err)
}
realTmp, err := getRealPath(tmp)
realTmp, err := fileutils.ReadSymlinkedDirectory(tmp)
if err != nil {
return nil, fmt.Errorf("Unable to get the full path to the TempDir (%s): %s", tmp, err)
}
Expand Down Expand Up @@ -1447,7 +1448,7 @@ func CreateDaemonRoot(config *config.Config) error {
if _, err := os.Stat(config.Root); err != nil && os.IsNotExist(err) {
realRoot = config.Root
} else {
realRoot, err = getRealPath(config.Root)
realRoot, err = fileutils.ReadSymlinkedDirectory(config.Root)
if err != nil {
return fmt.Errorf("Unable to get the full path to root (%s): %s", config.Root, err)
}
Expand Down
5 changes: 0 additions & 5 deletions components/engine/daemon/daemon_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import (
"strings"

"github.com/docker/docker/daemon/config"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/mount"
"github.com/docker/libnetwork/resolvconf"
"github.com/pkg/errors"
Expand Down Expand Up @@ -123,10 +122,6 @@ func getCleanPatterns(id string) (regexps []*regexp.Regexp) {
return
}

func getRealPath(path string) (string, error) {
return fileutils.ReadSymlinkedDirectory(path)
}

func shouldUnmountRoot(root string, info *mount.Info) bool {
if !strings.HasSuffix(root, info.Root) {
return false
Expand Down
11 changes: 0 additions & 11 deletions components/engine/daemon/daemon_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import (
"github.com/docker/docker/container"
"github.com/docker/docker/daemon/config"
"github.com/docker/docker/pkg/containerfs"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/idtools"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/platform"
Expand Down Expand Up @@ -651,16 +650,6 @@ func (daemon *Daemon) setupSeccompProfile() error {
return nil
}

func getRealPath(path string) (string, error) {
if system.IsIoTCore() {
// Due to https://github.com/golang/go/issues/20506, path expansion
// does not work correctly on the default IoT Core configuration.
// TODO @darrenstahlmsft remove this once golang/go/20506 is fixed
return path, nil
}
return fileutils.ReadSymlinkedDirectory(path)
}

func (daemon *Daemon) loadRuntimes() error {
return nil
}
Expand Down
2 changes: 0 additions & 2 deletions components/engine/pkg/system/syscall_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,6 @@ func IsWindowsClient() bool {

// IsIoTCore returns true if the currently running image is based off of
// Windows 10 IoT Core.
// @engine maintainers - this function should not be removed or modified as it
// is used to enforce licensing restrictions on Windows.
func IsIoTCore() bool {
var returnedProductType uint32
r1, _, err := procGetProductInfo.Call(6, 1, 0, 0, uintptr(unsafe.Pointer(&returnedProductType)))
Expand Down

0 comments on commit 87cf3fa

Please sign in to comment.