Merge pull request #36091 from kolyshkin/mount
pkg/mount improvements Upstream-commit: 53982e3fc1642f2605189cea48bc6de7b9318611 Component: engine
This commit is contained in:
@@ -19,7 +19,6 @@ import (
|
||||
"github.com/docker/docker/pkg/mount"
|
||||
"github.com/docker/docker/volume"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// VolumeDataPathName is the name of the directory where the volume data is stored.
|
||||
@@ -66,11 +65,6 @@ func New(scope string, rootIDs idtools.IDPair) (*Root, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
mountInfos, err := mount.GetMounts()
|
||||
if err != nil {
|
||||
logrus.Debugf("error looking up mounts for local volume cleanup: %v", err)
|
||||
}
|
||||
|
||||
for _, d := range dirs {
|
||||
if !d.IsDir() {
|
||||
continue
|
||||
@@ -96,12 +90,7 @@ func New(scope string, rootIDs idtools.IDPair) (*Root, error) {
|
||||
}
|
||||
|
||||
// unmount anything that may still be mounted (for example, from an unclean shutdown)
|
||||
for _, info := range mountInfos {
|
||||
if info.Mountpoint == v.path {
|
||||
mount.Unmount(v.path)
|
||||
break
|
||||
}
|
||||
}
|
||||
mount.Unmount(v.path)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -184,6 +184,10 @@ func TestCreateWithOpts(t *testing.T) {
|
||||
if runtime.GOOS == "windows" {
|
||||
t.Skip()
|
||||
}
|
||||
if os.Getuid() != 0 {
|
||||
t.Skip("root required")
|
||||
}
|
||||
|
||||
rootDir, err := ioutil.TempDir("", "local-volume-test")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -215,33 +219,27 @@ func TestCreateWithOpts(t *testing.T) {
|
||||
}
|
||||
}()
|
||||
|
||||
mountInfos, err := mount.GetMounts()
|
||||
mountInfos, err := mount.GetMounts(mount.SingleEntryFilter(dir))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var found bool
|
||||
for _, info := range mountInfos {
|
||||
if info.Mountpoint == dir {
|
||||
found = true
|
||||
if info.Fstype != "tmpfs" {
|
||||
t.Fatalf("expected tmpfs mount, got %q", info.Fstype)
|
||||
}
|
||||
if info.Source != "tmpfs" {
|
||||
t.Fatalf("expected tmpfs mount, got %q", info.Source)
|
||||
}
|
||||
if !strings.Contains(info.VfsOpts, "uid=1000") {
|
||||
t.Fatalf("expected mount info to have uid=1000: %q", info.VfsOpts)
|
||||
}
|
||||
if !strings.Contains(info.VfsOpts, "size=1024k") {
|
||||
t.Fatalf("expected mount info to have size=1024k: %q", info.VfsOpts)
|
||||
}
|
||||
break
|
||||
}
|
||||
if len(mountInfos) != 1 {
|
||||
t.Fatalf("expected 1 mount, found %d: %+v", len(mountInfos), mountInfos)
|
||||
}
|
||||
|
||||
if !found {
|
||||
t.Fatal("mount not found")
|
||||
info := mountInfos[0]
|
||||
t.Logf("%+v", info)
|
||||
if info.Fstype != "tmpfs" {
|
||||
t.Fatalf("expected tmpfs mount, got %q", info.Fstype)
|
||||
}
|
||||
if info.Source != "tmpfs" {
|
||||
t.Fatalf("expected tmpfs mount, got %q", info.Source)
|
||||
}
|
||||
if !strings.Contains(info.VfsOpts, "uid=1000") {
|
||||
t.Fatalf("expected mount info to have uid=1000: %q", info.VfsOpts)
|
||||
}
|
||||
if !strings.Contains(info.VfsOpts, "size=1024k") {
|
||||
t.Fatalf("expected mount info to have size=1024k: %q", info.VfsOpts)
|
||||
}
|
||||
|
||||
if v.active.count != 1 {
|
||||
|
||||
Reference in New Issue
Block a user