From a95237f8168426fb347f0565bd43726e10d2d3b1 Mon Sep 17 00:00:00 2001 From: Peter Hunt Date: Fri, 21 May 2021 10:18:31 -0400 Subject: [PATCH] libctr/cg/systemd: export rangeToBits It's both a useful function, and sufficiently complex to discourage copying Signed-off-by: Peter Hunt --- libcontainer/cgroups/systemd/common.go | 4 ++-- libcontainer/cgroups/systemd/cpuset.go | 4 ++-- libcontainer/cgroups/systemd/cpuset_test.go | 2 +- libcontainer/cgroups/systemd/v2.go | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libcontainer/cgroups/systemd/common.go b/libcontainer/cgroups/systemd/common.go index 91c314e09..de69617ee 100644 --- a/libcontainer/cgroups/systemd/common.go +++ b/libcontainer/cgroups/systemd/common.go @@ -476,7 +476,7 @@ func addCpuset(cm *dbusConnManager, props *[]systemdDbus.Property, cpus, mems st } if cpus != "" { - bits, err := rangeToBits(cpus) + bits, err := RangeToBits(cpus) if err != nil { return fmt.Errorf("resources.CPU.Cpus=%q conversion error: %w", cpus, err) @@ -485,7 +485,7 @@ func addCpuset(cm *dbusConnManager, props *[]systemdDbus.Property, cpus, mems st newProp("AllowedCPUs", bits)) } if mems != "" { - bits, err := rangeToBits(mems) + bits, err := RangeToBits(mems) if err != nil { return fmt.Errorf("resources.CPU.Mems=%q conversion error: %w", mems, err) diff --git a/libcontainer/cgroups/systemd/cpuset.go b/libcontainer/cgroups/systemd/cpuset.go index 070982188..264f4c893 100644 --- a/libcontainer/cgroups/systemd/cpuset.go +++ b/libcontainer/cgroups/systemd/cpuset.go @@ -9,11 +9,11 @@ import ( "github.com/willf/bitset" ) -// rangeToBits converts a text representation of a CPU mask (as written to +// RangeToBits converts a text representation of a CPU mask (as written to // or read from cgroups' cpuset.* files, e.g. "1,3-5") to a slice of bytes // with the corresponding bits set (as consumed by systemd over dbus as // AllowedCPUs/AllowedMemoryNodes unit property value). -func rangeToBits(str string) ([]byte, error) { +func RangeToBits(str string) ([]byte, error) { bits := &bitset.BitSet{} for _, r := range strings.Split(str, ",") { diff --git a/libcontainer/cgroups/systemd/cpuset_test.go b/libcontainer/cgroups/systemd/cpuset_test.go index 7dda1e3c0..3030cba9e 100644 --- a/libcontainer/cgroups/systemd/cpuset_test.go +++ b/libcontainer/cgroups/systemd/cpuset_test.go @@ -40,7 +40,7 @@ func TestRangeToBits(t *testing.T) { } for _, tc := range testCases { - out, err := rangeToBits(tc.in) + out, err := RangeToBits(tc.in) if err != nil { if !tc.isErr { t.Errorf("case %q: unexpected error: %v", tc.in, err) diff --git a/libcontainer/cgroups/systemd/v2.go b/libcontainer/cgroups/systemd/v2.go index 8abb0feb7..a7a2264c7 100644 --- a/libcontainer/cgroups/systemd/v2.go +++ b/libcontainer/cgroups/systemd/v2.go @@ -96,7 +96,7 @@ func unifiedResToSystemdProps(cm *dbusConnManager, res map[string]string) (props newProp("CPUWeight", num)) case "cpuset.cpus", "cpuset.mems": - bits, err := rangeToBits(v) + bits, err := RangeToBits(v) if err != nil { return nil, fmt.Errorf("unified resource %q=%q conversion error: %w", k, v, err) }