diff --git a/daemon/graphdriver/aufs/aufs.go b/daemon/graphdriver/aufs/aufs.go index 8ba097d45a..c05b95c4ec 100644 --- a/daemon/graphdriver/aufs/aufs.go +++ b/daemon/graphdriver/aufs/aufs.go @@ -98,7 +98,7 @@ func Init(root string, options []string) (graphdriver.Driver, error) { return nil, err } - if err := graphdriver.MakePrivate(root); err != nil { + if err := mountpk.MakePrivate(root); err != nil { return nil, err } diff --git a/daemon/graphdriver/btrfs/btrfs.go b/daemon/graphdriver/btrfs/btrfs.go index 26102aa1ef..954cf9b245 100644 --- a/daemon/graphdriver/btrfs/btrfs.go +++ b/daemon/graphdriver/btrfs/btrfs.go @@ -40,7 +40,7 @@ func Init(home string, options []string) (graphdriver.Driver, error) { return nil, err } - if err := graphdriver.MakePrivate(home); err != nil { + if err := mount.MakePrivate(home); err != nil { return nil, err } diff --git a/daemon/graphdriver/devmapper/driver.go b/daemon/graphdriver/devmapper/driver.go index 53b8da436d..9e1d88e7d4 100644 --- a/daemon/graphdriver/devmapper/driver.go +++ b/daemon/graphdriver/devmapper/driver.go @@ -34,7 +34,7 @@ func Init(home string, options []string) (graphdriver.Driver, error) { return nil, err } - if err := graphdriver.MakePrivate(home); err != nil { + if err := mount.MakePrivate(home); err != nil { return nil, err } diff --git a/daemon/graphdriver/driver.go b/daemon/graphdriver/driver.go index 91040db97a..e924aa45df 100644 --- a/daemon/graphdriver/driver.go +++ b/daemon/graphdriver/driver.go @@ -7,7 +7,6 @@ import ( "path" "github.com/docker/docker/pkg/archive" - "github.com/docker/docker/pkg/mount" ) type FsMagic uint64 @@ -139,18 +138,3 @@ func New(root string, options []string) (driver Driver, err error) { } return nil, fmt.Errorf("No supported storage backend found") } - -func MakePrivate(mountPoint string) error { - mounted, err := mount.Mounted(mountPoint) - if err != nil { - return err - } - - if !mounted { - if err := mount.Mount(mountPoint, mountPoint, "none", "bind,rw"); err != nil { - return err - } - } - - return mount.ForceMount("", mountPoint, "none", "private") -} diff --git a/pkg/mount/sharedsubtree_linux.go b/pkg/mount/sharedsubtree_linux.go new file mode 100644 index 0000000000..566ebbd6bf --- /dev/null +++ b/pkg/mount/sharedsubtree_linux.go @@ -0,0 +1,18 @@ +// +build linux + +package mount + +func MakePrivate(mountPoint string) error { + mounted, err := Mounted(mountPoint) + if err != nil { + return err + } + + if !mounted { + if err := Mount(mountPoint, mountPoint, "none", "bind,rw"); err != nil { + return err + } + } + + return ForceMount("", mountPoint, "none", "private") +}