[libvirt] [PATCH 11/13] Add support for an explicit watchdog event

Daniel P. Berrange berrange at redhat.com
Mon Mar 22 16:43:25 UTC 2010


On Mon, Mar 22, 2010 at 05:37:02PM +0100, Daniel Veillard wrote:
> On Fri, Mar 19, 2010 at 03:38:59PM +0000, Daniel P. Berrange wrote:
> > This introduces a new event type
> > 
> >    VIR_DOMAIN_EVENT_ID_WATCHDOG
> > 
> > This event includes the action that is about to be taken
> > as a result of the watchdog triggering
> > 
> >  typedef enum {
> >      VIR_DOMAIN_EVENT_WATCHDOG_NONE = 0,
> >      VIR_DOMAIN_EVENT_WATCHDOG_PAUSE,
> >      VIR_DOMAIN_EVENT_WATCHDOG_RESET,
> >      VIR_DOMAIN_EVENT_WATCHDOG_POWEROFF,
> >      VIR_DOMAIN_EVENT_WATCHDOG_SHUTDOWN,
> >      VIR_DOMAIN_EVENT_WATCHDOG_DEBUG,
> >  } virDomainEventWatchdogAction;
> > 
> > Thus there is a new callback definition for this event type
> > 
> >  typedef void (*virConnectDomainEventWatchdogCallback)(virConnectPtr conn,
> >                                                        virDomainPtr dom,
> >                                                        int action,
> >                                                        void *opaque);
> [...]
> > diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> > index edb0a6e..7bee89c 100644
> > --- a/include/libvirt/libvirt.h.in
> > +++ b/include/libvirt/libvirt.h.in
> > @@ -1846,6 +1846,18 @@ typedef void (*virConnectDomainEventRTCChangeCallback)(virConnectPtr conn,
> >                                                         virDomainPtr dom,
> >                                                         long long utcoffset,
> >                                                         void *opaque);
> > +typedef enum {
> > +    VIR_DOMAIN_EVENT_WATCHDOG_NONE = 0,
> > +    VIR_DOMAIN_EVENT_WATCHDOG_PAUSE,
> > +    VIR_DOMAIN_EVENT_WATCHDOG_RESET,
> > +    VIR_DOMAIN_EVENT_WATCHDOG_POWEROFF,
> > +    VIR_DOMAIN_EVENT_WATCHDOG_SHUTDOWN,
> > +    VIR_DOMAIN_EVENT_WATCHDOG_DEBUG,
> > +} virDomainEventWatchdogAction;
> 
> Hum, what is NONE for ? Sounds more confusing than anything else to me.
> Also a short description would be useful, for example is the watchdog
> pause an user requested pause ? And what does the debug carries ?

NONE means that QEMU just ignores the watchdog, even when it triggers

DEBUG means that QEMU ignores it, but logs a message on stderr (which
ends up in /var/log/libvirt/qemu/$GUEST.log in our case)

PAUSE means that QEMU stops the guest CPUs when the watchdog fires.

Regards,
Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list