Introducing implementation of node device event APIs. Code changes
follow network/storage pool event APIs.
Implemented functions: virNodeDeviceEventRegisterAny(),
virNodeDeviceEventDeregisterAny(), virNodeDeviceLifeCycleEventNew(),
introduced CREATED and DELETED.
There are also test as well as unittests for the new functions and signals.
This is part of a GSOC project: Asynchronous lifecycle events for storage objects
Jovanka Gulicoska (9):
Introduce node device lifecycle event APIs
conf: add node_device_event handling
conf: events: don't crash on NULL uuid
test: implement node device lifecycle event APIs
remote: implement node device lifecycle event APIs
node_device: implement node device lifecycle event APIs
node_device: Implement event queue in udev
event-test: support node device lifecycle event APIs
virsh: Introduce nodedev-event command
daemon/libvirtd.h | 2 +
daemon/remote.c | 206 ++++++++++++++++++++++++++++++
examples/object-events/event-test.c | 68 ++++++++++
include/libvirt/libvirt-nodedev.h | 90 ++++++++++++++
po/POTFILES.in | 1 +
src/Makefile.am | 5 +
src/conf/node_device_conf.h | 4 +
src/conf/node_device_event.c | 234 +++++++++++++++++++++++++++++++++++
src/conf/node_device_event.h | 59 +++++++++
src/conf/object_event.c | 3 +-
src/datatypes.h | 13 ++
src/driver-nodedev.h | 14 +++
src/libvirt-nodedev.c | 127 +++++++++++++++++++
src/libvirt_private.syms | 5 +
src/libvirt_public.syms | 6 +
src/node_device/node_device_driver.c | 42 +++++++
src/node_device/node_device_driver.h | 10 ++
src/node_device/node_device_udev.c | 24 ++++
src/remote/remote_driver.c | 139 +++++++++++++++++++++
src/remote/remote_protocol.x | 43 ++++++-
src/remote_protocol-structs | 19 +++
src/test/test_driver.c | 49 ++++++++
tests/objecteventtest.c | 72 +++++++++++
tools/virsh-nodedev.c | 211 +++++++++++++++++++++++++++++++
tools/virsh-nodedev.h | 10 ++
tools/virsh.pod | 18 +++
26 files changed, 1472 insertions(+), 2 deletions(-)
create mode 100644 src/conf/node_device_event.c
create mode 100644 src/conf/node_device_event.h
--
2.7.4