File 1b0c42ff-libvirtd-depend-machined.patch of Package libvirt.8367

commit 1b0c42ff7af3026b7986f81989dece0da53c8b5d
Author: Michal Koutný <mkoutny@suse.com>
Date:   Wed Jan 10 23:06:41 2018 +0100

    libvirtd: Explicit dependency on systemd-machined
    
    The libvirtd daemon uses systemd-machined D-Bus API when manipulating
    domains. The systemd-machined is D-Bus activated on demand.
    
    However, during system shutdown systemd-machined is stopped concurrently
    with libvirtd and virsh users also doing their final cleanup may
    transitively fail due to unavailability of systemd-machined. Example
    error message
    
    > libvirtd[1390]: 2017-12-20 18:55:56.182+0000: 32700: error : virSystemdTerminateMachine:503 : Refusing activation, D-Bus is shutting down.
    
    To circumvent this we need to explicitly specify both ordering and
    requirement dependency (to avoid late D-Bus activation) on
    systemd-machined. See [1] for the dependency debate.
    
    [1] https://lists.freedesktop.org/archives/systemd-devel/2018-January/040095.html

Index: libvirt-4.0.0/daemon/libvirtd.service.in
===================================================================
--- libvirt-4.0.0.orig/daemon/libvirtd.service.in
+++ libvirt-4.0.0/daemon/libvirtd.service.in
@@ -7,6 +7,7 @@
 Description=Virtualization daemon
 Requires=virtlogd.socket
 Requires=virtlockd.socket
+Wants=systemd-machined.service
 Before=libvirt-guests.service
 After=network.target
 After=dbus.service
@@ -14,6 +15,7 @@ After=iscsid.service
 After=apparmor.service
 After=local-fs.target
 After=remote-fs.target
+After=systemd-machined.service
 Documentation=man:libvirtd(8)
 Documentation=https://libvirt.org