[Cluster-devel] Cluster Project branch, STABLE2, updated. cluster-2.02.00-30-g25beb8a
lhh at sourceware.org
lhh at sourceware.org
Mon Mar 31 15:10:00 UTC 2008
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 at 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
More information about the Cluster-devel
mailing list