1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/sh
- #
- # scsi 1.30 1997/05/13 02:18:00 (David Hinds)
- #
- # Initialize or shutdown a PCMCIA SCSI adapter
- #
- # The first argument should be either 'start' or 'stop'. The second
- # argument is the base name for the device.
- #
- # The script passes an extended device address to 'scsi.opts' in the
- # ADDRESS variable, to retrieve device-specific configuration options.
- # The address format is "scheme,device,socket,channel,id,lun[,part]"
- # where "scheme" is the PCMCIA configuration scheme; "device" is the
- # SCSI device type (sd, sr, st, sg); "socket" is the socket number;
- # "channel", "id", and "lun" are the SCSI device ID's; and "part" is,
- # optionally, the partition number.
- #
- # The script first calls scsi.opts for the entire device. If
- # scsi.opts returns with the PARTS variable set, then this variable
- # contains a list of partitions for which options should be read.
- #
- if [ -r ./shared ] ; then . ./shared ; else . /etc/pcmcia/shared ; fi
- # Get device attributes
- get_info $DEVICE
- case "$DEVICE" in
- scsi*) exit 0 ;;
- sd*) TYPE="sd" ;;
- st*) TYPE="st" ;;
- scd*) TYPE="sr" ;;
- sg*) TYPE="sg" ;;
- esac
- eval `/sbin/scsi_info /dev/$DEVICE` || usage
- # Load site-specific settings
- ADDRESS="$SCHEME,$TYPE,$SOCKET,$SCSI_ID"
- . $0.opts
- case "$ACTION" in
- 'start')
- [ -n "$VERBOSE" -a -n "$INFO" ] && echo "$INFO"
- add_parts $ADDRESS "$PARTS" || exit 1
- ;;
- 'stop')
- if [ -b /dev/$DEVICE ] ; then
- rm_parts $ADDRESS "$PARTS"
- else
- do_fuser -k /dev/$DEVICE > /dev/null
- fi
- exit $?
- ;;
- 'check')
- is_true $NO_CHECK && exit 0
- if [ -b /dev/$DEVICE ] ; then
- do_fuser -s -m /dev/${DEVICE}* && exit 1
- elif [ -c /dev/$DEVICE ] ; then
- do_fuser -s /dev/${DEVICE}* && exit 1
- fi
- ;;
- 'cksum')
- chk_parts "$NEW_SCHEME,$TYPE,$SOCKET,$SCSI_ID" || exit 1
- ;;
-
- 'suspend'|'resume')
- ;;
- *)
- usage
- ;;
- esac
- exit 0
|