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