- Reworked init scripts so service will be able to stop when some of the

checks fail. (bz 462508)
This commit is contained in:
Steve Dickson 2008-09-16 20:29:11 +00:00
parent f5b3ef36df
commit adb2afee96
6 changed files with 85 additions and 76 deletions

View File

@ -2,7 +2,7 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser
Name: nfs-utils Name: nfs-utils
URL: http://sourceforge.net/projects/nfs URL: http://sourceforge.net/projects/nfs
Version: 1.1.3 Version: 1.1.3
Release: 4%{?dist} Release: 5%{?dist}
Epoch: 1 Epoch: 1
# group all 32bit related archs # group all 32bit related archs
@ -265,6 +265,10 @@ fi
%attr(4755,root,root) /sbin/umount.nfs4 %attr(4755,root,root) /sbin/umount.nfs4
%changelog %changelog
* Tue Sep 16 2008 Steve Dickson <steved@redhat.com> 1.1.3-5
- Reworked init scripts so service will be able to
stop when some of the checks fail. (bz 462508)
* Thu Aug 28 2008 Steve Dickson <steved@redhat.com> 1.1.3-4 * Thu Aug 28 2008 Steve Dickson <steved@redhat.com> 1.1.3-4
- Added in a number of up upstream patches (101 thru 110). - Added in a number of up upstream patches (101 thru 110).

View File

