]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Generic shared impls of all NUMA apis
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 3 Jun 2009 13:28:02 +0000 (13:28 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 3 Jun 2009 13:28:02 +0000 (13:28 +0000)
12 files changed:
ChangeLog
src/libvirt_private.syms
src/lxc_conf.c
src/nodeinfo.c
src/nodeinfo.h
src/openvz_conf.c
src/openvz_driver.c
src/qemu_conf.c
src/qemu_driver.c
src/uml_conf.c
src/uml_driver.c
src/vbox/vbox_tmpl.c

index 2a7df1b20f83d29da7071333c6012f505c3503d6..efc51dba07229fd1ff4a0fe318dda834a5476f46 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Wed Jun  3 14:28:52 BST 2009 Daniel P. Berrange <berrange@redhat.com>
+
+       Generic shared impls of all NUMA apis
+       * src/libvirt_private.syms: Add all nodeinfo.c APIs
+       * src/lxc_conf.c, src/openvz_conf, src/qemu_conf.c,
+       src/vbox/vbox_tmpl.c, src/uml_conf.c: Update for
+       changed API names in nodeinfo.h
+       * src/nodeinfo.c, src/nodeinfo.h: Add generic impls of
+       the virNodeGetCellsFreeMemory & virNodeGetFreeMemory APis
+       * src/openvz_driver.c: Use nodeGetInfo() directly in driver
+       * src/qemu_driver.c, src/uml_driver.c: Remove NUMA APis impls
+       in favour of generic impl in nodeinfo.c
+
 Wed Jun  3 14:12:47 CEST 2009 Daniel Veillard <veillard@redhat.com>
 
        * src/openvz_conf.c src/virsh.c: various typo or english fixups
index c3ceccf2bf4818ef7bc9f0f03347158c8e7d9808..b39216f2e4929f892e36b4fa813cdc44f1526fe6 100644 (file)
@@ -219,8 +219,10 @@ virNetworkObjUnlock;
 
 
 # nodeinfo.h
-virNodeInfoPopulate;
-virCapsInitNUMA;
+nodeGetInfo;
+nodeCapsInitNUMA;
+nodeGetCellsFreeMemory;
+nodeGetFreeMemory;
 
 
 # node_device_conf.h
index 34c8aea9ebe7ffd816054593f8b8722b0df26f26..8a29c256c959350a7f1fcb27de30f79ddd6d0232 100644 (file)
@@ -46,7 +46,7 @@ virCapsPtr lxcCapsInit(void)
                                    0, 0)) == NULL)
         goto no_memory;
 
-    if (virCapsInitNUMA(caps) < 0)
+    if (nodeCapsInitNUMA(caps) < 0)
         goto no_memory;
 
     /* XXX shouldn't 'borrow' KVM's prefix */
index 9894cd119e3ea74799f8cef0ec6d54e2ff0a9551..220acdcba803d89e04d0d8d018e12b82aca6164a 100644 (file)
 
 #define VIR_FROM_THIS VIR_FROM_NONE
 
+#define nodeReportError(conn, code, fmt...)                              \
+    virReportErrorHelper(conn, VIR_FROM_NONE, code, __FILE__,           \
+                         __FUNCTION__, __LINE__, fmt)
+
 #ifdef __linux__
 #define CPUINFO_PATH "/proc/cpuinfo"
 
@@ -73,9 +77,8 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
             while (*buf && c_isspace(*buf))
                 buf++;
             if (*buf != ':') {
-                virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
-                              VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
-                              "%s", _("parsing cpuinfo processor"));
+                nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                                "%s", _("parsing cpuinfo processor"));
                 return -1;
             }
             nodeinfo->cpus++;
