[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] Cluster Project branch, STABLE2, updated. cluster-2.02.00-30-g25beb8a



This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=25beb8a99636615abd6fca9223fe20b672070b87

The branch, STABLE2 has been updated
       via  25beb8a99636615abd6fca9223fe20b672070b87 (commit)
      from  1ab4aee93103fde81451e3a435944615e36093de (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 25beb8a99636615abd6fca9223fe20b672070b87
Author: Lon Hohberger <lhh redhat com>
Date:   Fri Mar 7 14:26:50 2008 -0500

    [CMAN] Make cman init script start qdiskd intelligently
    
    Resolves qdiskd/cman start ordering so gfs file systems
    are mounted reliably in 1-node+qdisk boot situations.

-----------------------------------------------------------------------

Summary of changes:
 cman/init.d/cman.in |   32 ++++++++++++++++++++++++++++++++
 cman/init.d/qdiskd  |   21 +++++++++++++++++++--
 2 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in
index e357934..a08d4dd 100644
--- a/cman/init.d/cman.in
+++ b/cman/init.d/cman.in
@@ -107,6 +107,35 @@ start_cman()
     return 0
 }
 
+
+start_qdiskd()
+{
+    declare current_runlevel
+
+    current_runlevel=$(/sbin/runlevel 2>/dev/null | awk '{ print $2 }' 2>/dev/null)
+    #
+    # Start qdiskd before fenced to resolve bug #436381.  This only
+    # happens if qdiskd is configured to run in the runlevel we are in
+    #
+    /sbin/chkconfig --levels "$current_runlevel" qdiskd 2>/dev/null
+    if [ $? -ne 0 ]; then
+        # qdiskd doesn't start at this runlevel.
+        return 0
+    fi
+
+    echo -n "   Starting qdiskd... "
+    /sbin/service qdiskd start &> /dev/null
+    if [ $? -eq 0 ] 
+    then
+	echo "done"
+    else
+	echo "failed"
+	return 1
+    fi
+    return 0
+}
+
+
 start_daemons()
 {
     status groupd &> /dev/null
@@ -294,6 +323,9 @@ start()
 	echo "failed"
 	return 1
     fi
+
+    start_qdiskd
+
     echo -n "   Starting daemons... "
     start_daemons
     if [ $? -eq 0 ] 
diff --git a/cman/init.d/qdiskd b/cman/init.d/qdiskd
index f1c02aa..0a2c97a 100755
--- a/cman/init.d/qdiskd
+++ b/cman/init.d/qdiskd
@@ -19,9 +19,26 @@ retries=0
 # See how we were called.
 case "$1" in
   start)
-	action "Starting the Quorum Disk Daemon:" qdiskd -Q
+	echo -n "Starting the Quorum Disk Daemon:"
+
+	$0 status >/dev/null
+	if [ $? -eq 0 ]; then
+		echo_success
+		echo
+		exit 0
+	fi
+
+	qdiskd -Q
 	rtrn=$?
-	[ $rtrn = 0 ] && touch $LOCK_FILE
+	if [ $rtrn = 0 ]; then
+		touch $LOCK_FILE
+		echo_success
+		echo
+	else
+		echo_failure
+		echo
+	fi
+		
 	;;
 
   stop)


hooks/post-receive
--
Cluster Project


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]