summaryrefslogtreecommitdiffstats
path: root/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'systemd')
-rw-r--r--systemd/Makefile.am5
-rw-r--r--systemd/gluster-block-target.service14
-rw-r--r--systemd/gluster-blockd.service.in6
3 files changed, 21 insertions, 4 deletions
diff --git a/systemd/Makefile.am b/systemd/Makefile.am
index 2cdda4c..bbec9d4 100644
--- a/systemd/Makefile.am
+++ b/systemd/Makefile.am
@@ -2,11 +2,12 @@ DISTCLEANFILES = Makefile.in gluster-blockd.service
CLEANFILES = *~ gluster-blockd.service
-EXTRA_DIST = gluster-blockd.service.in gluster-blockd.sysconfig
+EXTRA_DIST = gluster-blockd.service.in gluster-block-target.service \
+ gluster-blockd.sysconfig
if USE_SYSTEMD
# systemddir is already defined through configure.ac
-systemd_DATA = gluster-blockd.service
+systemd_DATA = gluster-blockd.service gluster-block-target.service
endif
install-data-local:
diff --git a/systemd/gluster-block-target.service b/systemd/gluster-block-target.service
new file mode 100644
index 0000000..a509ec3
--- /dev/null
+++ b/systemd/gluster-block-target.service
@@ -0,0 +1,14 @@
+# This file is part of gluster-block.
+#
+# This is a wrapper unit over target.service which ensures that
+# tcmu-runner.service is running which intern has a check to see if
+# glusterd.service is active
+#
+
+.include /usr/lib/systemd/system/target.service
+
+[Unit]
+Conflicts=target.service
+Requisite=glusterd.service
+BindsTo=tcmu-runner.service
+After=glusterd.service tcmu-runner.service
diff --git a/systemd/gluster-blockd.service.in b/systemd/gluster-blockd.service.in
index e6881ff..7a422df 100644
--- a/systemd/gluster-blockd.service.in
+++ b/systemd/gluster-blockd.service.in
@@ -1,7 +1,9 @@
[Unit]
Description=Gluster block storage utility
-Requires=rpcbind.service target.service tcmu-runner.service
-After=rpcbind.service target.service tcmu-runner.service
+Requisite=glusterd.service
+Requires=rpcbind.service
+BindsTo=gluster-block-target.service
+After=gluster-block-target.service
[Service]
Type=simple