1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #22094 from thaJeztah/autocreate-on-windows

Enable auto-creation of host-path on Windows
This commit is contained in:
Alexander Morozov 2016-05-06 23:19:26 -07:00
commit 0b59ea60b2

View file

@ -3,10 +3,10 @@ package volume
import (
"fmt"
"os"
"runtime"
"strings"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/system"
)
// DefaultDriverName is the driver name used for the driver
@ -80,20 +80,20 @@ func (m *MountPoint) Setup() (string, error) {
}
return m.Volume.Mount(m.ID)
}
if len(m.Source) > 0 {
if _, err := os.Stat(m.Source); err != nil {
if !os.IsNotExist(err) {
return "", err
}
if runtime.GOOS != "windows" { // Windows does not have deprecation issues here
if err := os.MkdirAll(m.Source, 0755); err != nil {
return "", err
}
}
}
return m.Source, nil
if len(m.Source) == 0 {
return "", fmt.Errorf("Unable to setup mount point, neither source nor volume defined")
}
return "", fmt.Errorf("Unable to setup mount point, neither source nor volume defined")
// system.MkdirAll() produces an error if m.Source exists and is a file (not a directory),
// so first check if the path does not exist
if _, err := os.Stat(m.Source); err != nil {
if !os.IsNotExist(err) {
return "", err
}
if err := system.MkdirAll(m.Source, 0755); err != nil {
return "", err
}
}
return m.Source, nil
}
// Path returns the path of a volume in a mount point.