From 3b0c4bf9a00ab617c6ed4fdbef982834227edb2a Mon Sep 17 00:00:00 2001 From: "wangyongchao.bj" Date: Wed, 22 Sep 2021 15:13:34 +0800 Subject: [PATCH] runtime: clear virtcontainers cgroup duplicated function There are `DeviceToDeviceCgroup` and `deviceToDeviceCgroup` two functions, creating a `specs.LinuxDeviceCgroup` object. We clear the new function `deviceToDeviceCgroup`. Fixes: #2694 Signed-off-by: wangyongchao.bj --- .../virtcontainers/pkg/cgroups/cgroups.go | 33 ++----------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/src/runtime/virtcontainers/pkg/cgroups/cgroups.go b/src/runtime/virtcontainers/pkg/cgroups/cgroups.go index 7d2681b96..978266711 100644 --- a/src/runtime/virtcontainers/pkg/cgroups/cgroups.go +++ b/src/runtime/virtcontainers/pkg/cgroups/cgroups.go @@ -13,8 +13,6 @@ import ( v1 "github.com/containerd/cgroups/stats/v1" "github.com/opencontainers/runtime-spec/specs-go" "github.com/sirupsen/logrus" - - "golang.org/x/sys/unix" ) type Cgroup struct { @@ -37,33 +35,6 @@ func SetLogger(logger *logrus.Entry) { cgroupsLogger = logger.WithFields(fields) } -func deviceToDeviceCgroup(device string) (*specs.LinuxDeviceCgroup, error) { - var st unix.Stat_t - - if err := unix.Stat(device, &st); err != nil { - return nil, err - } - - devType := "" - switch st.Mode & unix.S_IFMT { - case unix.S_IFCHR: - devType = "c" - case unix.S_IFBLK: - devType = "b" - } - - major := int64(unix.Major(st.Rdev)) - minor := int64(unix.Minor(st.Rdev)) - - return &specs.LinuxDeviceCgroup{ - Allow: true, - Type: devType, - Major: &major, - Minor: &minor, - Access: "rwm", - }, nil -} - func sandboxDevices() []specs.LinuxDeviceCgroup { devices := []specs.LinuxDeviceCgroup{} @@ -90,12 +61,12 @@ func sandboxDevices() []specs.LinuxDeviceCgroup { defaultDevices = append(defaultDevices, hypervisorDevices...) for _, device := range defaultDevices { - ldevice, err := deviceToDeviceCgroup(device) + ldevice, err := DeviceToLinuxDevice(device) if err != nil { cgroupsLogger.WithField("source", "cgroups").Warnf("Could not add %s to the devices cgroup", device) continue } - devices = append(devices, *ldevice) + devices = append(devices, ldevice) } wildcardMajor := int64(-1)