[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 0/4] libvirtd: fix hang on termination in qemu driver



Libvirtd termination can hang. For example if some API call in qemu
driver awaiting monitor response it will never finish because event
loop does not functional during termination. As a result we hang
in virNetDaemonClose call during termination as this call finishes RPC
threads.

Let's ask hypervisor drivers to finish all API calls by calling
introduced state driver shutdown function before call to virNetDaemonClose.

Nikolay Shirokovskiy (4):
  libvirt: introduce hypervisor driver shutdown function
  qemu: implement state driver shutdown function
  qemu: agent: fix monitor close during first sync
  qemu: monitor: check monitor not closed upon send

 daemon/libvirtd.c        |  2 ++
 src/driver-state.h       |  4 ++++
 src/libvirt.c            | 18 ++++++++++++++++++
 src/libvirt_internal.h   |  1 +
 src/libvirt_private.syms |  1 +
 src/qemu/qemu_agent.c    | 14 +++++++-------
 src/qemu/qemu_driver.c   | 39 +++++++++++++++++++++++++++++++++++++++
 src/qemu/qemu_monitor.c  | 27 +++++++++++++--------------
 8 files changed, 85 insertions(+), 21 deletions(-)

-- 
1.8.3.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]