[libvirt] [PATCH 0/6] Add internal APIs for disabling error reporting

Cole Robinson crobinso at redhat.com
Thu Nov 5 18:17:41 UTC 2009

In testing migration, I was hitting an error in the Perform step, but this
was being returned as 'Unknown Error' via virsh. The reason is that even
a failed Perform will call MigrateFinish to do cleanup, but Finish will
always return an NULL == error in that case, overwriting the original message.

I've added internal APIs which allow temporarily disabling error reporting:
any ReportError calls will log the error message, but will not overwrite the
previous error and will not trigger the error callback. These APIs are then
used in a few places where they are needed.


Cole Robinson (6):
  virterror: Make a thread local error state structure
  virterror: Add methods to temporarily disable error reporting.
  qemu: migrate: Disable errors in MigrateFinish if MigratePerform
  Disable errors if Perform failed at the libvirt.c level.
  qemu: Disable errors in qemudShutdownVMDaemon
  virterror: Log reported errors when only logging output is stderr

 src/libvirt.c                 |    5 ++
 src/qemu/qemu_driver.c        |   13 ++++
 src/util/logging.c            |    3 +-
 src/util/virterror.c          |  143 ++++++++++++++++++++++++++++++++---------
 src/util/virterror_internal.h |    2 +
 5 files changed, 135 insertions(+), 31 deletions(-)

More information about the libvir-list mailing list