summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--systemd/README11
-rw-r--r--systemd/nfs-blkmap.service2
-rw-r--r--systemd/nfs-idmapd.service2
-rw-r--r--systemd/nfs-mountd.service1
-rw-r--r--systemd/nfs-utils.service17
-rw-r--r--systemd/rpc-gssd.service2
-rw-r--r--systemd/rpc-statd-notify.service2
-rw-r--r--systemd/rpc-statd.service2
-rw-r--r--systemd/rpc-svcgssd.service1
9 files changed, 40 insertions, 0 deletions
diff --git a/systemd/README b/systemd/README
index f0fb688..58a4aca 100644
--- a/systemd/README
+++ b/systemd/README
@@ -29,6 +29,17 @@ by a suitable 'preset' setting:
If enabled, then blkmapd will be run when nfs-client.target is
started.
+Another special unit is "nfs-utils.service". This doesn't really do
+anything, but exists so that other units may declare themselves as
+"PartOf" nfs-utils.service.
+The effect of this is that
+ systemctl restart nfs-utils
+will restart all nfs-utils daemons as maybe be required during
+software update. It isn't possible to make
+ systemctl try-restart nfs-server nfs-client.target
+do this as some daemon are included in both, and rpc.statd would
+not be restarted if nfs-server were not active (as nfs-client doesn't
+Want it - it is started by mount.nfs running start-statd).
It is possible that we should have an nfs-statd.target which can
selectively enable statd being stared by -server and sm-notify
diff --git a/systemd/nfs-blkmap.service b/systemd/nfs-blkmap.service
index 7319a88..80033f2 100644
--- a/systemd/nfs-blkmap.service
+++ b/systemd/nfs-blkmap.service
@@ -6,6 +6,8 @@ Requires=var-lib-nfs-rpc_pipefs.mount
Requisite=nfs-blkmap.target
After=nfs-blkmap.target
+PartOf=nfs-utils.service
+
[Service]
Type=forking
ExecStart=/usr/sbin/blkmapd
diff --git a/systemd/nfs-idmapd.service b/systemd/nfs-idmapd.service
index 6c2e153..7d0dd84 100644
--- a/systemd/nfs-idmapd.service
+++ b/systemd/nfs-idmapd.service
@@ -1,6 +1,8 @@
[Unit]
Description=NFSv4 ID-name mapping service
+PartOf=nfs-utils.service
+
[Service]
EnvironmentFile=-/run/sysconfig/nfs-utils
ExecStartPre=-/usr/lib/systemd/scritps/nfs-utils_env.sh
diff --git a/systemd/nfs-mountd.service b/systemd/nfs-mountd.service
index 92e05ca..90746a8 100644
--- a/systemd/nfs-mountd.service
+++ b/systemd/nfs-mountd.service
@@ -4,6 +4,7 @@ Requires=proc-fs-nfsd.mount
After=proc-fs-nfsd.mount
After=network.target
PartOf=nfs-server.service
+PartOf=nfs-utils.service
[Service]
EnvironmentFile=-/run/sysconfig/nfs-utils
diff --git a/systemd/nfs-utils.service b/systemd/nfs-utils.service
new file mode 100644
index 0000000..54b6314
--- /dev/null
+++ b/systemd/nfs-utils.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=NFS server and client services
+# This service should never be stopped, only restarted.
+# When it is re-started, all other services which declare
+# themselves to be "PartOf" this service will also be
+# restarted. Thus
+# systemctl restart nfs-utils
+# will restart all daemons which are part of nfs-utils
+# and which are running. This is useful after a software
+# update.
+
+# This is a "service" rather than "target" so that we
+# don't need to say "systemctl restart nfs-utils.target".
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/bin/true
diff --git a/systemd/rpc-gssd.service b/systemd/rpc-gssd.service
index f0fef00..c25f5c0 100644
--- a/systemd/rpc-gssd.service
+++ b/systemd/rpc-gssd.service
@@ -6,6 +6,8 @@ After=var-lib-nfs-rpc_pipefs.mount
Requisite=nfs-secure.target
After=nfs-secure.target
+PartOf=nfs-utils.service
+
[Service]
EnvironmentFile=-/run/sysconfig/nfs-utils
ExecStartPre=-/usr/lib/systemd/scritps/nfs-utils_env.sh
diff --git a/systemd/rpc-statd-notify.service b/systemd/rpc-statd-notify.service
index 9d972fc..532354d 100644
--- a/systemd/rpc-statd-notify.service
+++ b/systemd/rpc-statd-notify.service
@@ -8,6 +8,8 @@ After=network-online.target nss-lookup.target
# tell clients that it has restarted.
After=nfs-server.service
+PartOf=nfs-utils.service
+
[Service]
EnvironmentFile=-/run/sysconfig/nfs-utils
ExecStartPre=/usr/lib/systemd/scritps/nfs-utils_env.sh
diff --git a/systemd/rpc-statd.service b/systemd/rpc-statd.service
index 04962e5..88d2527 100644
--- a/systemd/rpc-statd.service
+++ b/systemd/rpc-statd.service
@@ -4,6 +4,8 @@ DefaultDependencies=no
Requires=nss-lookup.target rpcbind.target
After=network.target nss-lookup.target rpcbind.target
+PartOf=nfs-utils.service
+
[Service]
EnvironmentFile=-/run/sysconfig/nfs-utils
ExecStartPre=-/usr/lib/systemd/scritps/nfs-utils_env.sh
diff --git a/systemd/rpc-svcgssd.service b/systemd/rpc-svcgssd.service
index f024d40..fa169e7 100644
--- a/systemd/rpc-svcgssd.service
+++ b/systemd/rpc-svcgssd.service
@@ -3,6 +3,7 @@ Description=RPC security service for NFS server
Requires=var-lib-nfs-rpc_pipefs.mount
After=var-lib-nfs-rpc_pipefs.mount
PartOf=nfs-server.service
+PartOf=nfs-utils.service
Requisite=nfs-secure.target
After=nfs-secure.target