diff options
| -rw-r--r-- | pkg/specgen/generate/validate.go | 32 | 
1 files changed, 21 insertions, 11 deletions
diff --git a/pkg/specgen/generate/validate.go b/pkg/specgen/generate/validate.go index ed337321b..2ca92d779 100644 --- a/pkg/specgen/generate/validate.go +++ b/pkg/specgen/generate/validate.go @@ -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) +}  | 