@@ -86,9 +89,8 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
             while (*buf && c_isspace(*buf))
                 buf++;
             if (*buf != ':' || !buf[1]) {
-                virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
-                              VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
-                              "%s", _("parsing cpuinfo cpu MHz"));
+                nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                                "%s", _("parsing cpuinfo cpu MHz"));
                 return -1;
             }
             if (virStrToLong_ui(buf+1, &p, 10, &ui) == 0
@@ -102,9 +104,8 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
             while (*buf && c_isspace(*buf))
                 buf++;
             if (*buf != ':' || !buf[1]) {
-                virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
-                              VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
-                              "parsing cpuinfo cpu cores %c", *buf);
+                nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                                "parsing cpuinfo cpu cores %c", *buf);
                 return -1;
             }
             if (virStrToLong_ui(buf+1, &p, 10, &id) == 0
@@ -115,9 +116,8 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
     }
 
     if (!nodeinfo->cpus) {
-        virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
-                      VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
-                      "%s", _("no cpus found"));
+        nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                        "%s", _("no cpus found"));
         return -1;
     }
 
@@ -133,8 +133,8 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
 
 #endif
 
-int virNodeInfoPopulate(virConnectPtr conn,
-                        virNodeInfoPtr nodeinfo) {
+int nodeGetInfo(virConnectPtr conn,
+                virNodeInfoPtr nodeinfo) {
 #ifdef HAVE_UNAME
     struct utsname info;
 
@@ -170,9 +170,8 @@ int virNodeInfoPopulate(virConnectPtr conn,
     }
 #else
     /* XXX Solaris will need an impl later if they port QEMU driver */
-    virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
-                    VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
-                    "%s:%s not implemented on this platform\n", __FILE__, __FUNCTION__);
+    nodeError(conn, VIR_ERR_NO_SUPPORT, "%s"
+              _("node info not implemented on this platform"));
     return -1;
 #endif
 }
@@ -189,7 +188,7 @@ int virNodeInfoPopulate(virConnectPtr conn,
   (((mask)[((cpu) / n_bits(*(mask)))] >> ((cpu) % n_bits(*(mask)))) & 1)
 
 int
-virCapsInitNUMA(virCapsPtr caps)
+nodeCapsInitNUMA(virCapsPtr caps)
 {
     int n;
     unsigned long *mask = NULL;
@@ -237,6 +236,96 @@ cleanup:
     VIR_FREE(mask);
     return ret;
 }
+
+
+int
+nodeGetCellsFreeMemory(virConnectPtr conn,
+                       unsigned long long *freeMems,
+                       int startCell,
+                       int maxCells)
+{
+    int n, lastCell, numCells;
+    int ret = -1;
+    int maxCell;
+
+    if (numa_available() < 0) {
+        nodeReportError(conn, VIR_ERR_NO_SUPPORT,
+                        "%s", _("NUMA not supported on this host"));
+        goto cleanup;
+    }
+    maxCell = numa_max_node();
+    if (startCell > maxCell) {
+        nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                        _("start cell %d out of range (0-%d)"),
+                        startCell, maxCell);
+        goto cleanup;
+    }
+    lastCell = startCell + maxCells - 1;
+    if (lastCell > maxCell)
+        lastCell = maxCell;
+
+    for (numCells = 0, n = startCell ; n <= lastCell ; n++) {
+        long long mem;
+        if (numa_node_size64(n, &mem) < 0) {
+            nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                            "%s", _("Failed to query NUMA free memory"));
+            goto cleanup;
+        }
+        freeMems[numCells++] = mem;
+    }
+    ret = numCells;
+
+cleanup:
+    return ret;
+}
+
+unsigned long long
+nodeGetFreeMemory(virConnectPtr conn)
+{
+    unsigned long long freeMem = 0;
+    int n;
+
+    if (numa_available() < 0) {
+        nodeReportError(conn, VIR_ERR_NO_SUPPORT,
+                        "%s", _("NUMA not supported on this host"));
+        goto cleanup;
+    }
+
+    for (n = 0 ; n <= numa_max_node() ; n++) {
+        long long mem;
+        if (numa_node_size64(n, &mem) < 0) {
+            nodeReportError(conn, VIR_ERR_INTERNAL_ERROR,
+                            "%s", _("Failed to query NUMA free memory"));
+            goto cleanup;
+        }
+        freeMem += mem;
+    }
+
+cleanup:
+    return freeMem;
+}
+
 #else
