From 316c33ea56636e2e19be332362973b7def6d1a2a Mon Sep 17 00:00:00 2001 From: zhongjiawei Date: Fri, 27 Sep 2024 14:11:49 +0800 Subject: [PATCH] runc:fix can't set cpuset-cpus and cpuset-mems at the same time --- libcontainer/cgroups/fs/cpuset.go | 4 +++- libcontainer/cgroups/fs/cpuset_test.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go index 32719600..d33e9f91 100644 --- a/libcontainer/cgroups/fs/cpuset.go +++ b/libcontainer/cgroups/fs/cpuset.go @@ -146,7 +146,9 @@ func (s *CpusetGroup) setCpuset(path, cpuset string) error { func (s *CpusetGroup) Set(path string, r *configs.Resources) error { var ret error if r.CpusetCpus != "" { - return s.setCpuset(path, r.CpusetCpus) + if err := s.setCpuset(path, r.CpusetCpus); err != nil { + return err + } } if r.CpusetMems != "" { if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { diff --git a/libcontainer/cgroups/fs/cpuset_test.go b/libcontainer/cgroups/fs/cpuset_test.go index 0c72c7db..a8a6caae 100644 --- a/libcontainer/cgroups/fs/cpuset_test.go +++ b/libcontainer/cgroups/fs/cpuset_test.go @@ -81,7 +81,7 @@ type cpusetTestCase struct { func getCpusetTestcaes() []cpusetTestCase { testDir := "/sys/fs/cgroup/cpuset/runc-test" - errStr1 := "failed to set" + errStr1 := "failed to stat" errStr2 := "invalid cpuset format" errStr3 := "invalid preferred_cpus" return []cpusetTestCase{ -- 2.33.0