#!/bin/bash

function start_svraid ()
{
  /etc/init.d/aurad status > /dev/null 2>&1
  if [ $? -ne 0 ]; then
    /etc/init.d/aurad start > /dev/null 2>&1
    return $?
  else
    return 0
  fi
}

function stop_svraid ()
{
  /etc/init.d/aurad status > /dev/null 2>&1
  if [ $? -eq 0 ]; then
    /etc/init.d/aurad stop > /dev/null 2>&1
    return $?
  else
    return 0
  fi
}

# echo "start"

while getopts c:d:e:m:n:p:r:v OPT
do
  case $OPT in
    c) CPUNUM="$OPTARG" ;;
    d) PCIADDR="$OPTARG" ;;
    e) EVENT="$OPTARG" ;;
    m) MEMORY="$OPTARG" ;;
    n) NODENUM="$OPTARG" ;;
    p) DEVICE="$OPTARG" ;;
    r) RESULT="$OPTARG" ;;
    v) FLG_V="TRUE" ;;
    *) exit 1 ;;
  esac
done

# echo "check options: $DEVICE $EVENT"

#
# Stop ServerView RAID if $DEVICE is IOU and $EVENT is pre event
# Start ServerView RAID if $DEVICE is IOU and $EVENT is post event
#
result=0
echo $DEVICE | grep "IOU-*[[:digit:]]\+" -q > /dev/null 2>&1
if [ $? -eq 0 ]; then
  if [ "$EVENT" = "ADD_PRE" -o "$EVENT" = "RM_PRE" ]; then
#   echo "stop svraid"
    stop_svraid
    result=$?
  elif [ "$EVENT" = "ADD_POST" -o "$EVENT" = "RM_POST" ]; then
#   echo "start svraid"
    start_svraid
    result=$?
  else
    echo "unknown event"
  fi
else
  echo "not IOU"
fi

# echo "exit $result"
exit $result
