--- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list