On Tue, Jan 28, 2025 at 05:28:16PM +0100, Peter Krempa wrote: > Report any stored I/O error messages reported by the hypervisor when > reporting messages of a domain. As the I/O error may be already stale we > report also the timestamp when it was recorded. > > Example message: > > I/O error: disk='vda', index='1', path='/dev/mapper/errdev0', timestamp='2025-01-28 15:47:52.776+0000', message'Input/output error' > > Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> > --- > include/libvirt/libvirt-domain.h | 3 ++ > src/conf/domain_conf.c | 50 ++++++++++++++++++++++++++++++++ > src/conf/domain_conf.h | 5 ++++ > src/libvirt_private.syms | 1 + > src/libxl/libxl_driver.c | 3 +- > src/qemu/qemu_driver.c | 15 +++++++++- > src/test/test_driver.c | 3 +- > 7 files changed, 77 insertions(+), 3 deletions(-) > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index 8327e7079c..50733a5b3a 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -19821,9 +19821,11 @@ qemuDomainGetMessages(virDomainPtr dom, > g_autoptr(GPtrArray) m = g_ptr_array_new_with_free_func(g_free); > virDomainObj *vm = NULL; > int rv = -1; > + qemuDomainObjPrivate *priv; > > virCheckFlags(VIR_DOMAIN_MESSAGE_DEPRECATION | > - VIR_DOMAIN_MESSAGE_TAINTING, -1); > + VIR_DOMAIN_MESSAGE_TAINTING | > + VIR_DOMAIN_MESSAGE_IOERRORS, -1); > > if (!(vm = qemuDomainObjFromDomain(dom))) > return -1; > @@ -19831,8 +19833,19 @@ qemuDomainGetMessages(virDomainPtr dom, > if (virDomainGetMessagesEnsureACL(dom->conn, vm->def) < 0) > goto cleanup; > > + priv = vm->privateData; > + > virDomainObjGetMessages(vm, m, flags); > > + if (priv->backup) { && (!flags || (flags & VIR_DOMAIN_MESSAGE_IOERRORS)) with that Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> > + size_t i; > + > + for (i = 0; i < priv->backup->ndisks; i++) > + virDomainObjGetMessagesIOErrorsChain(priv->backup->disks[i].store, > + priv->backup->disks[i].name, > + m); > + } With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|