diff --git a/WHATS_NEW b/WHATS_NEW index 1d9032dfa5..814873e5a7 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.185 - ================================== + Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. Version 2.02.184 - 22nd March 2019 ================================== diff --git a/scripts/blk_availability_systemd_red_hat.service.in b/scripts/blk_availability_systemd_red_hat.service.in index 9462072ccc..05fe2eee5b 100644 --- a/scripts/blk_availability_systemd_red_hat.service.in +++ b/scripts/blk_availability_systemd_red_hat.service.in @@ -1,5 +1,6 @@ [Unit] Description=Availability of block devices +Before=shutdown.target After=lvm2-activation.service lvm2-lvmetad.service iscsi-shutdown.service iscsi.service iscsid.service fcoe.service rbdmap.service DefaultDependencies=no Conflicts=shutdown.target diff --git a/scripts/lvm2_activation_generator_systemd_red_hat.c b/scripts/lvm2_activation_generator_systemd_red_hat.c index 487582f1df..f85a28fe04 100644 --- a/scripts/lvm2_activation_generator_systemd_red_hat.c +++ b/scripts/lvm2_activation_generator_systemd_red_hat.c @@ -127,6 +127,8 @@ static int generate_unit(const char *dir, int unit, int sysinit_needed) "SourcePath=/etc/lvm/lvm.conf\n" "DefaultDependencies=no\n", f); + fputs("Conflicts=shutdown.target\n", f); + if (unit == UNIT_NET) { fprintf(f, "After=%s iscsi.service fcoe.service rbdmap.service\n" "Before=remote-fs-pre.target shutdown.target\n\n" diff --git a/scripts/lvm2_cluster_activation_systemd_red_hat.service.in b/scripts/lvm2_cluster_activation_systemd_red_hat.service.in index bf4aa1eca6..6a966b3a5d 100644 --- a/scripts/lvm2_cluster_activation_systemd_red_hat.service.in +++ b/scripts/lvm2_cluster_activation_systemd_red_hat.service.in @@ -1,6 +1,7 @@ [Unit] Description=Clustered LVM volumes activation service Requires=lvm2-clvmd.service +Before=shutdown.target After=lvm2-clvmd.service lvm2-cmirrord.service OnFailure=lvm2-clvmd.service DefaultDependencies=no diff --git a/scripts/lvm2_clvmd_systemd_red_hat.service.in b/scripts/lvm2_clvmd_systemd_red_hat.service.in index ced27744e0..2af365f700 100644 --- a/scripts/lvm2_clvmd_systemd_red_hat.service.in +++ b/scripts/lvm2_clvmd_systemd_red_hat.service.in @@ -2,7 +2,7 @@ Description=Clustered LVM daemon Documentation=man:clvmd(8) After=dlm.service corosync.service -Before=remote-fs-pre.target +Before=remote-fs-pre.target shutdown.target Requires=network.target dlm.service corosync.service RefuseManualStart=true RefuseManualStop=true diff --git a/scripts/lvm2_cmirrord_systemd_red_hat.service.in b/scripts/lvm2_cmirrord_systemd_red_hat.service.in index e482b9a99e..fc73aea4e9 100644 --- a/scripts/lvm2_cmirrord_systemd_red_hat.service.in +++ b/scripts/lvm2_cmirrord_systemd_red_hat.service.in @@ -3,7 +3,7 @@ Description=Clustered LVM mirror log daemon Documentation=man:cmirrord(8) Requires=corosync.service After=corosync.service -Before=remote-fs-pre.target +Before=remote-fs-pre.target shutdown.target DefaultDependencies=no Conflicts=shutdown.target diff --git a/scripts/lvm2_lvmetad_systemd_red_hat.service.in b/scripts/lvm2_lvmetad_systemd_red_hat.service.in index 92e6d695f1..960f32dab7 100644 --- a/scripts/lvm2_lvmetad_systemd_red_hat.service.in +++ b/scripts/lvm2_lvmetad_systemd_red_hat.service.in @@ -2,6 +2,7 @@ Description=LVM2 metadata daemon Documentation=man:lvmetad(8) Requires=lvm2-lvmetad.socket +Before=shutdown.target After=lvm2-lvmetad.socket DefaultDependencies=no Conflicts=shutdown.target diff --git a/scripts/lvm2_lvmetad_systemd_red_hat.socket.in b/scripts/lvm2_lvmetad_systemd_red_hat.socket.in index 2663c72451..32015376f9 100644 --- a/scripts/lvm2_lvmetad_systemd_red_hat.socket.in +++ b/scripts/lvm2_lvmetad_systemd_red_hat.socket.in @@ -1,8 +1,6 @@ [Unit] Description=LVM2 metadata daemon socket Documentation=man:lvmetad(8) -DefaultDependencies=no -Conflicts=shutdown.target [Socket] ListenStream=@DEFAULT_RUN_DIR@/lvmetad.socket diff --git a/scripts/lvm2_lvmpolld_systemd_red_hat.service.in b/scripts/lvm2_lvmpolld_systemd_red_hat.service.in index 4ad4e61990..a06cbe985f 100644 --- a/scripts/lvm2_lvmpolld_systemd_red_hat.service.in +++ b/scripts/lvm2_lvmpolld_systemd_red_hat.service.in @@ -2,6 +2,7 @@ Description=LVM2 poll daemon Documentation=man:lvmpolld(8) Requires=lvm2-lvmpolld.socket +Before=shutdown.target After=lvm2-lvmpolld.socket DefaultDependencies=no Conflicts=shutdown.target diff --git a/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in b/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in index 0537d7f3a0..743669eec8 100644 --- a/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in +++ b/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in @@ -1,8 +1,6 @@ [Unit] Description=LVM2 poll daemon socket Documentation=man:lvmpolld(8) -DefaultDependencies=no -Conflicts=shutdown.target [Socket] ListenStream=@DEFAULT_RUN_DIR@/lvmpolld.socket diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in index ebc069e250..4bf87a0dd1 100644 --- a/scripts/lvm2_monitoring_systemd_red_hat.service.in +++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in @@ -3,7 +3,7 @@ Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progres Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8) Requires=dm-event.socket lvm2-lvmetad.socket After=dm-event.socket dm-event.service lvm2-lvmetad.socket lvm2-activation.service lvm2-lvmetad.service -Before=local-fs-pre.target +Before=local-fs-pre.target shutdown.target DefaultDependencies=no Conflicts=shutdown.target