#!/bin/bash

################################################
#
#  Spin up the given SCSI 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 up. The '-w' option
#  causes each start to wait until the disk reports that it
#  has started.
#
#  This script assumes the sg3_utils package is installed.
#
###############################################

verbose=""
immediate="-i"

usage()
{
  echo "Usage: scsi_start [-h] [-v] [-w] <device>+"
  echo "  where:"
  echo "    -h, --help           print usage message"
  echo "    -v, --verbose        more verbose output"
  echo "    -w, --wait           wait for each start to complete"
  echo ""
  echo "Send SCSI START STOP UNIT command to start 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
	echo "sg_start $immediate 1 $verbose $i"
        sg_start $immediate 1 $verbose $i
done