@ -14,41 +14,44 @@
. /etc/rc.d/init.d/functions . /etc/rc.d/init.d/functions
# Source networking configuration. # Source networking configuration.
if [ ! -f /etc/sysconfig/network ]; then [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
exit 6
fi
. /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 6
[ -x /usr/sbin/rpc.nfsd ] || exit 5
[ -x /usr/sbin/rpc.mountd ] || exit 5
[ -x /usr/sbin/exportfs ] || exit 5
# Don't fail if /etc/exports doesn't exist; create a bare-bones version and continue.
[ -r /etc/exports ] || \
{ touch /etc/exports && chmod u+rw,g+r,o+r /etc/exports ; } || \
{ echo "/etc/exports does not exist" ; exit 0 ; }
# Check for and source configuration file otherwise set defaults
[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
[ -z "$MOUNTD_NFS_V2" ] && MOUNTD_NFS_V2=default
[ -z "$MOUNTD_NFS_V3" ] && MOUNTD_NFS_V3=default
# Number of servers to be started by default
[ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=8
# Remote quota server
[ -z "$RQUOTAD" ] && RQUOTAD=`type -path rpc.rquotad`
RETVAL=0 RETVAL=0
# See how we were called. # See how we were called.
case "$1" in case "$1" in
start) start)
# Check that networking is up.
[ "${NETWORKING}" != "yes" ] && exit 6
[ -x /usr/sbin/rpc.nfsd ] || exit 5
[ -x /usr/sbin/rpc.mountd ] || exit 5
[ -x /usr/sbin/exportfs ] || exit 5
# Make sure the rpc.mountd is not already running.
if status rpc.mountd > /dev/null ; then
exit 0
fi
# Don't fail if /etc/exports doesn't exist; create a bare-bones
# version and continue.
[ -r /etc/exports ] || \
{ touch /etc/exports && chmod u+rw,g+r,o+r /etc/exports ; } || \
{ echo "/etc/exports does not exist" ; exit 0 ; }
# Check for and source configuration file otherwise set defaults
[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
[ -z "$MOUNTD_NFS_V2" ] && MOUNTD_NFS_V2=default
[ -z "$MOUNTD_NFS_V3" ] && MOUNTD_NFS_V3=default
# Number of servers to be started by default
[ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=8
# Remote quota server
[ -z "$RQUOTAD" ] && RQUOTAD=`type -path rpc.rquotad`
# Start daemons. # Start daemons.
[ -x /usr/sbin/rpc.svcgssd ] && /sbin/service rpcsvcgssd start [ -x /usr/sbin/rpc.svcgssd ] && /sbin/service rpcsvcgssd start

View File

@ -22,17 +22,20 @@ LOCKDARG=""
STATDARG="" STATDARG=""
[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs [ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
. /etc/sysconfig/network [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 6
[ -x /sbin/rpc.statd ] || exit 5
RETVAL=0 RETVAL=0
start() { start() {
if [ ! -f /var/lock/subsys/nfslock ]; then # Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 6
[ -x /sbin/rpc.statd ] || exit 5
# Make sure the rpc.statd is not already running.
if status rpc.statd > /dev/null ; then
exit 0
fi
rm -f /var/lock/subsys/nfslock
# Make sure locks are recovered # Make sure locks are recovered
rm -f /var/run/sm-notify.pid rm -f /var/run/sm-notify.pid
@ -63,7 +66,6 @@ start() {
RETVAL=$? RETVAL=$?
echo echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nfslock
fi
return $RETVAL return $RETVAL
} }

View File

@ -12,24 +12,14 @@
. /etc/init.d/functions . /etc/init.d/functions
# Source networking configuration. # Source networking configuration.
if [ ! -f /etc/sysconfig/network ]; then [ -f /etc/sysconfig/network ]&& . /etc/sysconfig/network
exit 6
fi
. /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 6
[ ! -x /usr/sbin/rpc.gssd ] && exit 5
# Check for and source configuration file otherwise set defaults # Check for and source configuration file otherwise set defaults
[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs [ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
# See if we are configured to start
[ "${SECURE_NFS}" != "yes" ] && exit 6 [ "${SECURE_NFS}" != "yes" ] && exit 6
# List of kernel modules to load
[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
# Try to use machine credentials by default # Try to use machine credentials by default
RETVAL=0 RETVAL=0
LOCKFILE=/var/lock/subsys/rpcgssd LOCKFILE=/var/lock/subsys/rpcgssd
@ -37,14 +27,25 @@ prog="rpc.gssd"
case "$1" in case "$1" in
start|condstart) start|condstart)
# Check that networking is up.
[ "${NETWORKING}" != "yes" ] && exit 6
[ ! -x /usr/sbin/rpc.gssd ] && exit 5
# Make sure the daemon is not already running. # Make sure the daemon is not already running.
if status $prog > /dev/null ; then if status $prog > /dev/null ; then
exit 0 exit 0
fi fi
rm -f $LOCKFILE
# During condstart need to check again to see
# if we are configured to start
[ "${SECURE_NFS}" != "yes" ] && exit 6
rm -f $LOCKFILE
echo -n $"Starting RPC gssd: " echo -n $"Starting RPC gssd: "
# List of kernel modules to load
[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
# Make sure the rpc_pipefs filesystem is available # Make sure the rpc_pipefs filesystem is available
[ "${RPCMTAB}" != "noload" ] && { [ "${RPCMTAB}" != "noload" ] && {
RPCMTAB=`grep -v '^#' /proc/mounts | \ RPCMTAB=`grep -v '^#' /proc/mounts | \

View File

@ -12,15 +12,7 @@
. /etc/init.d/functions . /etc/init.d/functions
# Source networking configuration. # Source networking configuration.
if [ ! -f /etc/sysconfig/network ]; then [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
exit 6
fi
. /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 6
[ ! -x /usr/sbin/rpc.idmapd ] && exit 5
# Check for and source configuration file otherwise set defaults # Check for and source configuration file otherwise set defaults
[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs [ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
@ -31,11 +23,21 @@ prog="rpc.idmapd"
case "$1" in case "$1" in
start|condstart) start|condstart)
# Check that networking is up.
[ "${NETWORKING}" != "yes" ] && exit 6
[ ! -x /usr/sbin/rpc.idmapd ] && exit 5
# Make sure the daemon is not already running. # Make sure the daemon is not already running.
[ "$1" = "condstart" -a -n "`pidofproc $prog`" ] && { [ "$1" = "condstart" -a -n "`pidofproc $prog`" ] && {
killproc $prog "-SIGHUP" > /dev/null killproc $prog "-SIGHUP" > /dev/null
exit 0 exit 0
} }
[ "$1" = "start" ] && {
if status $prog > /dev/null ; then
exit 0
fi
}
rm -f $LOCKFILE rm -f $LOCKFILE
echo -n $"Starting RPC idmapd: " echo -n $"Starting RPC idmapd: "
@ -59,8 +61,6 @@ case "$1" in
} }
} }
# Make sure the mount worked.
# Start daemon. # Start daemon.
daemon $prog ${RPCIDMAPDARGS} daemon $prog ${RPCIDMAPDARGS}
RETVAL=$? RETVAL=$?

View File

@ -12,22 +12,13 @@
. /etc/init.d/functions . /etc/init.d/functions
# Source networking configuration. # Source networking configuration.
if [ ! -f /etc/sysconfig/network ]; then [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
exit 6
fi
. /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 6
[ ! -x /usr/sbin/rpc.svcgssd ] && exit 5
# Check for and source configuration file otherwise set defaults # Check for and source configuration file otherwise set defaults
[ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs [ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
[ "${SECURE_NFS}" != "yes" ] && exit 6
# List of kernel modules to load # See if we are configured to start
[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5" [ "${SECURE_NFS}" != "yes" ] && exit 6
RETVAL=0 RETVAL=0
LOCKFILE=/var/lock/subsys/rpcsvcgssd LOCKFILE=/var/lock/subsys/rpcsvcgssd
@ -35,6 +26,11 @@ prog="rpc.svcgssd"
case "$1" in case "$1" in
start|condstart) start|condstart)
# Check that networking is up.
[ "${NETWORKING}" != "yes" ] && exit 6
[ "${SECURE_NFS}" != "yes" ] && exit 6
[ ! -x /usr/sbin/rpc.svcgssd ] && exit 5
# Make sure the daemon is not already running. # Make sure the daemon is not already running.
if status $prog > /dev/null ; then if status $prog > /dev/null ; then
exit 0 exit 0
@ -42,6 +38,9 @@ case "$1" in
rm -f $LOCKFILE rm -f $LOCKFILE
echo -n $"Starting RPC svcgssd: " echo -n $"Starting RPC svcgssd: "
# List of kernel modules to load
[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
# Make sure the rpc_pipefs filesystem is available # Make sure the rpc_pipefs filesystem is available
[ "${RPCMTAB}" != "noload" ] && { [ "${RPCMTAB}" != "noload" ] && {