#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_get.sh 1.12 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)82 1.12 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_get.sh, hacmp.sharedtape, 61haes_r714 4/24/08 19:21:40 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: cl_tape_resource_get # # # # Description: This script is called in order to # # perform a SCSI 'reserve' # # on a specified tape device # # and execute a 'start' script (if specified) # # for a given tape resource. # # # # Called by: cl_tape_resource_get_multi # # # # Calls to: cltape_resource_get # # tape-start script specified on command line # # # # Arguments: tape_device_name # # tape_start_script # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # Main Starts Here # ######################################################################### [ "$VERBOSE_LOGGING" = "high" ] && set -x PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" HA_DIR="$(cl_get_path)" export PATH STATUS=0 if [ $# -ne 1 -a $# -ne 2 ] then cl_echo 6211 "Usage: $PROGNAME tape_device_name [tape_start_script]\n" $PROGNAME exit 2 fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u TAPE_DEVICE_NAME=$1 if [ $# -eq 2 ] then TAPE_START_SCRIPT=$2 else TAPE_START_SCRIPT= fi # Execute cltape_resource_reserve -f -d # i.e. do a forced reserve of the tape device. # If unsuccessful, # log an error and return status. # cltime cltape_resource_reserve -f -d $TAPE_DEVICE_NAME STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6212 \ "cltape_resource_reserve returned ${STATUS}" $STATUS cl_RMupdate resource_error $TAPE_DEVICE_NAME $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 fi exit $STATUS fi # IF there is a tape-start script, # execute # If unsuccessful, # log an error and return status. # if [ ! -z "${TAPE_START_SCRIPT}" ] then $TAPE_START_SCRIPT $TAPE_DEVICE_NAME STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6213 \ "Tape start script '${TAPE_START_SCRIPT}' for '${TAPE_DEVICE_NAME}' returned ${STATUS}" \ $TAPE_START_SCRIPT $TAPE_DEVICE_NAME $STATUS cl_RMupdate resource_error $TAPE_DEVICE_NAME $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 fi exit $STATUS fi fi # Return success. # exit 0