[libvirt] [PATCHv2 6/6] event: pass reason for PM events
Daniel P. Berrange
berrange at redhat.com
Tue Feb 11 16:04:34 UTC 2014
On Wed, Jan 29, 2014 at 10:49:26AM -0700, Eric Blake wrote:
> Commit 57ddcc23 (v0.9.11) introduced the pmwakeup event, with
> an optional 'reason' field reserved for possible future expansion.
> But it failed to wire the field through RPC, so even if we do
> add a reason in the future, we will be unable to get it back
> to the user.
>
> Worse, commit 7ba5defb (v1.0.0) repeated the same mistake with
> the pmsuspend_disk event.
Urgh I've caught cases of new events not doing that before
and fixed it, guess i missed this one.
>
> As long as we are adding new RPC calls, we might as well fix
> the events to actually match the signature so that we don't have
> to add yet another RPC in the future if we do decide to start
> using the reason field.
>
> * src/remote/remote_protocol.x
> (remote_domain_event_callback_pmwakeup_msg)
> (remote_domain_event_callback_pmsuspend_msg)
> (remote_domain_event_callback_pmsuspend_disk_msg): Add reason
> field.
> * daemon/remote.c (remoteRelayDomainEventPMWakeup)
> (remoteRelayDomainEventPMSuspend)
> (remoteRelayDomainEventPMSuspendDisk): Pass reason to client.
> * src/conf/domain_event.h (virDomainEventPMWakeupNewFromDom)
> (virDomainEventPMSuspendNewFromDom)
> (virDomainEventPMSuspendDiskNewFromDom): Require additional
> parameter.
> * src/conf/domain_event.c (virDomainEventPMClass): New class.
> (virDomainEventPMDispose): New function.
> (virDomainEventPMWakeupNew*, virDomainEventPMSuspendNew*)
> (virDomainEventPMSuspendDiskNew*)
> (virDomainEventDispatchDefaultFunc): Use new class.
> * src/remote/remote_driver.c (remoteDomainBuildEvent*PM*): Pass
> reason through.
> * src/remote_protocol-structs: Regenerate.
>
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list