mirror of
https://github.com/containers/podman.git
synced 2025-06-01 01:00:22 +08:00
specgen: split cgroup v1 and cgroup v2 code
refactor function into two separate ones. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
@ -7,16 +7,10 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Verify resource limits are sanely set, removing any limits that are not
|
||||
// possible with the current cgroups config.
|
||||
func verifyContainerResources(s *specgen.SpecGenerator) ([]string, error) {
|
||||
// Verify resource limits are sanely set when running on cgroup v1.
|
||||
func verifyContainerResourcesCgroupV1(s *specgen.SpecGenerator) ([]string, error) {
|
||||
warnings := []string{}
|
||||
|
||||
cgroup2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
if err != nil || cgroup2 {
|
||||
return warnings, err
|
||||
}
|
||||
|
||||
sysInfo := sysinfo.New(true)
|
||||
|
||||
if s.ResourceLimits == nil {
|
||||
@ -24,9 +18,7 @@ func verifyContainerResources(s *specgen.SpecGenerator) ([]string, error) {
|
||||
}
|
||||
|
||||
if s.ResourceLimits.Unified != nil {
|
||||
if !cgroup2 {
|
||||
return nil, errors.New("Cannot use --cgroup-conf without cgroup v2")
|
||||
}
|
||||
return nil, errors.New("Cannot use --cgroup-conf without cgroup v2")
|
||||
}
|
||||
|
||||
// Memory checks
|
||||
@ -163,3 +155,21 @@ func verifyContainerResources(s *specgen.SpecGenerator) ([]string, error) {
|
||||
|
||||
return warnings, nil
|
||||
}
|
||||
|
||||
// Verify resource limits are sanely set when running on cgroup v2.
|
||||
func verifyContainerResourcesCgroupV2(s *specgen.SpecGenerator) ([]string, error) {
|
||||
return []string{}, nil
|
||||
}
|
||||
|
||||
// Verify resource limits are sanely set, removing any limits that are not
|
||||
// possible with the current cgroups config.
|
||||
func verifyContainerResources(s *specgen.SpecGenerator) ([]string, error) {
|
||||
cgroup2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
if err != nil {
|
||||
return []string{}, err
|
||||
}
|
||||
if cgroup2 {
|
||||
return verifyContainerResourcesCgroupV2(s)
|
||||
}
|
||||
return verifyContainerResourcesCgroupV1(s)
|
||||
}
|
||||
|
Reference in New Issue
Block a user