Skip to content

Commit af04152

Browse files
authored
Merge pull request moby#40694 from kolyshkin/moby-sys-mount-part-II
switch to moby/sys/{mount,mountinfo} part II
2 parents b6f07fa + 85dc0fb commit af04152

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+645
-1579
lines changed

Diff for: container/container_unix.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import (
1313
containertypes "github.com/docker/docker/api/types/container"
1414
mounttypes "github.com/docker/docker/api/types/mount"
1515
swarmtypes "github.com/docker/docker/api/types/swarm"
16-
"github.com/docker/docker/pkg/mount"
1716
"github.com/docker/docker/pkg/stringid"
1817
"github.com/docker/docker/volume"
1918
volumemounts "github.com/docker/docker/volume/mounts"
19+
"github.com/moby/sys/mount"
2020
"github.com/opencontainers/selinux/go-selinux/label"
2121
"github.com/pkg/errors"
2222
"github.com/sirupsen/logrus"

Diff for: daemon/container_operations_unix.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import (
1515
"github.com/docker/docker/daemon/links"
1616
"github.com/docker/docker/errdefs"
1717
"github.com/docker/docker/pkg/idtools"
18-
"github.com/docker/docker/pkg/mount"
1918
"github.com/docker/docker/pkg/stringid"
2019
"github.com/docker/docker/runconfig"
2120
"github.com/docker/libnetwork"
21+
"github.com/moby/sys/mount"
2222
"github.com/opencontainers/selinux/go-selinux/label"
2323
"github.com/pkg/errors"
2424
"github.com/sirupsen/logrus"

Diff for: daemon/daemon_linux.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ import (
99
"strings"
1010

1111
"github.com/docker/docker/daemon/config"
12-
"github.com/docker/docker/pkg/mount"
1312
"github.com/docker/libnetwork/resolvconf"
13+
"github.com/moby/sys/mount"
14+
"github.com/moby/sys/mountinfo"
1415
"github.com/pkg/errors"
1516
"github.com/sirupsen/logrus"
1617
)
@@ -75,7 +76,7 @@ func (daemon *Daemon) cleanupMounts() error {
7576
return err
7677
}
7778

78-
info, err := mount.GetMounts(mount.SingleEntryFilter(daemon.root))
79+
info, err := mountinfo.GetMounts(mountinfo.SingleEntryFilter(daemon.root))
7980
if err != nil {
8081
return errors.Wrap(err, "error reading mount table for cleanup")
8182
}
@@ -122,7 +123,7 @@ func getCleanPatterns(id string) (regexps []*regexp.Regexp) {
122123
return
123124
}
124125

125-
func shouldUnmountRoot(root string, info *mount.Info) bool {
126+
func shouldUnmountRoot(root string, info *mountinfo.Info) bool {
126127
if !strings.HasSuffix(root, info.Root) {
127128
return false
128129
}

Diff for: daemon/daemon_linux_test.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import (
1111

1212
containertypes "github.com/docker/docker/api/types/container"
1313
"github.com/docker/docker/daemon/config"
14-
"github.com/docker/docker/pkg/mount"
14+
"github.com/moby/sys/mount"
15+
"github.com/moby/sys/mountinfo"
1516
"gotest.tools/v3/assert"
1617
is "gotest.tools/v3/assert/cmp"
1718
)
@@ -123,25 +124,25 @@ func TestShouldUnmountRoot(t *testing.T) {
123124
for _, test := range []struct {
124125
desc string
125126
root string
126-
info *mount.Info
127+
info *mountinfo.Info
127128
expect bool
128129
}{
129130
{
130131
desc: "root is at /",
131132
root: "/docker",
132-
info: &mount.Info{Root: "/docker", Mountpoint: "/docker"},
133+
info: &mountinfo.Info{Root: "/docker", Mountpoint: "/docker"},
133134
expect: true,
134135
},
135136
{
136137
desc: "root is at in a submount from `/`",
137138
root: "/foo/docker",
138-
info: &mount.Info{Root: "/docker", Mountpoint: "/foo/docker"},
139+
info: &mountinfo.Info{Root: "/docker", Mountpoint: "/foo/docker"},
139140
expect: true,
140141
},
141142
{
142143
desc: "root is mounted in from a parent mount namespace same root dir", // dind is an example of this
143144
root: "/docker",
144-
info: &mount.Info{Root: "/docker/volumes/1234657/_data", Mountpoint: "/docker"},
145+
info: &mountinfo.Info{Root: "/docker/volumes/1234657/_data", Mountpoint: "/docker"},
145146
expect: false,
146147
},
147148
} {
@@ -172,7 +173,7 @@ func TestShouldUnmountRoot(t *testing.T) {
172173

173174
func checkMounted(t *testing.T, p string, expect bool) {
174175
t.Helper()
175-
mounted, err := mount.Mounted(p)
176+
mounted, err := mountinfo.Mounted(p)
176177
assert.Check(t, err)
177178
assert.Check(t, mounted == expect, "expected %v, actual %v", expect, mounted)
178179
}

Diff for: daemon/daemon_unix.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030
"github.com/docker/docker/pkg/containerfs"
3131
"github.com/docker/docker/pkg/idtools"
3232
"github.com/docker/docker/pkg/ioutils"
33-
"github.com/docker/docker/pkg/mount"
3433
"github.com/docker/docker/pkg/parsers"
3534
"github.com/docker/docker/pkg/parsers/kernel"
3635
"github.com/docker/docker/pkg/sysinfo"
@@ -43,6 +42,7 @@ import (
4342
"github.com/docker/libnetwork/netutils"
4443
"github.com/docker/libnetwork/options"
4544
lntypes "github.com/docker/libnetwork/types"
45+
"github.com/moby/sys/mount"
4646
"github.com/opencontainers/runc/libcontainer/cgroups"
4747
rsystem "github.com/opencontainers/runc/libcontainer/system"
4848
specs "github.com/opencontainers/runtime-spec/specs-go"

Diff for: daemon/graphdriver/aufs/aufs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ import (
4242
"github.com/docker/docker/pkg/directory"
4343
"github.com/docker/docker/pkg/idtools"
4444
"github.com/docker/docker/pkg/locker"
45-
"github.com/docker/docker/pkg/mount"
4645
"github.com/docker/docker/pkg/system"
46+
"github.com/moby/sys/mount"
4747
rsystem "github.com/opencontainers/runc/libcontainer/system"
4848
"github.com/opencontainers/selinux/go-selinux/label"
4949
"github.com/pkg/errors"

Diff for: daemon/graphdriver/aufs/mount.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"syscall"
88
"time"
99

10-
"github.com/docker/docker/pkg/mount"
10+
"github.com/moby/sys/mount"
1111
"github.com/pkg/errors"
1212
"golang.org/x/sys/unix"
1313
)

Diff for: daemon/graphdriver/btrfs/btrfs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ import (
2929
"github.com/docker/docker/daemon/graphdriver"
3030
"github.com/docker/docker/pkg/containerfs"
3131
"github.com/docker/docker/pkg/idtools"
32-
"github.com/docker/docker/pkg/mount"
3332
"github.com/docker/docker/pkg/parsers"
3433
"github.com/docker/docker/pkg/system"
3534
units "github.com/docker/go-units"
35+
"github.com/moby/sys/mount"
3636
"github.com/opencontainers/selinux/go-selinux/label"
3737
"github.com/pkg/errors"
3838
"github.com/sirupsen/logrus"

Diff for: daemon/graphdriver/devmapper/deviceset.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ import (
2424
"github.com/docker/docker/pkg/dmesg"
2525
"github.com/docker/docker/pkg/idtools"
2626
"github.com/docker/docker/pkg/loopback"
27-
"github.com/docker/docker/pkg/mount"
2827
"github.com/docker/docker/pkg/parsers"
2928
"github.com/docker/docker/pkg/parsers/kernel"
3029
units "github.com/docker/go-units"
30+
"github.com/moby/sys/mount"
3131
"github.com/opencontainers/selinux/go-selinux/label"
3232
"github.com/pkg/errors"
3333
"github.com/sirupsen/logrus"

Diff for: daemon/graphdriver/devmapper/driver.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import (
1414
"github.com/docker/docker/pkg/devicemapper"
1515
"github.com/docker/docker/pkg/idtools"
1616
"github.com/docker/docker/pkg/locker"
17-
"github.com/docker/docker/pkg/mount"
1817
units "github.com/docker/go-units"
18+
"github.com/moby/sys/mount"
1919
"github.com/sirupsen/logrus"
2020
"golang.org/x/sys/unix"
2121
)

Diff for: daemon/graphdriver/driver_linux.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package graphdriver // import "github.com/docker/docker/daemon/graphdriver"
22

33
import (
4-
"github.com/docker/docker/pkg/mount"
4+
"github.com/moby/sys/mountinfo"
55
"golang.org/x/sys/unix"
66
)
77

@@ -113,7 +113,7 @@ type defaultChecker struct {
113113
}
114114

115115
func (c *defaultChecker) IsMounted(path string) bool {
116-
m, _ := mount.Mounted(path)
116+
m, _ := mountinfo.Mounted(path)
117117
return m
118118
}
119119

Diff for: daemon/graphdriver/fuse-overlayfs/fuseoverlayfs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import (
2222
"github.com/docker/docker/pkg/directory"
2323
"github.com/docker/docker/pkg/idtools"
2424
"github.com/docker/docker/pkg/locker"
25-
"github.com/docker/docker/pkg/mount"
2625
"github.com/docker/docker/pkg/parsers/kernel"
2726
"github.com/docker/docker/pkg/system"
27+
"github.com/moby/sys/mount"
2828
rsystem "github.com/opencontainers/runc/libcontainer/system"
2929
"github.com/opencontainers/selinux/go-selinux/label"
3030
"github.com/pkg/errors"

Diff for: daemon/graphdriver/overlay/overlay.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import (
2020
"github.com/docker/docker/pkg/fsutils"
2121
"github.com/docker/docker/pkg/idtools"
2222
"github.com/docker/docker/pkg/locker"
23-
"github.com/docker/docker/pkg/mount"
2423
"github.com/docker/docker/pkg/parsers"
2524
"github.com/docker/docker/pkg/system"
25+
"github.com/moby/sys/mount"
2626
"github.com/opencontainers/selinux/go-selinux/label"
2727
"github.com/sirupsen/logrus"
2828
"golang.org/x/sys/unix"

Diff for: daemon/graphdriver/overlay2/overlay.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ import (
2525
"github.com/docker/docker/pkg/fsutils"
2626
"github.com/docker/docker/pkg/idtools"
2727
"github.com/docker/docker/pkg/locker"
28-
"github.com/docker/docker/pkg/mount"
2928
"github.com/docker/docker/pkg/parsers"
3029
"github.com/docker/docker/pkg/system"
3130
units "github.com/docker/go-units"
31+
"github.com/moby/sys/mount"
3232
rsystem "github.com/opencontainers/runc/libcontainer/system"
3333
"github.com/opencontainers/selinux/go-selinux/label"
3434
"github.com/sirupsen/logrus"

Diff for: daemon/graphdriver/zfs/zfs.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ import (
1515
"github.com/docker/docker/daemon/graphdriver"
1616
"github.com/docker/docker/pkg/containerfs"
1717
"github.com/docker/docker/pkg/idtools"
18-
"github.com/docker/docker/pkg/mount"
1918
"github.com/docker/docker/pkg/parsers"
2019
zfs "github.com/mistifyio/go-zfs"
20+
"github.com/moby/sys/mount"
21+
"github.com/moby/sys/mountinfo"
2122
"github.com/opencontainers/selinux/go-selinux/label"
2223
"github.com/pkg/errors"
2324
"github.com/sirupsen/logrus"
@@ -148,7 +149,7 @@ func lookupZfsDataset(rootdir string) (string, error) {
148149
}
149150
wantedDev := stat.Dev
150151

151-
mounts, err := mount.GetMounts(nil)
152+
mounts, err := mountinfo.GetMounts(nil)
152153
if err != nil {
153154
return "", err
154155
}

Diff for: daemon/oci_linux.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ import (
2020
"github.com/docker/docker/oci"
2121
"github.com/docker/docker/oci/caps"
2222
"github.com/docker/docker/pkg/idtools"
23-
"github.com/docker/docker/pkg/mount"
2423
"github.com/docker/docker/pkg/stringid"
2524
"github.com/docker/docker/rootless/specconv"
2625
volumemounts "github.com/docker/docker/volume/mounts"
26+
"github.com/moby/sys/mount"
27+
"github.com/moby/sys/mountinfo"
2728
"github.com/opencontainers/runc/libcontainer/apparmor"
2829
"github.com/opencontainers/runc/libcontainer/cgroups"
2930
"github.com/opencontainers/runc/libcontainer/devices"
@@ -368,7 +369,7 @@ func getSourceMount(source string) (string, string, error) {
368369
return "", "", err
369370
}
370371

371-
mi, err := mount.GetMounts(mount.ParentsFilter(sourcePath))
372+
mi, err := mountinfo.GetMounts(mountinfo.ParentsFilter(sourcePath))
372373
if err != nil {
373374
return "", "", err
374375
}

Diff for: daemon/start.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
containertypes "github.com/docker/docker/api/types/container"
1313
"github.com/docker/docker/container"
1414
"github.com/docker/docker/errdefs"
15-
"github.com/docker/docker/pkg/mount"
15+
"github.com/moby/sys/mount"
1616
"github.com/pkg/errors"
1717
"github.com/sirupsen/logrus"
1818
)

Diff for: daemon/volumes_unix.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212
mounttypes "github.com/docker/docker/api/types/mount"
1313
"github.com/docker/docker/container"
1414
"github.com/docker/docker/pkg/fileutils"
15-
"github.com/docker/docker/pkg/mount"
1615
volumemounts "github.com/docker/docker/volume/mounts"
16+
"github.com/moby/sys/mount"
1717
)
1818

1919
// setupMounts iterates through each of the mount points for a container and

Diff for: integration-cli/docker_api_containers_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ import (
2626
"github.com/docker/docker/integration-cli/cli"
2727
"github.com/docker/docker/integration-cli/cli/build"
2828
"github.com/docker/docker/pkg/ioutils"
29-
"github.com/docker/docker/pkg/mount"
3029
"github.com/docker/docker/pkg/stringid"
3130
"github.com/docker/docker/testutil/request"
3231
"github.com/docker/docker/volume"
3332
"github.com/docker/go-connections/nat"
33+
"github.com/moby/sys/mount"
3434
"gotest.tools/v3/assert"
3535
is "gotest.tools/v3/assert/cmp"
3636
"gotest.tools/v3/poll"

Diff for: integration-cli/docker_cli_daemon_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ import (
3232
"github.com/docker/docker/integration-cli/cli/build"
3333
"github.com/docker/docker/integration-cli/daemon"
3434
"github.com/docker/docker/opts"
35-
"github.com/docker/docker/pkg/mount"
3635
testdaemon "github.com/docker/docker/testutil/daemon"
3736
units "github.com/docker/go-units"
3837
"github.com/docker/libnetwork/iptables"
3938
"github.com/docker/libtrust"
39+
"github.com/moby/sys/mount"
4040
"golang.org/x/sys/unix"
4141
"gotest.tools/v3/assert"
4242
"gotest.tools/v3/icmd"

Diff for: integration-cli/docker_cli_run_test.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@ import (
2727
"github.com/docker/docker/client"
2828
"github.com/docker/docker/integration-cli/cli"
2929
"github.com/docker/docker/integration-cli/cli/build"
30-
"github.com/docker/docker/pkg/mount"
3130
"github.com/docker/docker/pkg/stringid"
3231
"github.com/docker/docker/runconfig"
3332
"github.com/docker/docker/testutil"
3433
"github.com/docker/docker/testutil/fakecontext"
3534
"github.com/docker/go-connections/nat"
3635
"github.com/docker/libnetwork/resolvconf"
3736
"github.com/docker/libnetwork/types"
37+
"github.com/moby/sys/mount"
38+
"github.com/moby/sys/mountinfo"
3839
"gotest.tools/v3/assert"
3940
"gotest.tools/v3/icmd"
4041
)
@@ -1438,7 +1439,7 @@ func (s *DockerSuite) TestRunResolvconfUpdate(c *testing.T) {
14381439
// This test case is meant to test monitoring resolv.conf when it is
14391440
// a regular file not a bind mounc. So we unmount resolv.conf and replace
14401441
// it with a file containing the original settings.
1441-
mounted, err := mount.Mounted("/etc/resolv.conf")
1442+
mounted, err := mountinfo.Mounted("/etc/resolv.conf")
14421443
if err != nil {
14431444
c.Fatal(err)
14441445
}
@@ -3789,7 +3790,7 @@ func (s *DockerSuite) TestRunVolumesMountedAsShared(c *testing.T) {
37893790
dockerCmd(c, "run", "--privileged", "-v", fmt.Sprintf("%s:/volume-dest:shared", tmpDir), "busybox", "mount", "--bind", "/volume-dest/mnt1", "/volume-dest/mnt1")
37903791

37913792
// Make sure a bind mount under a shared volume propagated to host.
3792-
if mounted, _ := mount.Mounted(path.Join(tmpDir, "mnt1")); !mounted {
3793+
if mounted, _ := mountinfo.Mounted(path.Join(tmpDir, "mnt1")); !mounted {
37933794
c.Fatalf("Bind mount under shared volume did not propagate to host")
37943795
}
37953796

Diff for: integration-cli/docker_cli_run_unix_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ import (
2323
"github.com/docker/docker/integration-cli/cli"
2424
"github.com/docker/docker/integration-cli/cli/build"
2525
"github.com/docker/docker/pkg/homedir"
26-
"github.com/docker/docker/pkg/mount"
2726
"github.com/docker/docker/pkg/parsers"
2827
"github.com/docker/docker/pkg/sysinfo"
28+
"github.com/moby/sys/mount"
2929
"gotest.tools/v3/assert"
3030
"gotest.tools/v3/icmd"
3131
)

Diff for: integration/container/mounts_linux_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import (
1414
"github.com/docker/docker/api/types/versions"
1515
"github.com/docker/docker/client"
1616
"github.com/docker/docker/integration/internal/container"
17-
"github.com/docker/docker/pkg/mount"
1817
"github.com/docker/docker/pkg/system"
18+
"github.com/moby/sys/mount"
1919
"gotest.tools/v3/assert"
2020
is "gotest.tools/v3/assert/cmp"
2121
"gotest.tools/v3/fs"

Diff for: pkg/archive/archive_linux.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
"syscall"
1111

1212
"github.com/containerd/continuity/fs"
13-
"github.com/docker/docker/pkg/mount"
1413
"github.com/docker/docker/pkg/system"
14+
"github.com/moby/sys/mount"
1515
"github.com/pkg/errors"
1616
"golang.org/x/sys/unix"
1717
)

Diff for: pkg/archive/archive_linux_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"syscall"
1010
"testing"
1111

12-
"github.com/docker/docker/pkg/mount"
1312
"github.com/docker/docker/pkg/reexec"
1413
"github.com/docker/docker/pkg/system"
14+
"github.com/moby/sys/mount"
1515
rsystem "github.com/opencontainers/runc/libcontainer/system"
1616
"github.com/pkg/errors"
1717
"golang.org/x/sys/unix"

0 commit comments

Comments
 (0)