[dm-devel] [PATCH] multipath: update redhat multipathd init script

Benjamin Marzinski bmarzins at redhat.com
Mon May 17 19:02:47 UTC 2010


This patch adds the requested force-stop and force-restart to the init
script. It also keeps the init script for printing annoying error messages,
while checking the root device.

Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
---
 multipathd/multipathd.init.redhat |   37 +++++++++++++++++++++++++++++--------
 1 file changed, 29 insertions(+), 8 deletions(-)

Index: multipath-tools-100510/multipathd/multipathd.init.redhat
===================================================================
--- multipath-tools-100510.orig/multipathd/multipathd.init.redhat
+++ multipath-tools-100510/multipathd/multipathd.init.redhat
@@ -7,6 +7,10 @@
 
 ### BEGIN INIT INFO
 # Provides: multipathd
+# Required-Start:
+# Required-Stop:
+# Default-Start:
+# Default-Stop:
 # Short-Description: Control multipathd
 # Description: This service monitors and manages
 #              device-mapper multipath devices
@@ -69,12 +73,7 @@ start() {
 	echo
 }
 
-stop() {
-        root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab)
-	dm_num=`dmsetup info -c --noheadings -o minor $root_dev`
-	root_dm_device="dm-$dm_num"
-	[ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device
-
+force_stop() {
 	echo -n $"Stopping $prog daemon: "
 	killproc $DAEMON
 	RETVAL=$?
@@ -82,10 +81,26 @@ stop() {
 	echo
 }
 
+stop() {
+        root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab)
+	dm_num=`dmsetup info -c --noheadings -o minor $root_dev 2> /dev/null`
+	if [ $? -eq 0 ]; then
+		root_dm_device="dm-$dm_num"
+		[ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device
+	fi
+
+	force_stop
+}
+
 restart() {
 	stop
 	start
-}	
+}
+
+force_restart() {
+	force_stop
+	start
+}
 
 reload() {
 	echo -n "Reloading $prog: "
@@ -102,12 +117,18 @@ start)
 stop)
 	stop
 	;;
+force-stop)
+	force_stop
+	;;
 force-reload|reload)
 	reload
 	;;
 restart)
 	restart
 	;;
+force-restart)
+	force_restart
+	;;
 condrestart|try-restart)
 	if [ -f $lockdir/$prog ]; then
 	    restart
@@ -118,7 +139,7 @@ status)
 	RETVAL=$?
 	;;
 *)
-	echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+	echo $"Usage: $0 {start|stop|force-stop|status|restart|force-restart|condrestart|reload}"
 	RETVAL=2
 esac
 




More information about the dm-devel mailing list