From f9edf991b3a278cb708988eaa9670aa9dbb89ccc Mon Sep 17 00:00:00 2001 From: "Stefan J. Wernli" Date: Tue, 3 Nov 2015 16:57:16 -0800 Subject: [PATCH] Optimize Create Container to skip extra mount on Windows. Signed-off-by: Stefan J. Wernli Upstream-commit: 9112d90b27c3bf13b8d1c41eb288c63868c53747 Component: engine --- components/engine/daemon/create.go | 4 ---- components/engine/daemon/create_unix.go | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/components/engine/daemon/create.go b/components/engine/daemon/create.go index aaf0f1329b..adf163a471 100644 --- a/components/engine/daemon/create.go +++ b/components/engine/daemon/create.go @@ -114,10 +114,6 @@ func (daemon *Daemon) create(params *ContainerCreateConfig) (retC *Container, re } } }() - if err := daemon.Mount(container); err != nil { - return nil, err - } - defer daemon.Unmount(container) if err := daemon.createContainerPlatformSpecificSettings(container, params.Config, params.HostConfig, img); err != nil { return nil, err diff --git a/components/engine/daemon/create_unix.go b/components/engine/daemon/create_unix.go index 4d84997e93..4975c350a5 100644 --- a/components/engine/daemon/create_unix.go +++ b/components/engine/daemon/create_unix.go @@ -16,6 +16,11 @@ import ( // createContainerPlatformSpecificSettings performs platform specific container create functionality func (daemon *Daemon) createContainerPlatformSpecificSettings(container *Container, config *runconfig.Config, hostConfig *runconfig.HostConfig, img *image.Image) error { + if err := daemon.Mount(container); err != nil { + return err + } + defer daemon.Unmount(container) + for spec := range config.Volumes { name := stringid.GenerateNonCryptoID() destination := filepath.Clean(spec)