#!/sbin/openrc-run
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs

depend() {
	local myneed=""
	if [ -e /etc/fstab ] ; then
		myneed="${myneed} $(
			awk '!/^[[:space:]]*#/ && ($3 == "nfs" || $3 == "nfs4") {
					if ($3 == "nfs4")
						idmapd = "rpc.idmapd"
					if ($4 ~ /sec=(krb|spkm)/)
						gssd = "rpc.gssd"
				}
				END { print idmapd " " gssd }
				' /etc/fstab
			)"
	fi
	config /etc/fstab
	need portmap rpc.statd ${myneed}
	use ypbind dns rpc.idmapd rpc.gssd
}

start() {
	if [ -x /usr/sbin/sm-notify ] ; then
		ebegin "Starting NFS sm-notify"
		/usr/sbin/sm-notify ${OPTS_SMNOTIFY}
		eend $?
	fi

	# Make sure nfs support is loaded in the kernel #64709
	if [ -e /proc/modules ] && ! grep -qs 'nfs$' /proc/filesystems ; then
		modprobe -q nfs
	fi

	ebegin "Mounting NFS filesystems"
	mount -a -t nfs,nfs4
	eend $?
}

stop() {
	ebegin "Unmounting NFS filesystems"
	umount -a -t nfs,nfs4
	eend $?
}
