autofs-5.0.5 - add try-restart init script action
Implement try-restart init script action to restart the service
only if the service is already running. This action is part of
LSB since version 1.9.
While there, fix some typos and adjust coding style for consistency.
Signed-off-by: Leonardo Chiquitto <[email protected]>
Index: autofs/redhat/autofs.init.in
===================================================================
--- autofs.orig/redhat/autofs.init.in
+++ autofs/redhat/autofs.init.in
@@ -26,7 +26,7 @@ DEVICE="autofs"
initdir=@@initdir@@
confdir=@@autofsconfdir@@
-test -e $DAEMON || exit 0
+test -x $DAEMON || exit 1
if [ -r $initdir/functions ]; then
. $initdir/functions
@@ -36,7 +36,7 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
#
-# load customized configuation settings
+# load customized configuration settings
#
if [ -r $confdir/autofs ]; then
. $confdir/autofs
@@ -44,14 +44,12 @@ fi
function start() {
# Make sure autofs4 module is loaded
- if ! grep -q autofs /proc/filesystems
- then
+ if ! grep -q autofs /proc/filesystems; then
echo -n "Loading $MODULE: "
- # Try load the autofs4 module fail if we can't
- modprobe $MODULE >/dev/null 2>&1
+ # Try to load the autofs4 module and fail if we can't
+ modprobe -q $MODULE >/dev/null 2>&1
RETVAL=$?
- if [ $RETVAL -eq 1 ]
- then
+ if [ $RETVAL -eq 1 ]; then
failure "Load $MODULE"
echo
return $RETVAL
@@ -59,8 +57,7 @@ function start() {
success "Load $MODULE"
echo
fi
- elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]
- then
+ elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]; then
RETVAL=1
failure "Load $MODULE"
echo
@@ -129,7 +126,7 @@ function reload() {
return $RETVAL
fi
pid=`pidof $prog`
- if [ -z $pid ]; then
+ if [ -z "$pid" ]; then
echo $"$prog not running"
RETVAL=1
else
@@ -167,12 +164,13 @@ case "$1" in
reload
;;
condrestart)
+ try-restart)
if [ -f /var/lock/subsys/autofs ]; then
restart
fi
;;
*)
- echo $"Usage: $0
{start|forcestart|stop|status|restart|forcerestart|reload|condrestart}"
+ echo $"Usage: $0
{start|forcestart|stop|status|restart|forcerestart|reload|condrestart|try-restart}"
exit 1;
;;
esac
Index: autofs/samples/rc.autofs.in
===================================================================
--- autofs.orig/samples/rc.autofs.in
+++ autofs/samples/rc.autofs.in
@@ -24,13 +24,13 @@ MODULE="autofs4"
DEVICE="autofs"
confdir=@@autofsconfdir@@
-test -e $DAEMON || exit 0
+test -x $DAEMON || exit 1
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
#
-# load customized configuation settings
+# load customized configuration settings
#
if [ -r $confdir/autofs ]; then
. $confdir/autofs
@@ -40,20 +40,17 @@ function start() {
echo -n "Starting $prog: "
# Make sure autofs4 module is loaded
- if ! grep -q autofs /proc/filesystems
- then
- # Try load the autofs4 module fail if we can't
- modprobe $MODULE >/dev/null 2>&1
- if [ $? -eq 1 ]
- then
- echo "Error: failed to load autofs4 module."
+ if ! grep -q autofs /proc/filesystems; then
+ # Try to load the autofs4 module and fail if we can't
+ modprobe -q $MODULE >/dev/null 2>&1
+ if [ $? -eq 1 ]; then
+ echo "Error: failed to load $MODULE module."
return 1
fi
- elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]
- then
- # wrong autofs filesystem module loaded
+ elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]; then
+ # Wrong (old) autofs filesystem module loaded
echo
- echo "Error: autofs kernel module is loaded, autofs4 required"
+ echo "Error: autofs kernel module is loaded, $MODULE required."
return 1
fi
@@ -109,7 +106,7 @@ function restart() {
function reload() {
pid=`pidof $prog`
- if [ -z $pid ]; then
+ if [ -z "$pid" ]; then
echo $"$prog not running"
RETVAL=1
else
@@ -136,6 +133,11 @@ case "$1" in
restart)
restart
;;
+ try-restart)
+ if [ -n "`pidof $prog`" ]; then
+ restart
+ fi
+ ;;
forcerestart)
OPTIONS="$OPTIONS --force"
restart
@@ -144,7 +146,7 @@ case "$1" in
reload
;;
*)
- echo $"Usage: $0
{start|forcestart|stop|restart|forcerestart|reload}"
+ echo $"Usage: $0
{start|forcestart|stop|restart|try-restart|forcerestart|reload}"
exit 1;
;;
esac
_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs