summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2019-04-09 12:10:17 +0200
committerPeter Rajnoha <prajnoha@redhat.com>2019-04-09 12:24:37 +0200
commit0cab341e1d0e8f9089d3c62d3adbec24dfd5e124 (patch)
tree7a3f8cc88cd24137eb287186ea925721feb1112f /scripts
parent344a9e9afd9f9038f53887e55e721033d1dc3b65 (diff)
downloadlvm2-0cab341e1d0e8f9089d3c62d3adbec24dfd5e124.tar.gz
systemd: add missing Before=shutdown.target to LVM2 services to fix shutdown ordering
We already used Conflicts=shutdown target to stop LVM2 services on shutdown. But we still missed the ordering - the shutdown.target should be reached only after all the services are really stopped. Reported here: https://github.com/lvmteam/lvm2/issues/17
Diffstat (limited to 'scripts')
-rw-r--r--scripts/blk_availability_systemd_red_hat.service.in1
-rw-r--r--scripts/lvm2_activation_generator_systemd_red_hat.c2
-rw-r--r--scripts/lvm2_cmirrord_systemd_red_hat.service.in2
-rw-r--r--scripts/lvm2_lvmpolld_systemd_red_hat.service.in1
-rw-r--r--scripts/lvm2_lvmpolld_systemd_red_hat.socket.in2
-rw-r--r--scripts/lvm2_monitoring_systemd_red_hat.service.in2
6 files changed, 6 insertions, 4 deletions
diff --git a/scripts/blk_availability_systemd_red_hat.service.in b/scripts/blk_availability_systemd_red_hat.service.in
index da332c243..82d3b82d0 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 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 f906f082f..0f4ac8da2 100644
--- a/scripts/lvm2_activation_generator_systemd_red_hat.c
+++ b/scripts/lvm2_activation_generator_systemd_red_hat.c
@@ -139,6 +139,8 @@ static int generate_unit(struct generator *gen, int unit)
"Documentation=man:lvm2-activation-generator(8)\n"
"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_cmirrord_systemd_red_hat.service.in b/scripts/lvm2_cmirrord_systemd_red_hat.service.in
index e482b9a99..fc73aea4e 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_lvmpolld_systemd_red_hat.service.in b/scripts/lvm2_lvmpolld_systemd_red_hat.service.in
index 4ad4e6199..a06cbe985 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 0537d7f3a..743669eec 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 7ec4e4e37..4bf744a7f 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
After=dm-event.socket dm-event.service lvm2-activation.service
-Before=local-fs-pre.target
+Before=local-fs-pre.target shutdown.target
DefaultDependencies=no
Conflicts=shutdown.target