[libvirt] [PATCH] Use PAUSED state for domains that are starting up

Jiri Denemark jdenemar at redhat.com
Wed Mar 18 09:18:19 UTC 2015


On Wed, Mar 11, 2015 at 14:20:02 -0600, Jim Fehlig wrote:
> Jiri Denemark wrote:
> > When libvirt is starting a domain, it reports the state as SHUTOFF until
> > it's RUNNING. This is not ideal because domain startup may take a long
> > time (usually because of some configuration issues, firewalls blocking
> > access to network disks, etc.) and domain lists provided by libvirt look
> > awkward. One can see weird shutoff domains with IDs in a list of active
> > domains or even shutoff transient domains. In any case, it looks more
> > like a bug in libvirt than a normal state a domain goes through.
> >   
> 
> I recently noticed similar behavior in the libxl driver when starting
> large memory domains, which can take considerable time.
> 
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> > ---
> >
> > After going through all hypervisor drivers it seems none of them needs
> > to be updated. That is, this patch matches the one I sent as RFC for
> > design discussions.
> >
> >  include/libvirt/libvirt-domain.h |  1 +
> >  src/conf/domain_conf.c           |  3 ++-
> >  src/qemu/qemu_process.c          | 22 ++++++++++++++--------
> >  tools/virsh-domain-monitor.c     |  3 ++-
> >  4 files changed, 19 insertions(+), 10 deletions(-)
> >
> > diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
> > index 9487b80..d5c148b 100644
> > --- a/include/libvirt/libvirt-domain.h
> > +++ b/include/libvirt/libvirt-domain.h
> > @@ -116,6 +116,7 @@ typedef enum {
> >      VIR_DOMAIN_PAUSED_SHUTTING_DOWN = 8, /* paused during shutdown process */
> >      VIR_DOMAIN_PAUSED_SNAPSHOT = 9,      /* paused while creating a snapshot */
> >      VIR_DOMAIN_PAUSED_CRASHED = 10,     /* paused due to a guest crash */
> > +    VIR_DOMAIN_PAUSED_STARTING_UP = 11, /* the domain is being started */
> >   
> 
> Cool.  I'll use this in libxlDomainStart() in the libxl driver.

Hmm, I looked at all drivers including libxl and didn't find a good
place put this change. I guess it's because I'm totally unfamiliar with
libxl (driver).

> I'm no expert in the qemu driver code, but this looks sane to me.  ACK.

OK, given the previous design ACK from Daniel, I pushed this patch.

Jirka




More information about the libvir-list mailing list