summaryrefslogtreecommitdiffstats
path: root/0003-RH-root-init-script.patch
diff options
context:
space:
mode:
authorFabio M. Di Nitto <fabbione@fedoraproject.org>2009-10-27 09:58:59 +0000
committerFabio M. Di Nitto <fabbione@fedoraproject.org>2009-10-27 09:58:59 +0000
commite3b500920bcc632bb5061d679731e25ec0ad57a7 (patch)
tree6bdf9f021f786ad4e4a3624334b28c99f90cd83e /0003-RH-root-init-script.patch
parent58ed7b81e7655b429aae989bc1319c3c1839591a (diff)
Diffstat (limited to '0003-RH-root-init-script.patch')
-rw-r--r--0003-RH-root-init-script.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/0003-RH-root-init-script.patch b/0003-RH-root-init-script.patch
new file mode 100644
index 0000000..c687537
--- /dev/null
+++ b/0003-RH-root-init-script.patch
@@ -0,0 +1,84 @@
+From e6a23cc9de85a66d774567515592bdbdba7b2ca4 Mon Sep 17 00:00:00 2001
+From: Fabio M. Di Nitto <fdinitto@redhat.com>
+Date: Tue, 13 Oct 2009 08:19:01 +0200
+Subject: [PATCH 03/12] RH: root init script
+
+Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
+---
+:100644 100644 ee776f0... e46b1b8... M multipathd/multipathd.init.redhat
+ multipathd/multipathd.init.redhat | 38 ++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 37 insertions(+), 1 deletions(-)
+
+diff --git a/multipathd/multipathd.init.redhat b/multipathd/multipathd.init.redhat
+index ee776f0..e46b1b8 100644
+--- a/multipathd/multipathd.init.redhat
++++ b/multipathd/multipathd.init.redhat
+@@ -2,7 +2,7 @@
+ #
+ # multipathd Starts the multipath daemon
+ #
+-# chkconfig: - 13 87
++# chkconfig: - 06 87
+ # description: Manages device-mapper multipath devices
+
+ ### BEGIN INIT INFO
+@@ -17,6 +17,7 @@ prog=`basename $DAEMON`
+ initdir=/etc/rc.d/init.d
+ lockdir=/var/lock/subsys
+ sysconfig=/etc/sysconfig
++syspath=/sys/block
+
+
+ . $initdir/functions
+@@ -25,6 +26,36 @@ test -r $sysconfig/$prog && . $sysconfig/$prog
+
+ RETVAL=0
+
++teardown_slaves()
++{
++pushd $1 > /dev/null
++if [ -d "slaves" ]; then
++for slave in slaves/*;
++do
++ if [ "$slave" = "slaves/*" ]; then
++ read dev < $1/dev
++ tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"`
++ if ! [ -z $tablename ]; then
++ echo "Root is on a multipathed device, multipathd can not be stopped"
++ exit 1
++ fi
++ else
++ local_slave=`readlink -f $slave`;
++ teardown_slaves $local_slave;
++ fi
++ done
++
++else
++ read dev < $1/dev
++ tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"`
++ if ! [ -z $tablename ]; then
++ echo "Root is on a multipathed device, multipathd can not be stopped"
++ exit 1
++ fi
++fi
++popd > /dev/null
++}
++
+ #
+ # See how we were called.
+ #
+@@ -39,6 +70,11 @@ start() {
+ }
+
+ 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
++
+ echo -n $"Stopping $prog daemon: "
+ killproc $DAEMON
+ RETVAL=$?
+--
+1.6.5.1
+