[packages/lvm2] use upstream fixes for long systemd shutdown times

atler atler at pld-linux.org
Mon Apr 22 18:50:24 CEST 2019


commit 15e56835a9bffb0e0458bf37bfd038ac4adfe72f
Author: Jan Palus <atler at pld-linux.org>
Date:   Mon Apr 22 18:49:01 2019 +0200

    use upstream fixes for long systemd shutdown times

 lvm2-systemd_shutdown.patch | 197 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 191 insertions(+), 6 deletions(-)
---
diff --git a/lvm2-systemd_shutdown.patch b/lvm2-systemd_shutdown.patch
index 3b7fe02..d9c13dd 100644
--- a/lvm2-systemd_shutdown.patch
+++ b/lvm2-systemd_shutdown.patch
@@ -1,11 +1,196 @@
-diff -urN LVM2.2.02.183.orig/scripts/lvm2_lvmetad_systemd_red_hat.service.in LVM2.2.02.183/scripts/lvm2_lvmetad_systemd_red_hat.service.in
---- LVM2.2.02.183.orig/scripts/lvm2_lvmetad_systemd_red_hat.service.in	2019-04-01 11:51:35.674457454 +0200
-+++ LVM2.2.02.183/scripts/lvm2_lvmetad_systemd_red_hat.service.in	2019-04-01 11:52:14.364195746 +0200
-@@ -5,6 +5,7 @@
+From 0a726a7e268b31856615491809af73bda5d4d6f9 Mon Sep 17 00:00:00 2001
+From: Peter Rajnoha <prajnoha at redhat.com>
+Date: Tue, 9 Apr 2019 12:40:55 +0200
+Subject: [PATCH] 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
+---
+ WHATS_NEW                                                  | 1 +
+ scripts/blk_availability_systemd_red_hat.service.in        | 1 +
+ scripts/lvm2_activation_generator_systemd_red_hat.c        | 2 ++
+ scripts/lvm2_cluster_activation_systemd_red_hat.service.in | 1 +
+ scripts/lvm2_clvmd_systemd_red_hat.service.in              | 2 +-
+ scripts/lvm2_cmirrord_systemd_red_hat.service.in           | 2 +-
+ scripts/lvm2_lvmetad_systemd_red_hat.service.in            | 1 +
+ scripts/lvm2_lvmetad_systemd_red_hat.socket.in             | 2 --
+ scripts/lvm2_lvmpolld_systemd_red_hat.service.in           | 1 +
+ scripts/lvm2_lvmpolld_systemd_red_hat.socket.in            | 2 --
+ scripts/lvm2_monitoring_systemd_red_hat.service.in         | 2 +-
+ 11 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/scripts/blk_availability_systemd_red_hat.service.in b/scripts/blk_availability_systemd_red_hat.service.in
+index 9462072..05fe2ee 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 487582f..f85a28f 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 bf4aa1e..6a966b3 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 ced2774..2af365f 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 e482b9a..fc73aea 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 92e6d69..960f32d 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 2663c72..3201537 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 4ad4e61..a06cbe9 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 0537d7f..743669e 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 ebc069e..4bf87a0 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
+ 
+-- 
+2.9.3
+
+From 03d6cfdd99fb1c2fd85721ab6faebbb1b6658873 Mon Sep 17 00:00:00 2001
+From: Peter Rajnoha <prajnoha at redhat.com>
+Date: Thu, 11 Apr 2019 12:22:27 +0200
+Subject: [PATCH] systemd: put back DefaultDependencies=no for lvmpolld and
+ lvmetad socket unit
+
+Previous commit 0a726a7e268b31856615491809af73bda5d4d6f9 removed this
+by mistake - we have to keep the DefaultDependencies=no - the
+sockets.target is after sysinit.target.
+---
+ scripts/lvm2_lvmetad_systemd_red_hat.socket.in  | 2 ++
+ scripts/lvm2_lvmpolld_systemd_red_hat.socket.in | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/scripts/lvm2_lvmetad_systemd_red_hat.socket.in b/scripts/lvm2_lvmetad_systemd_red_hat.socket.in
+index 3201537..2663c72 100644
+--- a/scripts/lvm2_lvmetad_systemd_red_hat.socket.in
++++ b/scripts/lvm2_lvmetad_systemd_red_hat.socket.in
+@@ -1,6 +1,8 @@
+ [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.socket.in b/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in
+index 743669e..0537d7f 100644
+--- a/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in
++++ b/scripts/lvm2_lvmpolld_systemd_red_hat.socket.in
+@@ -1,6 +1,8 @@
+ [Unit]
+ Description=LVM2 poll daemon socket
+ Documentation=man:lvmpolld(8)
++DefaultDependencies=no
++Conflicts=shutdown.target
  
- [Service]
- Type=simple
+ [Socket]
+ ListenStream=@DEFAULT_RUN_DIR@/lvmpolld.socket
+-- 
+2.9.3
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/lvm2.git/commitdiff/15e56835a9bffb0e0458bf37bfd038ac4adfe72f



More information about the pld-cvs-commit mailing list