All of lore.kernel.org
 help / color / mirror / Atom feed
* master - lvmlockd: improve systemd service file
@ 2018-09-13 14:55 David Teigland
  0 siblings, 0 replies; only message in thread
From: David Teigland @ 2018-09-13 14:55 UTC (permalink / raw)
  To: lvm-devel

Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=297f6d51228d0f0d5debca9e95785f3623e0ef9d
Commit:        297f6d51228d0f0d5debca9e95785f3623e0ef9d
Parent:        1365f0d4c8f977cd3e426708891ee8d39ffe6527
Author:        David Teigland <teigland@redhat.com>
AuthorDate:    Thu Sep 13 09:52:39 2018 -0500
Committer:     David Teigland <teigland@redhat.com>
CommitterDate: Thu Sep 13 09:52:39 2018 -0500

lvmlockd: improve systemd service file

use notify type so the daemon is ready
immediately after start.
---
 daemons/lvmlockd/Makefile.in                     |    8 ++++++++
 daemons/lvmlockd/lvmlockd-core.c                 |    8 ++++++++
 scripts/lvm2_lvmlockd_systemd_red_hat.service.in |    9 +++------
 3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/daemons/lvmlockd/Makefile.in b/daemons/lvmlockd/Makefile.in
index 6dcc207..01abaca 100644
--- a/daemons/lvmlockd/Makefile.in
+++ b/daemons/lvmlockd/Makefile.in
@@ -15,6 +15,8 @@ srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 top_builddir = @top_builddir@
 
+USE_SD_NOTIFY=yes
+
 SOURCES = lvmlockd-core.c
 
 ifeq ("@BUILD_LOCKDSANLOCK@", "yes")
@@ -40,6 +42,12 @@ INCLUDES += -I$(top_srcdir)/libdaemon/server
 LDFLAGS += -L$(top_builddir)/libdaemon/server $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS)
 LIBS += $(RT_LIBS) $(DAEMON_LIBS) $(PTHREAD_LIBS)
 
+
+ifeq ($(USE_SD_NOTIFY),yes)
+	CFLAGS += $(shell pkg-config --cflags libsystemd) -DUSE_SD_NOTIFY
+	LDFLAGS += $(shell pkg-config --libs libsystemd)
+endif
+
 lvmlockd: $(OBJECTS) $(top_builddir)/libdaemon/client/libdaemonclient.a \
 		    $(top_builddir)/libdaemon/server/libdaemonserver.a
 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LOCK_LIBS) -ldaemonserver $(INTERNAL_LIBS) $(LIBS)
diff --git a/daemons/lvmlockd/lvmlockd-core.c b/daemons/lvmlockd/lvmlockd-core.c
index d6ff8cc..6490b40 100644
--- a/daemons/lvmlockd/lvmlockd-core.c
+++ b/daemons/lvmlockd/lvmlockd-core.c
@@ -35,6 +35,10 @@
 #include <sys/utsname.h>
 #include <sys/un.h>
 
+#ifdef USE_SD_NOTIFY
+#include <systemd/sd-daemon.h>
+#endif
+
 #define EXTERN
 #include "lvmlockd-internal.h"
 
@@ -5786,6 +5790,10 @@ static int main_loop(daemon_state *ds_arg)
 	setup_worker_thread();
 	setup_restart();
 
+#ifdef USE_SD_NOTIFY
+	sd_notify(0, "READY=1");
+#endif
+
 	/*
 	 * Attempt to rejoin lockspaces and adopt locks from a previous
 	 * instance of lvmlockd that left behind lockspaces/locks.
diff --git a/scripts/lvm2_lvmlockd_systemd_red_hat.service.in b/scripts/lvm2_lvmlockd_systemd_red_hat.service.in
index 2a7544a..efe489a 100644
--- a/scripts/lvm2_lvmlockd_systemd_red_hat.service.in
+++ b/scripts/lvm2_lvmlockd_systemd_red_hat.service.in
@@ -1,13 +1,10 @@
 [Unit]
-Description=LVM2 lock daemon
+Description=LVM lock daemon
 Documentation=man:lvmlockd(8)
-After=lvm2-lvmetad.service
 
 [Service]
-Type=simple
-NonBlocking=true
-ExecStart=@SBINDIR@/lvmlockd -f
-Environment=SD_ACTIVATION=1
+Type=notify
+ExecStart=@SBINDIR@/lvmlockd --foreground
 PIDFile=@LVMLOCKD_PIDFILE@
 SendSIGKILL=no
 



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-09-13 14:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-13 14:55 master - lvmlockd: improve systemd service file David Teigland

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.