* 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 | 8 ++------ src/qemu/qemu_monitor_text.c | 14 ++++++++++++++ src/qemu/qemu_monitor_text.h | 2 ++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 5ebd4b7..841ab68 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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: diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c index ec30e72..ec5f670 100644 --- a/src/qemu/qemu_monitor_text.c +++ b/src/qemu/qemu_monitor_text.c @@ -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) { diff --git a/src/qemu/qemu_monitor_text.h b/src/qemu/qemu_monitor_text.h index eb1ba44..342a3f3 100644 --- a/src/qemu/qemu_monitor_text.h +++ b/src/qemu/qemu_monitor_text.h @@ -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); -- 1.6.2.5 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list