[libvirt PATCH v2 00/12] Automatic mutex management

Tim Wiederhake posted 12 patches 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20210910104554.21040-1-twiederh@redhat.com
src/bhyve/bhyve_driver.c           |   4 +-
src/conf/backup_conf.c             |   2 +-
src/conf/checkpoint_conf.c         |   2 +-
src/conf/cpu_conf.c                |   2 +-
src/conf/domain_conf.c             | 140 ++++++++++++++---------------
src/conf/interface_conf.c          |   8 +-
src/conf/netdev_vlan_conf.c        |   2 +-
src/conf/network_conf.c            |  14 +--
src/conf/networkcommon_conf.c      |   2 +-
src/conf/node_device_conf.c        |  42 ++++-----
src/conf/numa_conf.c               |   6 +-
src/conf/snapshot_conf.c           |   2 +-
src/conf/storage_adapter_conf.c    |   2 +-
src/conf/storage_conf.c            |   4 +-
src/conf/storage_encryption_conf.c |   4 +-
src/conf/storage_source_conf.c     |   2 +-
src/conf/virchrdev.c               |  12 ++-
src/conf/virsavecookie.c           |   2 +-
src/cpu/cpu_map.c                  |   4 +-
src/cpu/cpu_x86.c                  |   2 +-
src/internal.h                     |   3 +
src/libvirt_private.syms           |   4 +
src/lxc/lxc_domain.c               |   2 +-
src/lxc/lxc_driver.c               |   6 +-
src/qemu/qemu_capabilities.c       |   2 +-
src/qemu/qemu_domain.c             |   8 +-
src/qemu/qemu_domainjob.c          |   2 +-
src/qemu/qemu_migration_cookie.c   |   8 +-
src/util/glibcompat.h              |  19 ++++
src/util/virobject.c               |  16 ++++
src/util/virobject.h               |  24 +++++
src/util/virthread.c               |  26 ++++++
src/util/virthread.h               |  30 +++++++
src/util/virxml.h                  |   4 +-
34 files changed, 265 insertions(+), 147 deletions(-)

[libvirt PATCH v2 00/12] Automatic mutex management

Posted by Tim Wiederhake 2 weeks ago
V1: https://listman.redhat.com/archives/libvir-list/2021-August/msg00823.html

Changes since V1:

* Replaced vir_g_auto* macros with redefinitions of g_auto* if compiled with
  clang (patch 1).
* Split up VIR_XPATH_NODE_AUTORESTORE simplification differently (patches 2
  and 3).
* Added virObjectLockGuard / VIR_WITH_OBJECT_LOCK_GUARD for automatic
  mutex management of virObjectLockable variables.
* Used different set of example cleanups (patches 9 - 12).

Regards,
Tim

Tim Wiederhake (12):
  glibcompat: Add G_GNUC_UNUSED to g_auto* definitions for clang
  virxml: Simplify VIR_XPATH_NODE_AUTORESTORE
  VIR_XPATH_NODE_AUTORESTORE: Require semicolon
  internal: Add CONCAT macro
  virthread: Introduce virLockGuard
  virthread: Introduce VIR_WITH_MUTEX_LOCK_GUARD
  virobject: Introduce virObjectLockGuard
  virobject: Introduce VIR_WITH_OBJECT_LOCK_GUARD
  virChrdevFDStreamCloseCb: Use virLockGuardNew
  virChrdevFree: Use VIR_WITH_MUTEX_LOCK
  bhyveAutostartDomain: Use virObjectLockGuard
  lxcDomainDetachDeviceHostdevUSBLive: Use VIR_WITH_OBJECT_LOCK_GUARD

 src/bhyve/bhyve_driver.c           |   4 +-
 src/conf/backup_conf.c             |   2 +-
 src/conf/checkpoint_conf.c         |   2 +-
 src/conf/cpu_conf.c                |   2 +-
 src/conf/domain_conf.c             | 140 ++++++++++++++---------------
 src/conf/interface_conf.c          |   8 +-
 src/conf/netdev_vlan_conf.c        |   2 +-
 src/conf/network_conf.c            |  14 +--
 src/conf/networkcommon_conf.c      |   2 +-
 src/conf/node_device_conf.c        |  42 ++++-----
 src/conf/numa_conf.c               |   6 +-
 src/conf/snapshot_conf.c           |   2 +-
 src/conf/storage_adapter_conf.c    |   2 +-
 src/conf/storage_conf.c            |   4 +-
 src/conf/storage_encryption_conf.c |   4 +-
 src/conf/storage_source_conf.c     |   2 +-
 src/conf/virchrdev.c               |  12 ++-
 src/conf/virsavecookie.c           |   2 +-
 src/cpu/cpu_map.c                  |   4 +-
 src/cpu/cpu_x86.c                  |   2 +-
 src/internal.h                     |   3 +
 src/libvirt_private.syms           |   4 +
 src/lxc/lxc_domain.c               |   2 +-
 src/lxc/lxc_driver.c               |   6 +-
 src/qemu/qemu_capabilities.c       |   2 +-
 src/qemu/qemu_domain.c             |   8 +-
 src/qemu/qemu_domainjob.c          |   2 +-
 src/qemu/qemu_migration_cookie.c   |   8 +-
 src/util/glibcompat.h              |  19 ++++
 src/util/virobject.c               |  16 ++++
 src/util/virobject.h               |  24 +++++
 src/util/virthread.c               |  26 ++++++
 src/util/virthread.h               |  30 +++++++
 src/util/virxml.h                  |   4 +-
 34 files changed, 265 insertions(+), 147 deletions(-)

-- 
2.31.1