提交 19d70c7d 编写于 作者: D Daniel P. Berrange

Add API for the 'system_powerdown' monitor command

* 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
上级 1e64d8c7
...@@ -2841,7 +2841,6 @@ cleanup: ...@@ -2841,7 +2841,6 @@ cleanup:
static int qemudDomainShutdown(virDomainPtr dom) { static int qemudDomainShutdown(virDomainPtr dom) {
struct qemud_driver *driver = dom->conn->privateData; struct qemud_driver *driver = dom->conn->privateData;
virDomainObjPtr vm; virDomainObjPtr vm;
char* info;
int ret = -1; int ret = -1;
qemuDriverLock(driver); qemuDriverLock(driver);
...@@ -2862,12 +2861,9 @@ static int qemudDomainShutdown(virDomainPtr dom) { ...@@ -2862,12 +2861,9 @@ static int qemudDomainShutdown(virDomainPtr dom) {
goto cleanup; goto cleanup;
} }
if (qemudMonitorCommand(vm, "system_powerdown", &info) < 0) { if (qemuMonitorSystemPowerdown(vm) < 0)
qemudReportError(dom->conn, dom, NULL, VIR_ERR_OPERATION_FAILED,
"%s", _("shutdown operation failed"));
goto cleanup; goto cleanup;
}
VIR_FREE(info);
ret = 0; ret = 0;
cleanup: cleanup:
......
...@@ -451,6 +451,20 @@ qemuMonitorStopCPUs(const virDomainObjPtr vm) { ...@@ -451,6 +451,20 @@ qemuMonitorStopCPUs(const virDomainObjPtr vm) {
return 0; 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 qemuMonitorGetCPUInfo(const virDomainObjPtr vm,
int **pids) int **pids)
{ {
......
...@@ -69,6 +69,8 @@ int qemuMonitorStartCPUs(virConnectPtr conn, ...@@ -69,6 +69,8 @@ int qemuMonitorStartCPUs(virConnectPtr conn,
const virDomainObjPtr vm); const virDomainObjPtr vm);
int qemuMonitorStopCPUs(const virDomainObjPtr vm); int qemuMonitorStopCPUs(const virDomainObjPtr vm);
int qemuMonitorSystemPowerdown(const virDomainObjPtr vm);
int qemuMonitorGetCPUInfo(const virDomainObjPtr vm, int qemuMonitorGetCPUInfo(const virDomainObjPtr vm,
int **pids); int **pids);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册