Patch 1 fixes ordering of shutdown of the helper daemons
virtlogd/virtlockd.

The rest of the series addresses few issues with locking of disk images
via lockd/sanlock in terms of hotplug to a paused VM.

The patches also prevent combination of automatic disk locking and
blockjobs because it was historically broken and the usage of that is
minimal, we thus just enforce the safe state.

Peter Krempa (14):
  qemu: Ensure proper shutdown ordering of virtlockd/virtlogd daemons
  qemuDomainAttachLease: Directly insert the lease
  Remove virDomainLeaseInsertPreAlloc/virDomainLeaseInsertPreAlloced
  qemu.conf: Explain that no locking happens if 'lock_manager' is unset
  virDomainLeaseDefParseXML: Report error if '<lockspace>' element is
    missing
  virDomainLeaseDefParseXML: Avoid unneeded temporary variables
  qemuxmlconftest: Add <lease> with missing offset
  locking: Debug lockspace creation
  lock_daemon: Log arguments for all dispatched APIs
  lockd driver: Allow registering additional lockspaces for manual
    <lease>s
  qemu: hotplug: Don't acquire lock on hotplugged <lease> when VM is
    paused
  locking: Add API to query whether automatic disk leases are enabled
  qemu: Refuse block jobs if automatic disk leases are enabled in the
    locking plugin
  qemu: Fix lock manager usage for disks

 src/conf/domain_conf.c                        | 38 ++++---------
 src/conf/domain_conf.h                        |  4 +-
 src/libvirt_private.syms                      |  3 +-
 src/locking/libvirt_lockd.aug                 |  8 +++
 src/locking/lock_daemon.c                     |  3 +
 src/locking/lock_daemon_dispatch.c            | 24 +++++++-
 src/locking/lock_driver.h                     | 10 ++++
 src/locking/lock_driver_lockd.c               | 22 ++++++++
 src/locking/lock_driver_sanlock.c             |  9 +++
 src/locking/lock_manager.c                    | 10 ++++
 src/locking/lock_manager.h                    |  2 +
 src/locking/lockd.conf                        | 14 +++++
 src/locking/sanlock.conf                      |  4 ++
 src/locking/test_libvirt_lockd.aug.in         |  4 ++
 src/qemu/qemu.conf.in                         |  5 ++
 src/qemu/qemu_backup.c                        |  2 +-
 src/qemu/qemu_block.c                         |  2 +-
 src/qemu/qemu_checkpoint.c                    |  2 +-
 src/qemu/qemu_domain.c                        | 21 +++----
 src/qemu/qemu_domain.h                        |  3 +-
 src/qemu/qemu_driver.c                        |  4 +-
 src/qemu/qemu_hotplug.c                       | 56 +++++++++++++++----
 src/qemu/qemu_snapshot.c                      | 25 +++++----
 src/qemu/virtqemud.service.extra.in           |  4 ++
 src/remote/libvirtd.service.in                |  4 ++
 src/util/virlockspace.c                       |  6 +-
 tests/qemuxmlconfdata/lease.x86_64-latest.xml |  5 ++
 tests/qemuxmlconfdata/lease.xml               |  5 ++
 28 files changed, 221 insertions(+), 78 deletions(-)

-- 
2.54.0

Reply via email to