#!/bin/bash

################################################
#
#  Spin down the given SCS disk(s).
#
#  SCSI disks (or disks that understand SCSI commands)
#  are assumed. By default, the immediate bit is set so the
#  command should return immediately. The disk however will
#  take 10 seconds or more to spin down. The '-w' option
#  causes each stop to wait until the disk reports that it
#  has stopped.
#
#  This script assumes the sg3_utils package is installed.
#
###############################################

verbose=""
immediate="-i"

usage()
{
  echo "Usage: scsi_stop [-h] [-v] [-w] <device>+"
  echo "  where:"
  echo "    -h, --help           print usage message"
  echo "    -v, --verbose        more verbose output"
  echo "    -w, --wait           wait for each stop to complete"
  echo ""
  echo "Send SCSI START STOP UNIT command to stop each <device>"
}

opt="$1"
while test ! -z "$opt" -a -z "${opt##-*}"; do
  opt=${opt#-}
  case "$opt" in
    h|-help) usage ; exit 0 ;;
    v|-verbose) verbose="-v" ;;
    w|-wait) immediate="" ;;
    *) echo "Unknown option: -$opt " ; exit 1 ;;
  esac
  shift
  opt="$1"
done

if [ $# -lt 1 ]
  then
    usage
    exit 1
fi

for i
do
# Use '-r' (read-only) otherwise using a block device node
# (e.g. 'sg_start 0 /dev/sdb') can result in a change of state
# event causing the disk to spin up again immediately.
        echo "sg_start -r $immediate 0 $verbose $i"
        sg_start -r $immediate 0 $verbose $i
done
