#!/bin/sh # # zfcp_disk_configure # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # Configures a zfcp SCSI disk by calling the IBM-provided chzdev command. # Whereas this script used to validate the parameters provided to it, # we now rely on chzdev to do that instead. The script is intended only # as a "translation layer" to provide backward compatability for older # scripts and tools that invoke it. # # Usage: # zfcp_disk_configure # # ccwid = x.y.ssss where # x is always 0 until IBM creates something that uses that number # y is the logical channel subsystem (lcss) number. Most often # this is 0, but it could be non-zero # ssss is the four digit subchannel address of the device, in # hexidecimal, with leading zeros. # online = 0 to take the device offline # 1 to bring the device online # # Return values: # Return codes are determined by the chzdev command. # mesg () { echo "$@" } debug_mesg () { case "${DEBUG}" in yes) mesg "$@" ;; *) ;; esac } usage(){ echo "Usage: ${0} " echo " ccwid = x.y.ssss where" echo " x is always 0 until IBM creates something that uses that number" echo " y is the logical channel subsystem (lcss) number. Most often" echo " this is 0, but it could be non-zero" echo " ssss is the four digit subchannel address of the device, in" echo " hexidecimal, with leading zeros." echo " online = 0 to take the device offline" echo " 1 to bring the device online" } if [ "${DEBUG}" != "yes" ]; then DEBUG="no" fi CCW_CHAN_ID=${1} FCP_WWPN="${2}" FCP_LUN="${3}" ON_OFF=${4} # normalise to lower case FCP_WWPN=$(echo ${FCP_WWPN} | tr "A-Z" "a-z") FCP_LUN=$(echo ${FCP_LUN} | tr "A-Z" "a-z") if [ "${ON_OFF}" == 0 ]; then debug_mesg "chzdev -d zfcp-lun --no-root-update ${CCW_CHAN_ID}:${FCP_WWPN}:${FCP_LUN}" chzdev -d zfcp-lun --no-root-update ${CCW_CHAN_ID}:${FCP_WWPN}:${FCP_LUN} elif [ "${ON_OFF}" == 1 ]; then debug_mesg "chzdev -e zfcp-lun --no-root-update ${CCW_CHAN_ID}:${FCP_WWPN}:${FCP_LUN}" chzdev -e zfcp-lun --no-root-update ${CCW_CHAN_ID}:${FCP_WWPN}:${FCP_LUN} else mesg "You must specify a 0 or a 1 for the online/offline attribute." usage exit 1 fi