This is a second version of the series updated according to the comments. It still does not check if any device finished unplug while libvirtd was not running but I'm working on it and it can be applied separately. Jiri Denemark (8): qemu: Separate char device removal into a standalone function Add VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED event examples: Handle VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED event Clarify virDomainDetachDeviceFlags documentation Add virDomainDefFindDevice for looking up a device by its alias qemu: Add support for DEVICE_DELETED event qemu: Remove devices only after DEVICE_DELETED event qemu: Emit VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED events daemon/remote.c | 32 ++++ examples/domain-events/events-c/event-test.c | 23 ++- examples/domain-events/events-python/event-test.py | 4 + include/libvirt/libvirt.h.in | 18 ++ python/libvirt-override-virConnect.py | 9 + python/libvirt-override.c | 52 +++++- src/conf/domain_conf.c | 41 +++++ src/conf/domain_conf.h | 4 + src/conf/domain_event.c | 85 +++++++-- src/conf/domain_event.h | 5 + src/libvirt.c | 16 ++ src/libvirt_private.syms | 3 + src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_domain.c | 4 + src/qemu/qemu_domain.h | 3 + src/qemu/qemu_hotplug.c | 201 ++++++++++++++++++++- src/qemu/qemu_hotplug.h | 7 + src/qemu/qemu_monitor.c | 13 ++ src/qemu/qemu_monitor.h | 5 + src/qemu/qemu_monitor_json.c | 15 ++ src/qemu/qemu_process.c | 32 ++++ src/remote/remote_driver.c | 32 ++++ src/remote/remote_protocol.x | 13 +- src/remote_protocol-structs | 5 + tests/qemuhotplugtest.c | 3 + 26 files changed, 599 insertions(+), 29 deletions(-) -- 1.8.3.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list