blob: 2baf73c385cf9b8537d084ff7c5b678e813ea90a [file] [log] [blame]
#!/bin/sh
# nfsmount calls this script when mounting a filesystem with locking
# enabled, but when statd does not seem to be running (based on
# /run/rpc.statd.pid).
# It should run statd with whatever flags are apropriate for this
# site.
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
# Use flock to serialize the running of this script
exec 9> /run/rpc.statd.lock
flock -e 9
if [ -s /run/rpc.statd.pid ] &&
[ 1`cat /run/rpc.statd.pid` -gt 1 ] &&
kill -0 `cat /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.
if systemctl start rpc-statd.service; then
# Ensure systemd knows not to stop rpc.statd or its dependencies
# on 'systemctl isolate ..'
systemctl add-wants --runtime remote-fs.target rpc-statd.service
exit 0
fi
fi
cd /
# Fall back to launching it ourselves.
exec rpc.statd --no-notify