diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-10-06 10:15:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-06 10:15:04 +0200 |
commit | 80a2317ca20b0e5e1cd064a8962beed642be3a36 (patch) | |
tree | 0730915a611542bf028d5b9c66ace1390a6c036f /pkg/cgroups/cgroups.go | |
parent | f584d47a9d0c050c3b39793a73b0aba17b45e8ba (diff) | |
parent | d4aa89bb40b3a2c1730c9bff31a681007a3feb97 (diff) | |
download | podman-80a2317ca20b0e5e1cd064a8962beed642be3a36.tar.gz podman-80a2317ca20b0e5e1cd064a8962beed642be3a36.tar.bz2 podman-80a2317ca20b0e5e1cd064a8962beed642be3a36.zip |
Merge pull request #7929 from kolyshkin/nits-err
Nits
Diffstat (limited to 'pkg/cgroups/cgroups.go')
-rw-r--r-- | pkg/cgroups/cgroups.go | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/pkg/cgroups/cgroups.go b/pkg/cgroups/cgroups.go index f23787bd4..0d7ed05b2 100644 --- a/pkg/cgroups/cgroups.go +++ b/pkg/cgroups/cgroups.go @@ -2,6 +2,7 @@ package cgroups import ( "bufio" + "bytes" "fmt" "io/ioutil" "math" @@ -131,7 +132,7 @@ func getAvailableControllers(exclude map[string]controllerHandler, cgroup2 bool) infos, err := ioutil.ReadDir(cgroupRoot) if err != nil { - return nil, errors.Wrapf(err, "read directory %s", cgroupRoot) + return nil, err } controllers := []controller{} for _, i := range infos { @@ -155,23 +156,15 @@ func (c *CgroupControl) getCgroupv1Path(name string) string { // createCgroupv2Path creates the cgroupv2 path and enables all the available controllers func createCgroupv2Path(path string) (deferredError error) { - content, err := ioutil.ReadFile("/sys/fs/cgroup/cgroup.controllers") - if err != nil { - return errors.Wrapf(err, "read /sys/fs/cgroup/cgroup.controllers") - } - if !strings.HasPrefix(path, "/sys/fs/cgroup/") { + if !strings.HasPrefix(path, cgroupRoot+"/") { return fmt.Errorf("invalid cgroup path %s", path) } - - res := "" - for i, c := range strings.Split(strings.TrimSpace(string(content)), " ") { - if i == 0 { - res = fmt.Sprintf("+%s", c) - } else { - res += fmt.Sprintf(" +%s", c) - } + content, err := ioutil.ReadFile(cgroupRoot + "/cgroup.controllers") + if err != nil { + return err } - resByte := []byte(res) + ctrs := bytes.Fields(content) + res := append([]byte("+"), bytes.Join(ctrs, []byte(" +"))...) current := "/sys/fs" elements := strings.Split(path, "/") @@ -180,7 +173,7 @@ func createCgroupv2Path(path string) (deferredError error) { if i > 0 { if err := os.Mkdir(current, 0755); err != nil { if !os.IsExist(err) { - return errors.Wrapf(err, "mkdir %s", path) + return err } } else { // If the directory was created, be sure it is not left around on errors. @@ -194,8 +187,8 @@ func createCgroupv2Path(path string) (deferredError error) { // We enable the controllers for all the path components except the last one. It is not allowed to add // PIDs if there are already enabled controllers. if i < len(elements[3:])-1 { - if err := ioutil.WriteFile(filepath.Join(current, "cgroup.subtree_control"), resByte, 0755); err != nil { - return errors.Wrapf(err, "write %s", filepath.Join(current, "cgroup.subtree_control")) + if err := ioutil.WriteFile(filepath.Join(current, "cgroup.subtree_control"), res, 0755); err != nil { + return err } } } @@ -237,7 +230,7 @@ func (c *CgroupControl) initialize() (err error) { } path := c.getCgroupv1Path(ctr.name) if err := os.MkdirAll(path, 0755); err != nil { - return errors.Wrapf(err, "error creating cgroup path %s for %s", path, ctr.name) + return errors.Wrapf(err, "error creating cgroup path for %s", ctr.name) } } } @@ -265,7 +258,7 @@ func (c *CgroupControl) createCgroupDirectory(controller string) (bool, error) { func readFileAsUint64(path string) (uint64, error) { data, err := ioutil.ReadFile(path) if err != nil { - return 0, errors.Wrapf(err, "open %s", path) + return 0, err } v := cleanString(string(data)) if v == "max" { @@ -425,7 +418,7 @@ func rmDirRecursively(path string) error { } entries, err := ioutil.ReadDir(path) if err != nil { - return errors.Wrapf(err, "read %s", path) + return err } for _, i := range entries { if i.IsDir() { |