-int virCapsInitNUMA(virCapsPtr caps ATTRIBUTE_UNUSED) { return 0; }
+int nodeCapsInitNUMA(virCapsPtr caps ATTRIBUTE_UNUSED) {
+    return 0;
+}
+
+int nodeGetCellsFreeMemory(virConnectPtr conn,
+                              unsigned long long *freeMems ATTRIBUTE_UNUSED,
+                              int startCell ATTRIBUTE_UNUSED,
+                              int maxCells ATTRIBUTE_UNUSED)
+{
+    nodeReportError(conn, VIR_ERR_NO_SUPPORT, "%s",
+                    _("NUMA memory information not available on this platform"));
+    return -1;
+}
+
+unsigned long long nodeGetFreeMemory(virConnectPtr conn)
+{
+    nodeReportError(conn, VIR_ERR_NO_SUPPORT, "%s",
+                    _("NUMA memory information not available on this platform"));
+    return 0;
+}
 #endif
+
+
index 030f0ee2b3f54904deb4a7718dee2bd805848ff6..7278121fa3648f0c7922fab6c6cf4d0d1427e1e3 100644 (file)
 #include "libvirt/libvirt.h"
 #include "capabilities.h"
 
-int virNodeInfoPopulate(virConnectPtr conn, virNodeInfoPtr nodeinfo);
-int virCapsInitNUMA(virCapsPtr caps);
+int nodeGetInfo(virConnectPtr conn, virNodeInfoPtr nodeinfo);
+int nodeCapsInitNUMA(virCapsPtr caps);
+
+
+int nodeGetCellsFreeMemory(virConnectPtr conn,
+                           unsigned long long *freeMems,
+                           int startCell,
+                           int maxCells);
+unsigned long long nodeGetFreeMemory(virConnectPtr conn);
 
 #endif /* __VIR_NODEINFO_H__*/
index 199b88c71a4ec49e024d55896637d0a8daf28a59..6e9af675b6b4421987bf8e19abf36e3473caa96d 100644 (file)
@@ -148,7 +148,7 @@ virCapsPtr openvzCapsInit(void)
                                    0, 0)) == NULL)
         goto no_memory;
 
-    if (virCapsInitNUMA(caps) < 0)
+    if (nodeCapsInitNUMA(caps) < 0)
         goto no_memory;
 
     virCapabilitiesSetMacPrefix(caps, (unsigned char[]){ 0x52, 0x54, 0x00 });
@@ -527,11 +527,8 @@ openvzGetNodeCPUs(void)
 {
     virNodeInfo nodeinfo;
 
-    if (virNodeInfoPopulate(NULL, &nodeinfo) < 0) {
-        openvzError(NULL, VIR_ERR_INTERNAL_ERROR,
-                    "%s", _("Could not read nodeinfo"));
+    if (nodeGetInfo(NULL, &nodeinfo) < 0)
         return 0;
-    }
 
     return nodeinfo.cpus;
 }
index f6d41f2ed3ad34260312e62876f8309bbcc685b0..4c0fc5f87cad043508ae3d042f9664e2c77ef3a7 100644 (file)
@@ -1136,11 +1136,6 @@ static const char *openvzGetType(virConnectPtr conn ATTRIBUTE_UNUSED) {
     return strdup("OpenVZ");
 }
 
