runc/patch/0047-runc-fix-can-t-set-cpuset-cpus-and-cpuset-mems-at-th.patch
zhongjiawei 9a49713a9c runc:fix can't set cpuset-cpus and cpuset-mems at the same time
(cherry picked from commit 970358fda95448452400a3c1f6da54250db5ee61)
2024-09-30 09:40:40 +08:00

43 lines
1.5 KiB
Diff

From 316c33ea56636e2e19be332362973b7def6d1a2a Mon Sep 17 00:00:00 2001
From: zhongjiawei <zhongjiawei1@huawei.com>
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