Setting up an HP SIM server 6.0 or greater on a Linux-based Serviceguard Cluster White Paper 444847-004, February 2010

36
# Limit the number of parallel umounts to
# CONCURRENT_MOUNT_AND_UMOUNT_OPERATIONS
typeset pids_list
while (( L > 0 ))
do
j=0
while (( j < CONCURRENT_MOUNT_AND_UMOUNT_OPERATIONS && L > 0 ))
do
(( L = L
-
1 ))
K=${FS[$L]}
I=${LV[$L]}
mount | g
rep
-
e " "$K" " > /dev/null 2>&1
if (( $? == 0 ))
then
echo "$(date '+%b %e %T')
-
Node
\
"$(hostname)
\
": Unmounting
filesystem on $K"
(
result=$(umount ${FS_UMOUNT_OPT[$L]} $K 2>&1)
ret=$?
if (( ret != 0 ))
the
n
case $result in
*not*mounted*)
(( ret = 0 ))
;;
*)
echo "WARNING: Running fuser to remove anyone using the
file system directly."
;;
esac
fi
UM_COUNT=$UM_CNT
while (( ret != 0 && $UM_COUNT > 0 ))
do
fuser
-
kuvm $I
umount ${FS_UMOUNT_OPT[$L]} $K
ret=$?
(( UM_COUNT = $UM_COUNT
-
1 ))
if (( $ret != 0 )
)
then
if (( $UM_COUNT > 0 ))
then
echo "$(date '+%b %e %T')
-
WARNING: Unmount
failed, trying again."
sleep 1
fi
fi
done
return $ret
)&
# save the process id and name of logical volume to be
used later
# while checking the exit status
pids_list[$j]="$!"
(( j = j + 1 ))
fi
done