From 49a23aa4261a896303d7923d5c94c9840739022f Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Fri, 12 Sep 2014 09:57:13 +0200 Subject: [PATCH] cms/cmssetup.sh: fixed indention (cherry picked from commit d68163551226d302677e358e721560d8d651a30f) --- modules.d/80cms/cmssetup.sh | 260 ++++++++++++++++++------------------ 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/modules.d/80cms/cmssetup.sh b/modules.d/80cms/cmssetup.sh index c9e13314..7dd481b5 100755 --- a/modules.d/80cms/cmssetup.sh +++ b/modules.d/80cms/cmssetup.sh @@ -44,147 +44,147 @@ function dasd_settle() { } function dasd_settle_all() { - for dasdccw in $(while read line; do echo ${line%%(*}; done < /proc/dasd/devices) ; do + for dasdccw in $(while read line; do echo "${line%%(*}"; done < /proc/dasd/devices) ; do if ! dasd_settle $dasdccw ; then echo $"Could not access DASD $dasdccw in time" return 1 fi done return 0 - } +} # prints a canonocalized device bus ID for a given devno of any format - function canonicalize_devno() - { - case ${#1} in - 3) echo "0.0.0${1}" ;; - 4) echo "0.0.${1}" ;; - *) echo "${1}" ;; - esac - return 0 - } +function canonicalize_devno() +{ + case ${#1} in + 3) echo "0.0.0${1}" ;; + 4) echo "0.0.${1}" ;; + *) echo "${1}" ;; + esac + return 0 +} # read file from CMS and write it to /tmp - function readcmsfile() # $1=dasdport $2=filename - { - local dev - local numcpus - local devname - local ret=0 - if [ $# -ne 2 ]; then return; fi +function readcmsfile() # $1=dasdport $2=filename +{ + local dev + local numcpus + local devname + local ret=0 + if [ $# -ne 2 ]; then return; fi # precondition: udevd created dasda block device node - if ! dasd_cio_free -d $1 ; then - echo $"DASD $1 could not be cleared from device blacklist" - return 1 - fi + if ! dasd_cio_free -d $1 ; then + echo $"DASD $1 could not be cleared from device blacklist" + return 1 + fi - modprobe dasd_mod dasd=$CMSDASD - modprobe dasd_eckd_mod - udevadm settle + modprobe dasd_mod dasd=$CMSDASD + modprobe dasd_eckd_mod + udevadm settle # precondition: dasd_eckd_mod driver incl. dependencies loaded, # dasd_mod must be loaded without setting any DASD online - dev=$(canonicalize_devno $1) - numcpus=$( - while read line; do - if strstr "$line" "# processors"; then - echo ${line##*:}; - break; - fi; - done < /proc/cpuinfo - ) - - if [ ${numcpus} -eq 1 ]; then - echo 1 > /sys/bus/ccw/devices/$dev/online - else - if ! sysecho /sys/bus/ccw/devices/$dev/online 1; then - echo $"DASD $dev could not be set online" - return 1 - fi - udevadm settle - if ! dasd_settle $dev ; then - echo $"Could not access DASD $dev in time" - return 1 - fi + dev=$(canonicalize_devno $1) + numcpus=$( + while read line; do + if strstr "$line" "# processors"; then + echo ${line##*:}; + break; + fi; + done < /proc/cpuinfo + ) + + if [ ${numcpus} -eq 1 ]; then + echo 1 > /sys/bus/ccw/devices/$dev/online + else + if ! sysecho /sys/bus/ccw/devices/$dev/online 1; then + echo $"DASD $dev could not be set online" + return 1 fi - udevadm settle + if ! dasd_settle $dev ; then + echo $"Could not access DASD $dev in time" + return 1 + fi + fi - devname=$(cd /sys/bus/ccw/devices/$dev/block; set -- *; [ -b /dev/$1 ] && echo $1) - devname=${devname:-dasda} + udevadm settle - [[ -d /mnt ]] || mkdir /mnt - if cmsfs-fuse --to=UTF-8 -a /dev/$devname /mnt; then - cat /mnt/$2 > /run/initramfs/$2 - umount /mnt || umount -l /mnt - udevadm settle - else - echo $"Could not read conf file $2 on CMS DASD $1." - ret=1 - fi + devname=$(cd /sys/bus/ccw/devices/$dev/block; set -- *; [ -b /dev/$1 ] && echo $1) + devname=${devname:-dasda} - if ! sysecho /sys/bus/ccw/devices/$dev/online 0; then - echo $"DASD $dev could not be set offline again" - #return 1 - fi + [[ -d /mnt ]] || mkdir /mnt + if cmsfs-fuse --to=UTF-8 -a /dev/$devname /mnt; then + cat /mnt/$2 > /run/initramfs/$2 + umount /mnt || umount -l /mnt udevadm settle + else + echo $"Could not read conf file $2 on CMS DASD $1." + ret=1 + fi + + if ! sysecho /sys/bus/ccw/devices/$dev/online 0; then + echo $"DASD $dev could not be set offline again" + #return 1 + fi + udevadm settle # unbind all dasds to unload the dasd modules for a clean start - ( cd /sys/bus/ccw/drivers/dasd-eckd; for i in *.*; do echo $i > unbind;done) - udevadm settle - modprobe -r dasd_eckd_mod - udevadm settle - modprobe -r dasd_diag_mod - udevadm settle - modprobe -r dasd_mod - udevadm settle - return $ret - } - - processcmsfile() - { - source /tmp/cms.conf - SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')" - - if [[ $NETTYPE ]]; then - ( - echo -n $NETTYPE,$SUBCHANNELS - [[ $PORTNAME ]] && echo -n ",portname=$PORTNAME" - [[ $LAYER2 ]] && echo -n ",layer2=$LAYER2" - [[ "$NETTYPE" = "ctc" ]] && [[ $CTCPROT ]] && echo -n ",protocol=$CTCPROT" - echo - ) >> /etc/ccw.conf - - OLDIFS=$IFS - IFS=, - read -a subch_array <<< "indexzero,$SUBCHANNELS" - IFS=$OLDIFS - devbusid=${subch_array[1]} - if [ "$NETTYPE" = "ctc" ]; then - driver="ctcm" - else - driver=$NETTYPE - fi - - printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="%s", KERNELS=="%s", ENV{INTERFACE}=="?*", RUN+="/sbin/initqueue --onetime --unique --name cmsifup-$env{INTERFACE} /sbin/cmsifup $env{INTERFACE}"\n' "$driver" "$devbusid" > /etc/udev/rules.d/99-cms.rules - # remove the default net rules - rm -f -- /etc/udev/rules.d/91-default-net.rules - [[ -f /etc/udev/rules.d/90-net.rules ]] \ - || printf 'SUBSYSTEM=="net", ACTION=="online", RUN+="/sbin/initqueue --onetime --env netif=$env{INTERFACE} source_hook initqueue/online"\n' >> /etc/udev/rules.d/99-cms.rules - udevadm control --reload - znet_cio_free - fi + ( cd /sys/bus/ccw/drivers/dasd-eckd; for i in *.*; do echo $i > unbind;done) + udevadm settle + modprobe -r dasd_eckd_mod + udevadm settle + modprobe -r dasd_diag_mod + udevadm settle + modprobe -r dasd_mod + udevadm settle + return $ret +} - if [[ $DASD ]]; then - echo $DASD | normalize_dasd_arg > /etc/dasd.conf - echo "options dasd_mod dasd=$DASD" > /etc/modprobe.d/dasd_mod.conf - dasd_cio_free +processcmsfile() +{ + source /tmp/cms.conf + SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')" + + if [[ $NETTYPE ]]; then + ( + echo -n $NETTYPE,$SUBCHANNELS + [[ $PORTNAME ]] && echo -n ",portname=$PORTNAME" + [[ $LAYER2 ]] && echo -n ",layer2=$LAYER2" + [[ "$NETTYPE" = "ctc" ]] && [[ $CTCPROT ]] && echo -n ",protocol=$CTCPROT" + echo + ) >> /etc/ccw.conf + + OLDIFS=$IFS + IFS=, + read -a subch_array <<< "indexzero,$SUBCHANNELS" + IFS=$OLDIFS + devbusid=${subch_array[1]} + if [ "$NETTYPE" = "ctc" ]; then + driver="ctcm" + else + driver=$NETTYPE fi - unset _do_zfcp - for i in ${!FCP_*}; do - echo "${!i}" | while read port rest; do - case $port in + printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="%s", KERNELS=="%s", ENV{INTERFACE}=="?*", RUN+="/sbin/initqueue --onetime --unique --name cmsifup-$env{INTERFACE} /sbin/cmsifup $env{INTERFACE}"\n' "$driver" "$devbusid" > /etc/udev/rules.d/99-cms.rules + # remove the default net rules + rm -f -- /etc/udev/rules.d/91-default-net.rules + [[ -f /etc/udev/rules.d/90-net.rules ]] \ + || printf 'SUBSYSTEM=="net", ACTION=="online", RUN+="/sbin/initqueue --onetime --env netif=$env{INTERFACE} source_hook initqueue/online"\n' >> /etc/udev/rules.d/99-cms.rules + udevadm control --reload + znet_cio_free + fi + + if [[ $DASD ]]; then + echo $DASD | normalize_dasd_arg > /etc/dasd.conf + echo "options dasd_mod dasd=$DASD" > /etc/modprobe.d/dasd_mod.conf + dasd_cio_free + fi + + unset _do_zfcp + for i in ${!FCP_*}; do + echo "${!i}" | while read port rest; do + case $port in *.*.*) ;; *.*) @@ -193,23 +193,23 @@ function dasd_settle_all() { *) port="0.0.$port" ;; - esac - echo $port $rest >> /etc/zfcp.conf - done - _do_zfcp=1 + esac + echo $port $rest >> /etc/zfcp.conf done - [[ $_do_zfcp ]] && zfcp_cio_free - unset _do_zfcp - } + _do_zfcp=1 + done + [[ $_do_zfcp ]] && zfcp_cio_free + unset _do_zfcp +} - [[ $CMSDASD ]] || CMSDASD=$(getarg "CMSDASD=") - [[ $CMSCONFFILE ]] || CMSCONFFILE=$(getarg "CMSCONFFILE=") +[[ $CMSDASD ]] || CMSDASD=$(getarg "CMSDASD=") +[[ $CMSCONFFILE ]] || CMSCONFFILE=$(getarg "CMSCONFFILE=") # Parse configuration - if [ -n "$CMSDASD" -a -n "$CMSCONFFILE" ]; then - if readcmsfile $CMSDASD $CMSCONFFILE; then - ln -s /run/initramfs/$CMSCONFFILE /tmp/$CMSCONFFILE - ln -s /run/initramfs/$CMSCONFFILE /tmp/cms.conf - processcmsfile - fi +if [ -n "$CMSDASD" -a -n "$CMSCONFFILE" ]; then + if readcmsfile $CMSDASD $CMSCONFFILE; then + ln -s /run/initramfs/$CMSCONFFILE /tmp/$CMSCONFFILE + ln -s /run/initramfs/$CMSCONFFILE /tmp/cms.conf + processcmsfile fi +fi