summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael David Tinoco <rafael.tinoco@canonical.com>2017-02-15 10:26:55 -0500
committerSteve Dickson <steved@redhat.com>2017-02-15 10:41:59 -0500
commit907426b00bdcd69d9a56ac1870990e8ae8c6fe9f (patch)
tree2b527113cb7c14d2a4ce0e892bbd62021731ae16
parenta15bd948606bf4816bf819c0b0c75761f3eb6359 (diff)
downloadnfs-utils-907426b00bdcd69d9a56ac1870990e8ae8c6fe9f.tar.gz
nfs-utils-907426b00bdcd69d9a56ac1870990e8ae8c6fe9f.tar.xz
nfs-utils-907426b00bdcd69d9a56ac1870990e8ae8c6fe9f.zip
systemd: Fix nfs-mountd dependency on rpcbind
Following commit 91da135f - it replaced "rpcbind.target" by "rpcbind.socket" in some unit files - "rpcbind.socket" should also be added to "nfs-mountd.service" as a dependency to avoid race conditions. Usually "rpcbind.socket" is either started as a "sockets.target" dependency, or as a dependency for "nfs-server.service", when unit files include it in "BindsTo" or "After". Unfortunately there is a possilibility to have "nfs-mountd.service" started when the rpcbind socket is not yet created: systemd[1]: Starting NFS Mount Daemon... systemd[1]: nfs-mountd.service: Control process exited, code=exited status=1 systemd[1]: Failed to start NFS Mount Daemon. systemd[1]: nfs-mountd.service: Unit entered failed state. systemd[1]: nfs-mountd.service: Failed with result 'exit-code'. Nowadays "nfs-mountd.service" uses "BindTo" directive to "nfs-server.service". That, per se, doesn't guarantee ordering for NFS server to start rpcbind and for nfs-mountd to depend on it. https://bugs.launchpad.net/bugs/1590799 Reviewed-by: NeilBrown <neilb@suse.com> Signed-off-by: Rafael David Tinoco <rafael.tinoco@canonical.com> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--systemd/nfs-mountd.service1
1 files changed, 1 insertions, 0 deletions
diff --git a/systemd/nfs-mountd.service b/systemd/nfs-mountd.service
index 15e828b..b0a8bc0 100644
--- a/systemd/nfs-mountd.service
+++ b/systemd/nfs-mountd.service
@@ -4,6 +4,7 @@ DefaultDependencies=no
Requires=proc-fs-nfsd.mount
After=proc-fs-nfsd.mount
After=network.target local-fs.target
+After=rpcbind.socket
BindsTo=nfs-server.service
[Service]