]> xenbits.xensource.com Git - libvirt.git/commitdiff
virNodeGetCPUMap: Implement driver support
authorViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Tue, 16 Oct 2012 14:05:15 +0000 (16:05 +0200)
committerEric Blake <eblake@redhat.com>
Thu, 25 Oct 2012 17:20:15 +0000 (11:20 -0600)
Driver support added for:
- test: pretending 8 host CPUS, 3 being online
- qemu, lxc, openvz, uml: using nodeGetCPUMap

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
src/lxc/lxc_driver.c
src/openvz/openvz_driver.c
src/qemu/qemu_driver.c
src/test/test_driver.c
src/uml/uml_driver.c

index 87305dbfc56e924f5b4bfba94d750b3ab801005a..2072f008a36e27b9d7d01911e2deda4be9b4cd33 100644 (file)
@@ -2736,6 +2736,7 @@ static virDriver lxcDriver = {
     .nodeGetMemoryStats = nodeGetMemoryStats, /* 0.9.3 */
     .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory, /* 0.6.5 */
     .nodeGetFreeMemory = nodeGetFreeMemory, /* 0.6.5 */
+    .nodeGetCPUMap = nodeGetCPUMap, /* 1.0.0 */
     .domainEventRegister = lxcDomainEventRegister, /* 0.7.0 */
     .domainEventDeregister = lxcDomainEventDeregister, /* 0.7.0 */
     .isEncrypted = lxcIsEncrypted, /* 0.7.3 */
index 2f51c1c638ec8dc7e4b1931444af520cad4f1526..fb3c5524e5334b62ec68b358c803240e2e79f878 100644 (file)
@@ -2127,6 +2127,7 @@ static virDriver openvzDriver = {
     .nodeGetMemoryStats = nodeGetMemoryStats, /* 0.9.12 */
     .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory, /* 0.9.12 */
     .nodeGetFreeMemory = nodeGetFreeMemory, /* 0.9.12 */
+    .nodeGetCPUMap = nodeGetCPUMap, /* 1.0.0 */
     .getCapabilities = openvzGetCapabilities, /* 0.4.6 */
     .listDomains = openvzListDomains, /* 0.3.1 */
     .numOfDomains = openvzNumDomains, /* 0.3.1 */
index 57e640360d21d11c3a850390f08c735cdc9805a8..18be7d9d77c9b0271296a7f28bc1230f43934dbe 100644 (file)
@@ -14203,6 +14203,7 @@ static virDriver qemuDriver = {
     .domainGetCPUStats = qemuDomainGetCPUStats, /* 0.9.11 */
     .nodeGetMemoryParameters = nodeGetMemoryParameters, /* 0.10.2 */
     .nodeSetMemoryParameters = nodeSetMemoryParameters, /* 0.10.2 */
+    .nodeGetCPUMap = nodeGetCPUMap, /* 1.0.0 */
 };
 
 
index c9f91158513861415e269394f61262ffa215d533..58c4e67eacad07b6358f23e4dd1d16d0b7a60e1b 100644 (file)
@@ -5687,6 +5687,36 @@ static int testListAllDomains(virConnectPtr conn,
     return ret;
 }
 
+static int
+testNodeGetCPUMap(virConnectPtr conn,
+                  unsigned char **cpumap,
+                  unsigned int *online,
+                  unsigned int flags)
+{
+    testConnPtr privconn = conn->privateData;
+    int ret = -1;
+
+    virCheckFlags(0, -1);
+
+    testDriverLock(privconn);
+    if (cpumap) {
+        if (VIR_ALLOC_N(*cpumap, 1) < 0) {
+            virReportOOMError();
+            goto cleanup;
+        }
+        *cpumap[0] = 0x15;
+    }
+
+    if (online)
+        *online = 3;
+
+    ret = 8;
+
+cleanup:
+    testDriverUnlock(privconn);
+    return ret;
+}
+
 
 static virDriver testDriver = {
     .no = VIR_DRV_TEST,
@@ -5756,6 +5786,7 @@ static virDriver testDriver = {
     .domainEventRegisterAny = testDomainEventRegisterAny, /* 0.8.0 */
     .domainEventDeregisterAny = testDomainEventDeregisterAny, /* 0.8.0 */
     .isAlive = testIsAlive, /* 0.9.8 */
+    .nodeGetCPUMap = testNodeGetCPUMap, /* 1.0.0 */
 };
 
 static virNetworkDriver testNetworkDriver = {
index ba37eb715e844421f5cebc0aea1f167897236892..2c6e820a3d76f2550f5f371138cefd8b64b5c4f8 100644 (file)
@@ -2612,6 +2612,7 @@ static virDriver umlDriver = {
     .nodeGetMemoryStats = nodeGetMemoryStats, /* 0.9.3 */
     .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory, /* 0.5.0 */
     .nodeGetFreeMemory = nodeGetFreeMemory, /* 0.5.0 */
+    .nodeGetCPUMap = nodeGetCPUMap, /* 1.0.0 */
     .domainEventRegister = umlDomainEventRegister, /* 0.9.4 */
     .domainEventDeregister = umlDomainEventDeregister, /* 0.9.4 */
     .isEncrypted = umlIsEncrypted, /* 0.7.3 */