From 71e63de4a35bbff667b701b86bf0cf6ecad37ac7 Mon Sep 17 00:00:00 2001 From: Katarzyna Kujawa Date: Mon, 15 Jun 2020 10:59:56 +0200 Subject: [PATCH] Fix #2469 omit memory.numa_stat when not available Signed-off-by: Katarzyna Kujawa --- libcontainer/cgroups/fs/memory.go | 4 +++- libcontainer/cgroups/fs/memory_test.go | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/memory.go index 950876903..f7b8f999e 100644 --- a/libcontainer/cgroups/fs/memory.go +++ b/libcontainer/cgroups/fs/memory.go @@ -291,7 +291,9 @@ func getPageUsageByNUMA(cgroupPath string) (cgroups.PageUsageByNUMA, error) { stats := cgroups.PageUsageByNUMA{} file, err := os.Open(path.Join(cgroupPath, cgroupMemoryPagesByNuma)) - if err != nil { + if os.IsNotExist(err) { + return stats, nil + } else if err != nil { return stats, err } diff --git a/libcontainer/cgroups/fs/memory_test.go b/libcontainer/cgroups/fs/memory_test.go index c84b4fe3a..52244fc7b 100644 --- a/libcontainer/cgroups/fs/memory_test.go +++ b/libcontainer/cgroups/fs/memory_test.go @@ -504,3 +504,14 @@ func TestNoHierarchicalNumaStat(t *testing.T) { } expectPageUsageByNUMAEquals(t, pageUsageByNUMA, actualStats) } + +func TestWithoutNumaStat(t *testing.T) { + helper := NewCgroupTestUtil("memory", t) + defer helper.cleanup() + + actualStats, err := getPageUsageByNUMA(helper.CgroupPath) + if err != nil { + t.Fatal(err) + } + expectPageUsageByNUMAEquals(t, cgroups.PageUsageByNUMA{}, actualStats) +}