-static int openvzGetNodeInfo(virConnectPtr conn,
-                             virNodeInfoPtr nodeinfo) {
-    return virNodeInfoPopulate(conn, nodeinfo);
-}
-
 static char *openvzGetCapabilities(virConnectPtr conn) {
     struct openvz_driver *driver = conn->privateData;
     char *ret;
@@ -1316,7 +1311,7 @@ static virDriver openvzDriver = {
     openvzGetVersion, /* version */
     NULL, /* getHostname */
     openvzGetMaxVCPUs, /* getMaxVcpus */
-    openvzGetNodeInfo, /* nodeGetInfo */
+    nodeGetInfo, /* nodeGetInfo */
     openvzGetCapabilities, /* getCapabilities */
     openvzListDomains, /* listDomains */
     openvzNumDomains, /* numOfDomains */
index d54f2cac003e858175c56ee94ca5fb6c1b321282..2c1eefc072ed9cea046c46b125c4b3fe703c9fe6 100644 (file)
@@ -377,7 +377,7 @@ virCapsPtr qemudCapsInit(void) {
     /* Using KVM's mac prefix for QEMU too */
     virCapabilitiesSetMacPrefix(caps, (unsigned char[]){ 0x52, 0x54, 0x00 });
 
-    if (virCapsInitNUMA(caps) < 0)
+    if (nodeCapsInitNUMA(caps) < 0)
         goto no_memory;
 
     virCapabilitiesAddHostMigrateTransport(caps,
index 1ac1d15f99373d569486c53139359bfed77ec760..a7bea7de31252e71d5ab6f0602fd600e9f1b4299 100644 (file)
 #include <sys/wait.h>
 #include <sys/ioctl.h>
 
-#if HAVE_NUMACTL
-#define NUMA_VERSION1_COMPATIBILITY 1
-#include <numa.h>
-#endif
-
 #if HAVE_SCHED_H
 #include <sched.h>
 #endif
@@ -1103,7 +1098,7 @@ qemudInitCpus(virConnectPtr conn,
     int i, maxcpu = QEMUD_CPUMASK_LEN;
     virNodeInfo nodeinfo;
 
-    if (virNodeInfoPopulate(conn, &nodeinfo) < 0)
+    if (nodeGetInfo(conn, &nodeinfo) < 0)
         return -1;
 
     /* setaffinity fails if you set bits for CPUs which
@@ -1880,11 +1875,6 @@ static int qemudGetMaxVCPUs(virConnectPtr conn, const char *type) {
     return -1;
 }
 
-static int qemudGetNodeInfo(virConnectPtr conn,
-                            virNodeInfoPtr nodeinfo) {
-    return virNodeInfoPopulate(conn, nodeinfo);
-}
-
 
 static char *qemudGetCapabilities(virConnectPtr conn) {
     struct qemud_driver *driver = conn->privateData;
@@ -1901,76 +1891,6 @@ static char *qemudGetCapabilities(virConnectPtr conn) {
 }
 
 
-#if HAVE_NUMACTL
-static int
-qemudNodeGetCellsFreeMemory(virConnectPtr conn,
-                            unsigned long long *freeMems,
-                            int startCell,
-                            int maxCells)
-{
-    int n, lastCell, numCells;
-    int ret = -1;
-    int maxCell;
-
-    if (numa_available() < 0) {
-        qemudReportError(conn, NULL, NULL, VIR_ERR_NO_SUPPORT,
-                         "%s", _("NUMA not supported on this host"));
-        goto cleanup;
-    }
-    maxCell = numa_max_node();
-    if (startCell > maxCell) {
-        qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                         _("start cell %d out of range (0-%d)"),
-                         startCell, maxCell);
-        goto cleanup;
-    }
-    lastCell = startCell + maxCells - 1;
-    if (lastCell > maxCell)
-        lastCell = maxCell;
-
-    for (numCells = 0, n = startCell ; n <= lastCell ; n++) {
-        long long mem;
-        if (numa_node_size64(n, &mem) < 0) {
-            qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                             "%s", _("Failed to query NUMA free memory"));
-            goto cleanup;
-        }
-        freeMems[numCells++] = mem;
-    }
-    ret = numCells;
-
-cleanup:
-    return ret;
-}
-
-static unsigned long long
-qemudNodeGetFreeMemory (virConnectPtr conn)
-{
-    unsigned long long freeMem = 0;
-    int n;
-
-    if (numa_available() < 0) {
-        qemudReportError(conn, NULL, NULL, VIR_ERR_NO_SUPPORT,
-                         "%s", _("NUMA not supported on this host"));
-        goto cleanup;
-    }
-
-    for (n = 0 ; n <= numa_max_node() ; n++) {
-        long long mem;
-        if (numa_node_size64(n, &mem) < 0) {
-            qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                             "%s", _("Failed to query NUMA free memory"));
-            goto cleanup;
-        }
-        freeMem += mem;
-    }
-
-cleanup:
-    return freeMem;
-}
-
-#endif
-
 static int qemudGetProcessInfo(unsigned long long *cpuTime, int pid) {
     char proc[PATH_MAX];
     FILE *pidinfo;
@@ -2995,7 +2915,7 @@ qemudDomainPinVcpu(virDomainPtr dom,
         goto cleanup;
     }
 
-    if (virNodeInfoPopulate(dom->conn, &nodeinfo) < 0)
+    if (nodeGetInfo(dom->conn, &nodeinfo) < 0)
         goto cleanup;
 
     maxcpu = maplen * 8;
@@ -3057,7 +2977,7 @@ qemudDomainGetVcpus(virDomainPtr dom,
         goto cleanup;
     }
 
-    if (virNodeInfoPopulate(dom->conn, &nodeinfo) < 0)
+    if (nodeGetInfo(dom->conn, &nodeinfo) < 0)
         goto cleanup;
 
     maxcpu = maplen * 8;
@@ -5349,7 +5269,7 @@ static virDriver qemuDriver = {
     qemudGetVersion, /* version */
     qemudGetHostname, /* getHostname */
     qemudGetMaxVCPUs, /* getMaxVcpus */
-    qemudGetNodeInfo, /* nodeGetInfo */
+    nodeGetInfo, /* nodeGetInfo */
     qemudGetCapabilities, /* getCapabilities */
     qemudListDomains, /* listDomains */
     qemudNumDomains, /* numOfDomains */
@@ -5403,13 +5323,8 @@ static virDriver qemuDriver = {
     qemudDomainInterfaceStats, /* domainInterfaceStats */
     qemudDomainBlockPeek, /* domainBlockPeek */
     qemudDomainMemoryPeek, /* domainMemoryPeek */
-#if HAVE_NUMACTL
-    qemudNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
-    qemudNodeGetFreeMemory,  /* getFreeMemory */
-#else
-    NULL, /* nodeGetCellsFreeMemory */
-    NULL, /* getFreeMemory */
-#endif
+    nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
+    nodeGetFreeMemory,  /* getFreeMemory */
     qemudDomainEventRegister, /* domainEventRegister */
     qemudDomainEventDeregister, /* domainEventDeregister */
     qemudDomainMigratePrepare2, /* domainMigratePrepare2 */
index 3f9023050e68d075114d18a1770911c41dc48a60..c36b3bf314a4da8c20506180c465a962a5b18ca6 100644 (file)
@@ -63,7 +63,7 @@ virCapsPtr umlCapsInit(void) {
                                    0, 0)) == NULL)
         goto no_memory;
 
-    if (virCapsInitNUMA(caps) < 0)
+    if (nodeCapsInitNUMA(caps) < 0)
         goto no_memory;
 
     if ((guest = virCapabilitiesAddGuest(caps,
index 6311542b6daa928322234cf637933123987beb5f..98540e31e2fe0d9177ac776940da54255ef619d8 100644 (file)
 #include <sys/ioctl.h>
 #include <sys/inotify.h>
 
-#if HAVE_NUMACTL
-#define NUMA_VERSION1_COMPATIBILITY 1
-#include <numa.h>
-#endif
-
 #include "uml_driver.h"
 #include "uml_conf.h"
 #include "event.h"
@@ -964,11 +959,6 @@ static const char *umlGetType(virConnectPtr conn ATTRIBUTE_UNUSED) {
     return "UML";
 }
 
-static int umlGetNodeInfo(virConnectPtr conn,
-                          virNodeInfoPtr nodeinfo) {
-    return virNodeInfoPopulate(conn, nodeinfo);
-}
-
 
 static char *umlGetCapabilities(virConnectPtr conn) {
     struct uml_driver *driver = (struct uml_driver *)conn->privateData;
@@ -983,69 +973,6 @@ static char *umlGetCapabilities(virConnectPtr conn) {
 }
 
 
-#if HAVE_NUMACTL
-static int
-umlNodeGetCellsFreeMemory(virConnectPtr conn,
-                            unsigned long long *freeMems,
-                            int startCell,
-                            int maxCells)
-{
-    int n, lastCell, numCells;
-    int ret = -1;
-
-    if (numa_available() < 0) {
-        umlReportError(conn, NULL, NULL, VIR_ERR_NO_SUPPORT,
-                         "%s", _("NUMA not supported on this host"));
-        goto cleanup;
-    }
-    lastCell = startCell + maxCells - 1;
-    if (lastCell > numa_max_node())
-        lastCell = numa_max_node();
-
-    for (numCells = 0, n = startCell ; n <= lastCell ; n++) {
-        long long mem;
-        if (numa_node_size64(n, &mem) < 0) {
-            umlReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                             "%s", _("Failed to query NUMA free memory"));
-            goto cleanup;
-        }
-        freeMems[numCells++] = mem;
-    }
-    ret = numCells;
-
-cleanup:
-    return ret;
-}
-
-static unsigned long long
-umlNodeGetFreeMemory (virConnectPtr conn)
-{
-    unsigned long long freeMem = 0;
-    unsigned long long ret = -1;
-    int n;
-
-    if (numa_available() < 0) {
-        umlReportError(conn, NULL, NULL, VIR_ERR_NO_SUPPORT,
-                         "%s", _("NUMA not supported on this host"));
-        goto cleanup;
-    }
-
-    for (n = 0 ; n <= numa_max_node() ; n++) {
-        long long mem;
-        if (numa_node_size64(n, &mem) < 0) {
-            umlReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
-                             "%s", _("Failed to query NUMA free memory"));
-            goto cleanup;
-        }
-        freeMem += mem;
-    }
-    ret = freeMem;
-
-cleanup:
-    return ret;
-}
-
-#endif
 
 static int umlGetProcessInfo(unsigned long long *cpuTime, int pid) {
     char proc[PATH_MAX];
@@ -1855,7 +1782,7 @@ static virDriver umlDriver = {
     umlGetVersion, /* version */
     umlGetHostname, /* getHostname */
     NULL, /* getMaxVcpus */
-    umlGetNodeInfo, /* nodeGetInfo */
+    nodeGetInfo, /* nodeGetInfo */
     umlGetCapabilities, /* getCapabilities */
     umlListDomains, /* listDomains */
     umlNumDomains, /* numOfDomains */
@@ -1904,13 +1831,8 @@ static virDriver umlDriver = {
     NULL, /* domainInterfaceStats */
     umlDomainBlockPeek, /* domainBlockPeek */
     NULL, /* domainMemoryPeek */
-#if HAVE_NUMACTL
-    umlNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
-    umlNodeGetFreeMemory,  /* getFreeMemory */
-#else
-    NULL, /* nodeGetCellsFreeMemory */
-    NULL, /* getFreeMemory */
-#endif
+    virNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
+    virNodeGetFreeMemory,  /* getFreeMemory */
     NULL, /* domainEventRegister */
     NULL, /* domainEventDeregister */
     NULL, /* domainMigratePrepare2 */
index 50c87e5e44a375649599f56b2c27654b7fffc930..b8042429612dd11a6929ca6be89f452ffbd5dd58 100644 (file)
@@ -186,7 +186,7 @@ static virCapsPtr vboxCapsInit(void) {
                                    0, 0)) == NULL)
         goto no_memory;
 
-    if (virCapsInitNUMA(caps) < 0)
+    if (nodeCapsInitNUMA(caps) < 0)
         goto no_memory;
 
     virCapabilitiesSetMacPrefix(caps, (unsigned char[]){ 0x08, 0x00, 0x27 });
@@ -413,9 +413,6 @@ static int vboxGetMaxVcpus(virConnectPtr conn, const char *type ATTRIBUTE_UNUSED
     return ret;
 }
 
-static int vboxNodeGetInfo(virConnectPtr conn, virNodeInfoPtr nodeinfo) {
-    return virNodeInfoPopulate(conn, nodeinfo);
-}
 
 static char *vboxGetCapabilities(virConnectPtr conn) {
     vboxGlobalData *data = conn->privateData;
@@ -4909,7 +4906,7 @@ virDriver NAME(Driver) = {
     .version                       = vboxGetVersion,
     .getHostname                   = vboxGetHostname,
     .getMaxVcpus                   = vboxGetMaxVcpus,
-    .nodeGetInfo                   = vboxNodeGetInfo,
+    .nodeGetInfo                   = nodeGetInfo,
     .getCapabilities               = vboxGetCapabilities,
     .listDomains                   = vboxListDomains,
     .numOfDomains                  = vboxNumOfDomains,