Blob Blame History Raw
diff -up nfs-utils-1.3.0/utils/statd/start-statd.orig nfs-utils-1.3.0/utils/statd/start-statd
--- nfs-utils-1.3.0/utils/statd/start-statd.orig	2016-04-14 14:16:47.608999000 -0400
+++ nfs-utils-1.3.0/utils/statd/start-statd	2016-04-26 11:04:26.019962000 -0400
@@ -1,4 +1,4 @@
-#!/bin/bash -p
+#!/bin/sh
 # nfsmount calls this script when mounting a filesystem with locking
 # enabled, but when statd does not seem to be running (based on
 # /var/run/rpc.statd.pid).
@@ -6,11 +6,19 @@
 # site.
 PATH="/sbin:/usr/sbin:/bin:/usr/bin"
 
+if [ -s /var/run/rpc.statd.pid ] &&
+       [ 1`cat /var/run/rpc.statd.pid` -gt 1 ] &&
+       kill -0 `cat /var/run/rpc.statd.pid` > /dev/null 2>&1
+then
+    # statd already running - must have been slow to respond.
+    exit 0
+fi
 # First try systemd if it's installed.
 if [ -d /run/systemd/system ]; then
-	# Quit only if the call worked.
-	systemctl start rpc-statd.service && exit
+    # Quit only if the call worked.
+    systemctl start rpc-statd.service && exit
 fi
 
+cd /
 # Fall back to launching it ourselves.
 exec rpc.statd --no-notify