diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2019-10-11 13:34:51 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2019-10-11 13:34:51 +0200 |
commit | 5036b6a9fb6c102dd5fcb6989d36ad91db8e1e2a (patch) | |
tree | 10adbe7a3b92adb7b1f057dc64518697a9d9b5cc /pkg/spec/spec.go | |
parent | 10cbaadf4ab1d2a644db79ed82e639c6ad279ba1 (diff) | |
download | podman-5036b6a9fb6c102dd5fcb6989d36ad91db8e1e2a.tar.gz podman-5036b6a9fb6c102dd5fcb6989d36ad91db8e1e2a.tar.bz2 podman-5036b6a9fb6c102dd5fcb6989d36ad91db8e1e2a.zip |
rootless: do not set PIDs limit if --cgroup-manager=cgroupfs
even if the system is using cgroups v2, rootless is not able to setup
limits when the cgroup-manager is not systemd.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'pkg/spec/spec.go')
-rw-r--r-- | pkg/spec/spec.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pkg/spec/spec.go b/pkg/spec/spec.go index 57c6e8da7..8f00d3270 100644 --- a/pkg/spec/spec.go +++ b/pkg/spec/spec.go @@ -302,8 +302,8 @@ func (config *CreateConfig) createConfigToOCISpec(runtime *libpod.Runtime, userM // RESOURCES - PIDS if config.Resources.PidsLimit > 0 { - // if running on rootless on a cgroupv1 machine, pids limit is - // not supported. If the value is still the default + // if running on rootless on a cgroupv1 machine or using the cgroupfs manager, pids + // limit is not supported. If the value is still the default // then ignore the settings. If the caller asked for a // non-default, then try to use it. setPidLimit := true @@ -312,7 +312,11 @@ func (config *CreateConfig) createConfigToOCISpec(runtime *libpod.Runtime, userM if err != nil { return nil, err } - if !cgroup2 && config.Resources.PidsLimit == sysinfo.GetDefaultPidsLimit() { + runtimeConfig, err := runtime.GetConfig() + if err != nil { + return nil, err + } + if (!cgroup2 || runtimeConfig.CgroupManager != libpod.SystemdCgroupsManager) && config.Resources.PidsLimit == sysinfo.GetDefaultPidsLimit() { setPidLimit = false } } |