From 32c887e4b79be24a086cdd1d545f77ecde6a7225 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Mon, 17 May 2021 12:40:00 +0200 Subject: [PATCH] virnumamock: Allow CPU-less NUMA nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The original virNumaGetNodeCPUs() returns an empty virBitmap if given NUMA node has no CPUs. But that's not how our mock behaves - it looks under $fakesysfs/node/node$N/cpulist only to find an empty file which is then passed to virBitmapParseUnlimited() which threats such input as error. Fortunately, we don't have any fake sysfs data where this path is hit, but we might soon. Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- tests/virnumamock.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/virnumamock.c b/tests/virnumamock.c index 3a203ded77..ff9c6e951d 100644 --- a/tests/virnumamock.c +++ b/tests/virnumamock.c @@ -172,7 +172,12 @@ virNumaGetNodeCPUs(int node, virBitmap **cpus) SYSFS_SYSTEM_PATH, node) < 0) return -1; - *cpus = virBitmapParseUnlimited(cpulist); + if (STREQ(cpulist, "")) { + unsigned int max_n_cpus = virNumaGetMaxCPUs(); + *cpus = virBitmapNew(max_n_cpus); + } else { + *cpus = virBitmapParseUnlimited(cpulist); + } if (!*cpus) goto cleanup;