]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Add API for the 'system_powerdown' monitor command
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 23 Sep 2009 11:21:00 +0000 (12:21 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 29 Sep 2009 10:51:12 +0000 (11:51 +0100)
* src/qemu/qemu_driver.c: Remove use of 'system_powerdown'
* src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c: Add a new
  qemuMonitorSystemPowerdown() api call

src/qemu/qemu_driver.c
src/qemu/qemu_monitor_text.c
src/qemu/qemu_monitor_text.h

index 793e8dbce1770fc3ab8389a83a5aa2dd22056ca3..db8e0d2590df8a7c472c5cd73ce64f3de281e83d 100644 (file)
@@ -2841,7 +2841,6 @@ cleanup:
 static int qemudDomainShutdown(virDomainPtr dom) {
     struct qemud_driver *driver = dom->conn->privateData;
     virDomainObjPtr vm;
-    char* info;
     int ret = -1;
 
     qemuDriverLock(driver);
@@ -2862,12 +2861,9 @@ static int qemudDomainShutdown(virDomainPtr dom) {
         goto cleanup;
     }
 
-    if (qemudMonitorCommand(vm, "system_powerdown", &info) < 0) {
-        qemudReportError(dom->conn, dom, NULL, VIR_ERR_OPERATION_FAILED,
-                         "%s", _("shutdown operation failed"));
+    if (qemuMonitorSystemPowerdown(vm) < 0)
         goto cleanup;
-    }
-    VIR_FREE(info);
+
     ret = 0;
 
 cleanup:
index 2a301e5442b21ffcb0ac86c57d25da47052cb016..47843e81d0edb8130e4f15550093e1cb83fb6814 100644 (file)
@@ -451,6 +451,20 @@ qemuMonitorStopCPUs(const virDomainObjPtr vm) {
     return 0;
 }
 
+
+int qemuMonitorSystemPowerdown(const virDomainObjPtr vm) {
+    char *info;
+
+    if (qemudMonitorCommand(vm, "system_powerdown", &info) < 0) {
+        qemudReportError(NULL, NULL, NULL, VIR_ERR_OPERATION_FAILED,
+                         "%s", _("system shutdown operation failed"));
+        return -1;
+    }
+    VIR_FREE(info);
+    return 0;
+}
+
+
 int qemuMonitorGetCPUInfo(const virDomainObjPtr vm,
                           int **pids)
 {
index 3504e8d3163bdf7979dd7456c19d336cad6aa1ba..80c21d8f038ae15a31c76b2b08e07dd2286fcedd 100644 (file)
@@ -69,6 +69,8 @@ int qemuMonitorStartCPUs(virConnectPtr conn,
                          const virDomainObjPtr vm);
 int qemuMonitorStopCPUs(const virDomainObjPtr vm);
 
+int qemuMonitorSystemPowerdown(const virDomainObjPtr vm);
+
 int qemuMonitorGetCPUInfo(const virDomainObjPtr vm,
                           int **pids);