[Cluster-devel] cluster/fence/agents/scsi scsi_reserve
rohara at sourceware.org
rohara at sourceware.org
Fri Dec 1 20:31:33 UTC 2006
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL50
Changes by: rohara at sourceware.org 2006-12-01 20:31:30
Modified files:
fence/agents/scsi: scsi_reserve
Log message:
Fix various bugs, including: variable in if statement needs to be quoted,
return correct exit status, report unregister (stop) failures correctly.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/scsi/scsi_reserve.diff?cvsroot=cluster&only_with_tag=RHEL50&r1=1.1&r2=1.1.4.1
--- cluster/fence/agents/scsi/scsi_reserve 2006/07/12 22:09:37 1.1
+++ cluster/fence/agents/scsi/scsi_reserve 2006/12/01 20:31:30 1.1.4.1
@@ -31,13 +31,15 @@
# get the node name and node addr from cman
#
-node_name=$( cman_tool status | grep "Node name" | awk -F": " '{print $2}' )
-node_addr=$( cman_tool status | grep "Node addr" | awk -F": " '{print $2}' )
+node_name=$( cman_tool status | grep "Node name" | awk -F": " '{ print $2 }' )
+node_addr=$( cman_tool status | grep "Node addr" | awk -F": " '{ print $2 }' )
# create unique key for this host
#
key=$( gethostip -x $node_name )
+###############################################################################
+
case $1 in
start)
@@ -50,13 +52,11 @@
#
for dev in $scsi_devices
do
-
echo -n "Registering device: $dev"
for error in 1
do
sg_persist -d $dev -o -G -S $key &>/dev/null || break
- # sg_persist -d $dev -o -R -K $key -T 5 &>/dev/null || break
error=0
done
@@ -84,12 +84,13 @@
#
for dev in $scsi_devices
do
+ echo -n "Unregistering device: $dev"
+ # check if this node/key is the node/key holding the reservation
+ #
if sg_persist -d $dev -i -r 2>/dev/null | grep -qiE "${key#0}" ; then
- echo "Unable to unregister device: $dev"
error=1
else
- echo -n "Unregistering device: $dev"
for error in 1
do
sg_persist -d $dev -o -G -K $key -S 0 &>/dev/null || break
@@ -108,6 +109,7 @@
done
rm -f /var/lock/subsys/${0##*/}
+
;;
status)
@@ -123,7 +125,7 @@
fi
done
-if [ -z $devices ]; then
+if [ -z "$devices" ]; then
echo "No devices registered."
else
echo "Found ${#devices[@]} registered device(s):"
@@ -136,4 +138,5 @@
esac
-exit $status
+exit $rval
+
More information about the Cluster-devel
mailing list