We already provide ways to detect when a domain has been paused as a
result of I/O error, but there was no way of getting the exact error or
even the device that experienced it. This new API may be used for both.
Changes in version 3:
- special case errors == NULL, maxerrors == 0 returns size of the array
the caller should pass
- explicitly document that disks with no error are not returned and that
the caller must free disk names
- explicitly document what happens when maxerrors is lower then the
actual number of disk errors
- maxerrors turned unsigned
- the first patch was split into two (public API and RPC)
- python binding is back
Changes in version 2:
- the API is now called virDomainGetDiskErrors
- it returns a list (allocated by caller) of disks with errors instead
so that users don't have to call it multiple times to get all errors
- there's no python API yet since it can't be autogenerated; I'll send
a patch for it tomorrow
Jiri Denemark (5):
virDomainGetDiskErrors public API
Remote protocol for virDomainGetDiskErrors
qemu: Implement virDomainGetDiskErrors
virsh: Implement domblkerror command
python: Add binding for virDomainGetDiskErrors
daemon/remote.c | 103 +++++++++++++++++++++++++++++++++++++++
include/libvirt/libvirt.h.in | 32 ++++++++++++
python/generator.py | 3 +-
python/libvirt-override-api.xml | 6 ++
python/libvirt-override.c | 50 +++++++++++++++++++
src/driver.h | 7 +++
src/libvirt.c | 65 ++++++++++++++++++++++++
src/libvirt_public.syms | 1 +
src/qemu/qemu_conf.h | 1 +
src/qemu/qemu_driver.c | 86 ++++++++++++++++++++++++++++++++
src/qemu/qemu_monitor.c | 40 +++++++++++++++
src/qemu/qemu_monitor.h | 1 +
src/qemu/qemu_monitor_json.c | 8 +++
src/qemu/qemu_monitor_text.c | 15 ++++++
src/remote/remote_driver.c | 77 +++++++++++++++++++++++++++++
src/remote/remote_protocol.x | 23 ++++++++-
src/remote_protocol-structs | 17 ++++++
tools/virsh.c | 78 +++++++++++++++++++++++++++++
tools/virsh.pod | 7 +++
19 files changed, 618 insertions(+), 2 deletions(-)
--
1.7.8.4