• D
    Introduce a new event emitted when a virtualization failure occurs · a6135ec1
    Daniel P. Berrange 提交于
    This introduces a new domain
    
      VIR_DOMAIN_EVENT_ID_CONTROL_ERROR
    
    Which uses the existing generic callback
    
    typedef void (*virConnectDomainEventGenericCallback)(virConnectPtr conn,
                                                         virDomainPtr dom,
                                                         void *opaque);
    
    This event is intended to be emitted when there is a failure in
    some part of the domain virtualization system. Whether the domain
    continues to run/exist after the failure is an implementation
    detail specific to the hypervisor.
    
    The idea is that with some types of failure, hypervisors may
    prefer to leave the domain running in a "degraded" mode of
    operation. For example, if something goes wrong with the QEMU
    monitor, it is possible to leave the guest OS running quite
    happily. The mgmt app will simply loose the ability todo various
    tasks. The mgmt app can then choose how/when to deal with the
    failure that occured.
    * daemon/remote.c: Dispatch of new event
    * examples/domain-events/events-c/event-test.c: Demo catch
      of event
    * include/libvirt/libvirt.h.in: Define event ID and callback
    * src/conf/domain_event.c, src/conf/domain_event.h: Internal
      event handling
    * src/remote/remote_driver.c: Receipt of new event from daemon
    * src/remote/remote_protocol.x: Wire protocol for new event
    * src/remote_protocol-structs: add new event for checks
    a6135ec1
domain_event.h 10.5 KB