From cbe6ebdb53fe706ea85a4f6f0563c6acea51b858 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Thu, 10 Jun 2010 10:18:02 -0600 Subject: [PATCH] virsh: add start --paused support Make 'start --paused' mirror 'create --paused'. * tools/virsh.c (cmdStart): Use new virDomainCreateWithFlags API when needed. * tools/virsh.pod (start): Document --paused. --- tools/virsh.c | 9 ++++++++- tools/virsh.pod | 7 +++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 7c43acb193..4aa281e3c9 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -1306,6 +1306,7 @@ static const vshCmdOptDef opts_start[] = { #ifndef WIN32 {"console", VSH_OT_BOOL, 0, N_("attach to console after creation")}, #endif + {"paused", VSH_OT_BOOL, 0, N_("leave the guest paused after creation")}, {NULL, 0, 0, NULL} }; @@ -1317,6 +1318,7 @@ cmdStart(vshControl *ctl, const vshCmd *cmd) #ifndef WIN32 int console = vshCommandOptBool(cmd, "console"); #endif + unsigned int flags = VIR_DOMAIN_NONE; if (!vshConnectionUsability(ctl, ctl->conn, TRUE)) return FALSE; @@ -1330,7 +1332,12 @@ cmdStart(vshControl *ctl, const vshCmd *cmd) return FALSE; } - if (virDomainCreate(dom) == 0) { + if (vshCommandOptBool(cmd, "paused")) + flags |= VIR_DOMAIN_START_PAUSED; + + /* Prefer older API unless we have to pass a flag. */ + if ((flags ? virDomainCreateWithFlags(dom, flags) + : virDomainCreate(dom)) == 0) { vshPrint(ctl, _("Domain %s started\n"), virDomainGetName(dom)); #ifndef WIN32 diff --git a/tools/virsh.pod b/tools/virsh.pod index f376649c60..b1917eed6e 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -469,9 +469,12 @@ services must be shutdown in the domain. The exact behavior of a domain when it shuts down is set by the I parameter in the domain's XML definition. -=item B I +=item B I optional I<--console> I<--paused> -Start a (previously defined) inactive domain. +Start a (previously defined) inactive domain. The domain will be paused +if the I<--paused> option is used and supported by the driver; otherwise +it will be running. +If I<--console> is requested, attach to the console after creation. =item B I