[libvirt] [PATCH v2 0/6] Fixes for segfault and deadlock

Marc Hartmayer mhartmay at linux.ibm.com
Tue Jul 3 11:37:32 UTC 2018


One way to reproduce the bugs is to set admin_max_workers=0 in
libvirtd.conf, restart libvirtd, and then call:

 $ virt-admin server-threadpool-info admin

Changelog:
 v1->v2:
  - Worked in Daniel Berrangé's comments that:
    1. max_workers=0 should not be allowed for the libvirtd (patch 3)
    2. it shouldn't be allowed to switch between zero and non-zero
       max_workers (patch 4)
  - Changed the deadlock fix (patch 1)
  - Added two small fixes (patch 5 and 6)  

Marc Hartmayer (6):
  rpc: Fix deadlock if there is no worker pool available
  rpc: Initialize a worker pool for max_workers=0 as well
  virThreadPool: Prevent switching between zero and non-zero maxWorkers
  daemon: Raise an error if 'max_workers' < 1 in libvirtd.conf
  virt-admin: Fix two error messages
  rpc: Fix name of include guard

 src/libvirt_private.syms          |  4 ++
 src/remote/remote_daemon_config.c |  5 +++
 src/rpc/virnetserver.c            | 28 ++++++++------
 src/rpc/virnetserverprogram.h     |  4 +-
 src/util/virthreadpool.c          | 81 ++++++++++++++++++++++++++++++---------
 src/util/virthreadpool.h          |  8 ++++
 tools/virt-admin.c                |  5 ++-
 7 files changed, 101 insertions(+), 34 deletions(-)

-- 
2.13.4




More information about the libvir-list mailing list