Do not error on pids.current stats if ctr.path is empty

If the ctr.path is empty, then we do not try to access
`/sys/fs/cgroup/pids/pids.current` any more because this path will be
wrong in any case. We now return and do not set the PIDs stats.

Refers to https://github.com/cri-o/cri-o/issues/3522

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This commit is contained in:
Sascha Grunert
2020-04-06 13:04:52 +02:00
parent f7dffedeb6
commit 7864afd6b2

View File

@ -44,8 +44,12 @@ func (c *pidHandler) Destroy(ctr *CgroupControl) error {
// Stat fills a metrics structure with usage stats for the controller // Stat fills a metrics structure with usage stats for the controller
func (c *pidHandler) Stat(ctr *CgroupControl, m *Metrics) error { func (c *pidHandler) Stat(ctr *CgroupControl, m *Metrics) error {
var PIDRoot string if ctr.path != "" {
// nothing we can do to retrieve the pids.current path
return nil
}
var PIDRoot string
if ctr.cgroup2 { if ctr.cgroup2 {
PIDRoot = filepath.Join(cgroupRoot, ctr.path) PIDRoot = filepath.Join(cgroupRoot, ctr.path)
} else { } else {