From 4e9f4b9a1b1b197066c015cc51e06dfd857fce48 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Thu, 30 Oct 2014 17:04:56 -0400 Subject: [PATCH] mount: move the MakePrivate to pkg/mount The logic is unrelated to graphdriver. Signed-off-by: Vincent Batts Upstream-commit: 930a756ad55ad5f4e5e6391b41673743d7254c2b Component: engine --- .../engine/daemon/graphdriver/aufs/aufs.go | 2 +- .../engine/daemon/graphdriver/btrfs/btrfs.go | 2 +- .../daemon/graphdriver/devmapper/driver.go | 2 +- components/engine/daemon/graphdriver/driver.go | 16 ---------------- .../engine/pkg/mount/sharedsubtree_linux.go | 18 ++++++++++++++++++ 5 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 components/engine/pkg/mount/sharedsubtree_linux.go diff --git a/components/engine/daemon/graphdriver/aufs/aufs.go b/components/engine/daemon/graphdriver/aufs/aufs.go index 8ba097d45a..c05b95c4ec 100644 --- a/components/engine/daemon/graphdriver/aufs/aufs.go +++ b/components/engine/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/components/engine/daemon/graphdriver/btrfs/btrfs.go b/components/engine/daemon/graphdriver/btrfs/btrfs.go index 26102aa1ef..954cf9b245 100644 --- a/components/engine/daemon/graphdriver/btrfs/btrfs.go +++ b/components/engine/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/components/engine/daemon/graphdriver/devmapper/driver.go b/components/engine/daemon/graphdriver/devmapper/driver.go index 53b8da436d..9e1d88e7d4 100644 --- a/components/engine/daemon/graphdriver/devmapper/driver.go +++ b/components/engine/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/components/engine/daemon/graphdriver/driver.go b/components/engine/daemon/graphdriver/driver.go index 91040db97a..e924aa45df 100644 --- a/components/engine/daemon/graphdriver/driver.go +++ b/components/engine/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/components/engine/pkg/mount/sharedsubtree_linux.go b/components/engine/pkg/mount/sharedsubtree_linux.go new file mode 100644 index 0000000000..566ebbd6bf --- /dev/null +++ b/components/engine/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") +}