Merge pull request #11935 from giuseppe/use-cgroup-controllers

cgroups: use cgroup.controllers to read controllers
This commit is contained in:
OpenShift Merge Robot 2021-10-12 21:58:09 +02:00 committed by GitHub
commit 97c74f35a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 6 deletions

View File

@ -129,8 +129,8 @@ func init() {
func getAvailableControllers(exclude map[string]controllerHandler, cgroup2 bool) ([]controller, error) { func getAvailableControllers(exclude map[string]controllerHandler, cgroup2 bool) ([]controller, error) {
if cgroup2 { if cgroup2 {
controllers := []controller{} controllers := []controller{}
subtreeControl := cgroupRoot + "/cgroup.subtree_control" controllersFile := cgroupRoot + "/cgroup.controllers"
// rootless cgroupv2: check available controllers for current user ,systemd or servicescope will inherit // rootless cgroupv2: check available controllers for current user, systemd or servicescope will inherit
if rootless.IsRootless() { if rootless.IsRootless() {
userSlice, err := getCgroupPathForCurrentProcess() userSlice, err := getCgroupPathForCurrentProcess()
if err != nil { if err != nil {
@ -138,13 +138,13 @@ func getAvailableControllers(exclude map[string]controllerHandler, cgroup2 bool)
} }
//userSlice already contains '/' so not adding here //userSlice already contains '/' so not adding here
basePath := cgroupRoot + userSlice basePath := cgroupRoot + userSlice
subtreeControl = fmt.Sprintf("%s/cgroup.subtree_control", basePath) controllersFile = fmt.Sprintf("%s/cgroup.controllers", basePath)
} }
subtreeControlBytes, err := ioutil.ReadFile(subtreeControl) controllersFileBytes, err := ioutil.ReadFile(controllersFile)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "failed while reading controllers for cgroup v2 from %q", subtreeControl) return nil, errors.Wrapf(err, "failed while reading controllers for cgroup v2 from %q", controllersFile)
} }
for _, controllerName := range strings.Fields(string(subtreeControlBytes)) { for _, controllerName := range strings.Fields(string(controllersFileBytes)) {
c := controller{ c := controller{
name: controllerName, name: controllerName,
symlink: false, symlink: false,