]> xenbits.xensource.com Git - libvirt.git/commitdiff
Separate internal node suspend APIs from public API
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 29 Apr 2013 09:16:56 +0000 (10:16 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 8 May 2013 09:47:47 +0000 (10:47 +0100)
The individual hypervisor drivers were directly referencing
APIs in virnodesuspend.c in their virDriverPtr struct. Separate
these methods, so there is always a wrapper in the hypervisor
driver. This allows the unused virConnectPtr args to be removed
from the virnodesuspend.c file. Again this will ensure that
ACL checks will only be performed on invocations that are
directly associated with public API usage.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/lxc/lxc_driver.c
src/qemu/qemu_driver.c
src/uml/uml_driver.c
src/util/virnodesuspend.c
src/util/virnodesuspend.h
src/xen/xen_driver.c

index 56f89340f5abff1c88030a13df63b5ce9263eaf9..38ea58d752a9ecd7759dbb7b53d1e8fb8cd65b32 100644 (file)
@@ -4478,6 +4478,17 @@ lxcNodeGetCPUMap(virConnectPtr conn ATTRIBUTE_UNUSED,
     return nodeGetCPUMap(cpumap, online, flags);
 }
 
+
+static int
+lxcNodeSuspendForDuration(virConnectPtr conn ATTRIBUTE_UNUSED,
+                          unsigned int target,
+                          unsigned long long duration,
+                          unsigned int flags)
+{
+    return nodeSuspendForDuration(target, duration, flags);
+}
+
+
 /* Function Tables */
 static virDriver lxcDriver = {
     .no = VIR_DRV_LXC,
@@ -4549,7 +4560,7 @@ static virDriver lxcDriver = {
     .connectDomainEventDeregisterAny = lxcConnectDomainEventDeregisterAny, /* 0.8.0 */
     .domainOpenConsole = lxcDomainOpenConsole, /* 0.8.6 */
     .connectIsAlive = lxcConnectIsAlive, /* 0.9.8 */
-    .nodeSuspendForDuration = nodeSuspendForDuration, /* 0.9.8 */
+    .nodeSuspendForDuration = lxcNodeSuspendForDuration, /* 0.9.8 */
     .nodeGetMemoryParameters = lxcNodeGetMemoryParameters, /* 0.10.2 */
     .nodeSetMemoryParameters = lxcNodeSetMemoryParameters, /* 0.10.2 */
     .domainSendProcessSignal = lxcDomainSendProcessSignal, /* 1.0.1 */
index c44ffbcb06dbcdba827cab6037ccc29cdc4eda27..e593516c4138fc3d1911b9e69f31209f27df22f5 100644 (file)
@@ -14779,6 +14779,17 @@ qemuNodeGetCPUMap(virConnectPtr conn ATTRIBUTE_UNUSED,
     return nodeGetCPUMap(cpumap, online, flags);
 }
 
+
+static int
+qemuNodeSuspendForDuration(virConnectPtr conn ATTRIBUTE_UNUSED,
+                           unsigned int target,
+                           unsigned long long duration,
+                           unsigned int flags)
+{
+    return nodeSuspendForDuration(target, duration, flags);
+}
+
+
 static virDriver qemuDriver = {
     .no = VIR_DRV_QEMU,
     .name = QEMU_DRIVER_NAME,
@@ -14940,7 +14951,7 @@ static virDriver qemuDriver = {
     .domainBlockRebase = qemuDomainBlockRebase, /* 0.9.10 */
     .domainBlockCommit = qemuDomainBlockCommit, /* 1.0.0 */
     .connectIsAlive = qemuConnectIsAlive, /* 0.9.8 */
-    .nodeSuspendForDuration = nodeSuspendForDuration, /* 0.9.8 */
+    .nodeSuspendForDuration = qemuNodeSuspendForDuration, /* 0.9.8 */
     .domainSetBlockIoTune = qemuDomainSetBlockIoTune, /* 0.9.8 */
     .domainGetBlockIoTune = qemuDomainGetBlockIoTune, /* 0.9.8 */
     .domainSetNumaParameters = qemuDomainSetNumaParameters, /* 0.9.9 */
index 6ae0def79862dc03f4e63a5fa725964c20bc219a..ded079827da09659ef4ccb14589f3d7bef7ea166 100644 (file)
@@ -2673,6 +2673,16 @@ umlNodeGetCPUMap(virConnectPtr conn ATTRIBUTE_UNUSED,
 }
 
 
+static int
+umlNodeSuspendForDuration(virConnectPtr conn ATTRIBUTE_UNUSED,
+                          unsigned int target,
+                          unsigned long long duration,
+                          unsigned int flags)
+{
+    return nodeSuspendForDuration(target, duration, flags);
+}
+
+
 static virDriver umlDriver = {
     .no = VIR_DRV_UML,
     .name = "UML",
@@ -2731,7 +2741,7 @@ static virDriver umlDriver = {
     .connectDomainEventDeregisterAny = umlConnectDomainEventDeregisterAny, /* 0.9.4 */
     .domainOpenConsole = umlDomainOpenConsole, /* 0.8.6 */
     .connectIsAlive = umlConnectIsAlive, /* 0.9.8 */
-    .nodeSuspendForDuration = nodeSuspendForDuration, /* 0.9.8 */
+    .nodeSuspendForDuration = umlNodeSuspendForDuration, /* 0.9.8 */
     .nodeGetMemoryParameters = umlNodeGetMemoryParameters, /* 0.10.2 */
     .nodeSetMemoryParameters = umlNodeSetMemoryParameters, /* 0.10.2 */
 };
index df40ccd4d413faa349018155895a1e3a24bbb97c..72a17cd3538c8b1b19f20f80e91ab29489c5f624 100644 (file)
@@ -165,8 +165,7 @@ static void virNodeSuspend(void *cmdString)
  * -1 if suspending the node is not supported, or if a previous suspend
  * operation is still in progress.
  */
-int nodeSuspendForDuration(virConnectPtr conn ATTRIBUTE_UNUSED,
-                           unsigned int target,
+int nodeSuspendForDuration(unsigned int target,
                            unsigned long long duration,
                            unsigned int flags)
 {
index ac54015dfe97db6a8a76b1a215dccfa60e95719f..b5f67dde0c31f2176b7aee35bf611271e3e08424 100644 (file)
@@ -25,8 +25,7 @@
 
 # include "internal.h"
 
-int nodeSuspendForDuration(virConnectPtr conn,
-                           unsigned int target,
+int nodeSuspendForDuration(unsigned int target,
                            unsigned long long duration,
                            unsigned int flags);
 
index 758cf15e4d2b08dd1b4ee90a6f12178b472547e2..82859128461e971bf6a762bbcb83583982934b55 100644 (file)
@@ -2369,6 +2369,17 @@ xenUnifiedNodeSetMemoryParameters(virConnectPtr conn ATTRIBUTE_UNUSED,
     return nodeSetMemoryParameters(params, nparams, flags);
 }
 
+
+static int
+xenUnifiedNodeSuspendForDuration(virConnectPtr conn ATTRIBUTE_UNUSED,
+                                 unsigned int target,
+                                 unsigned long long duration,
+                                 unsigned int flags)
+{
+    return nodeSuspendForDuration(target, duration, flags);
+}
+
+
 /*----- Register with libvirt.c, and initialize Xen drivers. -----*/
 
 /* The interface which we export upwards to libvirt.c. */
@@ -2462,7 +2473,7 @@ static virDriver xenUnifiedDriver = {
     .connectDomainEventDeregisterAny = xenUnifiedConnectDomainEventDeregisterAny, /* 0.8.0 */
     .domainOpenConsole = xenUnifiedDomainOpenConsole, /* 0.8.6 */
     .connectIsAlive = xenUnifiedConnectIsAlive, /* 0.9.8 */
-    .nodeSuspendForDuration = nodeSuspendForDuration, /* 0.9.8 */
+    .nodeSuspendForDuration = xenUnifiedNodeSuspendForDuration, /* 0.9.8 */
     .nodeGetMemoryParameters = xenUnifiedNodeGetMemoryParameters, /* 0.10.2 */
     .nodeSetMemoryParameters = xenUnifiedNodeSetMemoryParameters, /* 0.10.2 */
 };