On Thu, Mar 18, 2021 at 05:06:53PM -0400, Dave Voutila wrote:
> 
> Preben Guldberg writes:
> 
> > In "vmctl status", VMs that are being stopped but are still running
> > will simply show up as "running".
> >
> > The diff below gives preference to showing the stopping state akin to
> > how a paused VM is handled.
> 
> I've tested this and it works as advertised. I guess I had been living
> in ignorance not knowing I should be seeing a "stopping" status!

ok tb

> 
> >
> > Index: usr.sbin/vmctl/vmctl.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/vmctl/vmctl.c,v
> > retrieving revision 1.76
> > diff -u -p -u -p -r1.76 vmctl.c
> > --- usr.sbin/vmctl/vmctl.c  27 Jan 2021 07:21:12 -0000      1.76
> > +++ usr.sbin/vmctl/vmctl.c  7 Mar 2021 15:39:03 -0000
> > @@ -708,7 +708,7 @@ add_info(struct imsg *imsg, int *ret)
> >   *
> >   * Returns a string representing the current VM state, note that the order
> >   * matters. A paused VM does have the VM_STATE_RUNNING bit set, but
> > - * VM_STATE_PAUSED is more significant to report.
> > + * VM_STATE_PAUSED is more significant to report. Same goes for stopping 
> > VMs.
> >   *
> >   * Parameters
> >   *  vm_state: mask indicating the vm state
> > @@ -720,10 +720,10 @@ vm_state(unsigned int mask)
> >             return "paused";
> >     else if (mask & VM_STATE_WAITING)
> >             return "waiting";
> > -   else if (mask & VM_STATE_RUNNING)
> > -           return "running";
> >     else if (mask & VM_STATE_SHUTDOWN)
> >             return "stopping";
> > +   else if (mask & VM_STATE_RUNNING)
> > +           return "running";
> >     /* Presence of absence of other flags */
> >     else if (!mask || (mask & VM_STATE_DISABLED))
> >             return "stopped";
> 

Reply via email to