This is the mail archive of the
cluster-cvs@sourceware.org
mailing list for the cluster.
Cluster Project branch, RHEL5, updated. cmirror_1_1_15-26-gc1b276c
- From: lhh at sourceware dot org
- To: cluster-cvs at sources dot redhat dot com, cluster-devel at redhat dot com
- Date: 31 Mar 2008 15:08:44 -0000
- Subject: Cluster Project branch, RHEL5, updated. cmirror_1_1_15-26-gc1b276c
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=c1b276c491b0d6e625035b5063532abc3ce23ca4
The branch, RHEL5 has been updated
via c1b276c491b0d6e625035b5063532abc3ce23ca4 (commit)
from 5cd4597c0fd297414389f5cab77a115425570d8a (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 c1b276c491b0d6e625035b5063532abc3ce23ca4
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 | 32 ++++++++++++++++++++++++++++++++
cman/init.d/qdiskd | 21 +++++++++++++++++++--
2 files changed, 51 insertions(+), 2 deletions(-)
diff --git a/cman/init.d/cman b/cman/init.d/cman
index be26226..e138798 100755
--- a/cman/init.d/cman
+++ b/cman/init.d/cman
@@ -97,6 +97,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
@@ -255,6 +284,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