Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 24e278e14a25367b8cb2fce8af484abd > files > 173

cman-2.0.115-96.el5_8.3.src.rpm

commit c4dbd04e08080515c797258f561453acc4bbefb8
Author: Ryan O'Hara <rohara@redhat.com>
Date:   Mon Oct 12 09:30:08 2009 -0500

    CMAN: scsi_reserve init script correctly report failures
    
    This patch adds the use of the 'failure' function to the common code
    (portions of script run for every operation) such that it correctly
    reports failures.
    
    rhbz#514260

diff --git a/fence/agents/scsi/scsi_reserve b/fence/agents/scsi/scsi_reserve
index 3662b02..2f10abc 100755
--- a/fence/agents/scsi/scsi_reserve
+++ b/fence/agents/scsi/scsi_reserve
@@ -8,17 +8,53 @@
 
 . /etc/init.d/functions
 
+case $1 in
+
+    start)
+	echo -n "Starting scsi_reserve:"
+	;;
+
+    stop)
+	echo -n "Stopping scsi_reserve:"
+	;;
+
+    restart)
+	echo -n "Restarting scsi_reserve:"
+	;;
+
+    status)
+	;;
+
+    *)
+	echo $"Usage: $0 {start|stop|restart|status}"
+	exit 1
+	;;
+
+esac
+
 # read in config file if it exists
 #
 if [ -f /etc/sysconfig/scsi_reserve ] ; then
     . /etc/sysconfig/scsi_reserve
 fi
 
+# check for sg_persist command provided by sg3_utils package
+#
+if ! sg_persist -V &> /dev/null ; then
+    logger -t scsi_reserve \
+	"[error] unable to exec sg_persist"
+    failure
+    echo
+    exit 1
+fi
+
 # check if cluster is configured for fence_scsi
 #
 if ! fence_scsi_test -t fence ; then
     logger -t scsi_reserve \
 	"[error] cluster not configured for scsi reservations"
+    failure
+    echo
     exit 1
 fi
 
@@ -27,14 +63,8 @@ fi
 if ! fence_scsi_test -t nodes ; then
     logger -t scsi_reserve \
 	"[error] cluster must define nodeid for all nodes"
-    exit 1
-fi
-
-# check for sg_persist command provided by sg3_utils package
-#
-if ! sg_persist -V &> /dev/null ; then
-    logger -t scsi_reserve \
-	"[error] unable to exec sg_persist"
+    failure
+    echo
     exit 1
 fi
 
@@ -43,6 +73,8 @@ fi
 if ! cman_tool status &> /dev/null ; then
     logger -t scsi_reserve \
 	"[error] cman does not appear to be running"
+    failure
+    echo
     exit 1
 fi
 
@@ -56,6 +88,7 @@ pv_devices=$( vgs --noheadings --options vg_attr,pv_name \
 if [ -z "$pv_devices" ] ; then
     logger -t scsi_reserve \
 	"[error] did not find devices in cluster volumes"
+    failure
     exit 1
 fi
 
@@ -78,8 +111,9 @@ do
 	    dm_devices="$dm_devices $( ls /sys/block/${pv_dev:5}/slaves/ )"
 	else
 	    logger -t scsi_reserve \
-	    "[error] $dev is not a multipath device"
-	exit 1
+		"[error] $dev is not a multipath device"
+	    failure
+	    exit 1
 	fi
     else
 	sg_devices="$sg_devices $pv_dev"
@@ -99,6 +133,7 @@ cluster_id=$( cman_tool status | grep -i "Cluster ID" \
 if [ -z "$cluster_id" ] ; then
     logger -s -t scsi_reserve \
 	"[error] unable to determine cluster id"
+    failure
     exit 1
 fi
 
@@ -110,6 +145,7 @@ node_id=$( cman_tool status | grep -i "Node ID" \
 if [ -z "$node_id" ] ; then
     logger -t scsi_reserve \
 	"[error] unable to determine node id"
+    failure
     exit 1
 fi
 
@@ -120,6 +156,7 @@ key=$( printf "%x%.4x" $cluster_id $node_id )
 if [ -z "$key" ] ; then
     logger -t scsi_reserve \
 	"[error] unable to generate key"
+    failure
     exit 1
 fi
 
@@ -132,7 +169,7 @@ case $1 in
 	error=0
 	count=0
 
-	echo -n "Starting scsi_reserve:"
+	# echo -n "Starting scsi_reserve:"
 
 	for dev in $sg_devices
 	do
@@ -194,7 +231,7 @@ case $1 in
 	error=0
 	count=0
 
-	echo -n "Stopping scsi_reserve:"
+	# echo -n "Stopping scsi_reserve:"
 
 	for dev in $sg_devices
 	do
@@ -242,7 +279,7 @@ case $1 in
 	error=0
 	count=0
 
-	echo -n "Retarting scsi_reserve:"
+	# echo -n "Restarting scsi_reserve:"
 
 	for dev in $sg_devices
 	do