[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH v2 2/3] virsh: Expose virDomainPMWakeup



---
 tools/virsh.c   |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 tools/virsh.pod |    6 ++++++
 2 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index 66ba61c..4971e36 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -2436,6 +2436,50 @@ cleanup:
 }
 
 /*
+ * "dompmwakeup" command
+ */
+
+static const vshCmdInfo info_dom_pm_wakeup[] = {
+    {"help", N_("wakeup a domain suspended by dompmsuspend command")},
+    {"desc", N_("Wakeup a domain previously suspended "
+                "by dompmsuspend command.")},
+    {NULL, NULL}
+};
+
+static const vshCmdOptDef opts_dom_pm_wakeup[] = {
+    {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
+    {NULL, 0, 0, NULL}
+};
+cmdDomPMWakeup(vshControl *ctl, const vshCmd *cmd)
+{
+    virDomainPtr dom;
+    const char *name;
+    bool ret = false;
+    unsigned int flags = 0;
+
+    if (!vshConnectionUsability(ctl, ctl->conn))
+        return false;
+
+    if (!(dom = vshCommandOptDomain(ctl, cmd, &name)))
+        return false;
+
+    if (virDomainPMWakeup(dom, flags) < 0) {
+        vshError(ctl, _("Domain %s could not be woken up"),
+                 virDomainGetName(dom));
+        goto cleanup;
+    }
+
+    vshPrint(ctl, _("Domain %s successfully woken up"),
+             virDomainGetName(dom));
+
+    ret = true;
+
+cleanup:
+    virDomainFree(dom);
+    return ret;
+}
+
+/*
  * "create" command
  */
 static const vshCmdInfo info_create[] = {
@@ -16458,6 +16502,8 @@ static const vshCmdDef domManagementCmds[] = {
     {"domname", cmdDomname, opts_domname, info_domname, 0},
     {"dompmsuspend", cmdDomPMSuspend,
      opts_dom_pm_suspend, info_dom_pm_suspend, 0},
+    {"dompmwakeup", cmdDomPMWakeup,
+     opts_dom_pm_wakeup, info_dom_pm_wakeup, 0},
     {"domuuid", cmdDomuuid, opts_domuuid, info_domuuid, 0},
     {"domxml-from-native", cmdDomXMLFromNative, opts_domxmlfromnative,
      info_domxmlfromnative, 0},
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 6730b8b..75690e5 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -1289,6 +1289,12 @@ values):
     disk equivallent of S4 ACPI state
     hybrid RAM is saved to disk but not powered off
 
+=item B<dompmwakeup> I<domain-id>
+
+Wakeup a domain suspended by dompmsuspend command. Injects a wakeup
+into the guest that previously used dompmsuspend, rather than waiting
+for the previously requested duration (if any) to elapse.
+
 =item B<ttyconsole> I<domain-id>
 
 Output the device used for the TTY console of the domain. If the information
-- 
1.7.3.4


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]