]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fix libnuma use to build with v1 compatability code
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 28 Nov 2008 11:20:27 +0000 (11:20 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 28 Nov 2008 11:20:27 +0000 (11:20 +0000)
ChangeLog
libvirt.spec.in
qemud/Makefile.am
src/qemu_conf.c
src/qemu_driver.c
src/uml_conf.c
src/uml_driver.c

index 20d0a379d60bd1cc988160eb23c9805811c9b6e1..a740d6da77b26db4caaf6d3c12979606c0ef77b7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Nov 28 11:17:40 GMT 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * libvirt.spec.in: Add missing numa-ctl BuildRequires
+       * qemud/Makefile.am: Fix libvirtd_DEPENDANCIES to include all libs
+       * src/qemu_conf.c, src/qemu_driver.c, src/uml_conf.c,
+       src/uml_driver.c: Define NUMA_VERSION1_COMPATIBILITY and
+       fix size of array used to get node mapping
+
 Fri Nov 28 08:40:00 CET 2008 Chris Lalancette <clalance@redhat.com>
        * src/storage_backend.c: Wait up to 5 seconds for
        /dev/disk/by-{id,path} to exist in virStorageBackendStablePath
index 4f9e1517e5d25ee27804a0a039a0856c1b5a669d..cddf5c809827bbb8d66faf8e5e5a1d1080d62c0f 100644 (file)
@@ -124,6 +124,8 @@ BuildRequires: lvm2
 BuildRequires: iscsi-initiator-utils
 # For disk driver
 BuildRequires: parted-devel
+# For QEMU/LXC numa info
+BuildRequires: numactl-devel
 Obsoletes: libvir
 
 # Fedora build root suckage
index 393c17113784827bbef5de8f7371a3216c7e4244..15d3717e4ecad9b79e11baa3fa0830cf6e182bc5 100644 (file)
@@ -87,7 +87,6 @@ libvirtd_LDFLAGS = \
        $(COVERAGE_LDFLAGS) \
        $(POLKIT_LIBS)
 
-libvirtd_DEPENDENCIES = ../src/libvirt.la
 libvirtd_LDADD =                                       \
                ../gnulib/lib/libgnu.la
 
@@ -129,6 +128,9 @@ libvirtd_CFLAGS += $(AVAHI_CFLAGS)
 libvirtd_LDADD += $(AVAHI_LIBS)
 endif
 
+libvirtd_DEPENDENCIES = $(libvirtd_LDADD)
+
+
 default_xml_dest = libvirt/qemu/networks/default.xml
 install-data-local: install-init install-data-sasl install-data-polkit
        mkdir -p $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart
index c66cef9e39549ae17e4ebc8498fcf6b931401398..e6c378f40f9c266698a02e0699adfd7a603864d1 100644 (file)
@@ -37,6 +37,7 @@
 #include <sys/utsname.h>
 
 #if HAVE_NUMACTL
+#define NUMA_VERSION1_COMPATIBILITY 1
 #include <numa.h>
 #endif
 
@@ -300,11 +301,11 @@ qemudCapsInitGuest(virCapsPtr caps,
 #if HAVE_NUMACTL
 #define MAX_CPUS 4096
 #define MAX_CPUS_MASK_SIZE (sizeof(unsigned long))
-#define MAX_CPUS_MASK_LEN (MAX_CPUS / MAX_CPUS_MASK_SIZE)
-#define MAX_CPUS_MASK_BYTES (MAX_CPUS / 8)
+#define MAX_CPUS_MASK_BITS (MAX_CPUS_MASK_SIZE * 8)
+#define MAX_CPUS_MASK_LEN (MAX_CPUS / (MAX_CPUS_MASK_BITS))
 
 #define MASK_CPU_ISSET(mask, cpu) \
-    (((mask)[((cpu) / MAX_CPUS_MASK_SIZE)] >> ((cpu) % MAX_CPUS_MASK_SIZE)) & 1)
+    (((mask)[((cpu) / MAX_CPUS_MASK_BITS)] >> ((cpu) % MAX_CPUS_MASK_BITS)) & 1)
 
 static int
 qemudCapsInitNUMA(virCapsPtr caps)
@@ -322,7 +323,8 @@ qemudCapsInitNUMA(virCapsPtr caps)
         goto cleanup;
 
     for (n = 0 ; n <= numa_max_node() ; n++) {
-        if (numa_node_to_cpus(n, mask, MAX_CPUS_MASK_BYTES) < 0)
+
+        if (numa_node_to_cpus(n, mask, MAX_CPUS_MASK_LEN) < 0)
             goto cleanup;
 
         for (ncpus = 0, i = 0 ; i < MAX_CPUS ; i++)
index 835e2bdebd3b1d0adcf0e9bb6916e18c07937954..90c6b194be93794ed4b0a5a4be8902ea848e53df 100644 (file)
@@ -45,6 +45,7 @@
 #include <sys/ioctl.h>
 
 #if HAVE_NUMACTL
+#define NUMA_VERSION1_COMPATIBILITY 1
 #include <numa.h>
 #endif
 
index 674830d28a0433c0ffcbe7d084e928e23ac6b229..7eb630dc7794bfb198dff931ba4f93372c1eec22 100644 (file)
@@ -37,6 +37,7 @@
 #include <sys/utsname.h>
 
 #if HAVE_NUMACTL
+#define NUMA_VERSION1_COMPATIBILITY 1
 #include <numa.h>
 #endif
 
 #if HAVE_NUMACTL
 #define MAX_CPUS 4096
 #define MAX_CPUS_MASK_SIZE (sizeof(unsigned long))
-#define MAX_CPUS_MASK_LEN (MAX_CPUS / MAX_CPUS_MASK_SIZE)
-#define MAX_CPUS_MASK_BYTES (MAX_CPUS / 8)
+#define MAX_CPUS_MASK_BITS (MAX_CPUS_MASK_SIZE * 8)
+#define MAX_CPUS_MASK_LEN (MAX_CPUS / (MAX_CPUS_MASK_BITS))
 
 #define MASK_CPU_ISSET(mask, cpu) \
-    (((mask)[((cpu) / MAX_CPUS_MASK_SIZE)] >> ((cpu) % MAX_CPUS_MASK_SIZE)) & 1)
+    (((mask)[((cpu) / MAX_CPUS_MASK_BITS)] >> ((cpu) % MAX_CPUS_MASK_BITS)) & 1)
 
 static int
 umlCapsInitNUMA(virCapsPtr caps)
@@ -78,7 +79,8 @@ umlCapsInitNUMA(virCapsPtr caps)
         goto cleanup;
 
     for (n = 0 ; n <= numa_max_node() ; n++) {
-        if (numa_node_to_cpus(n, mask, MAX_CPUS_MASK_BYTES) < 0)
+
+        if (numa_node_to_cpus(n, mask, MAX_CPUS_MASK_LEN) < 0)
             goto cleanup;
 
         for (ncpus = 0, i = 0 ; i < MAX_CPUS ; i++)
index d5530d9f85c3da48756915dfaad0e26679e6365a..337a8ea5bf99823441f71e9bd0bcbd4e7fe9f5b0 100644 (file)
@@ -46,6 +46,7 @@
 #include <sys/inotify.h>
 
 #if HAVE_NUMACTL
+#define NUMA_VERSION1_COMPATIBILITY 1
 #include <numa.h>
 #endif