
case $1 in
 raid* | linear )
   grep -s "active $1 " /proc/mdstat > /dev/null || {
		echo >&2 "ERROR active $1 not found" ; cat /proc/mdstat ; exit 1;}
  ;;
 resync | recovery )
   sleep 0.1
   grep -s $1 /proc/mdstat > /dev/null || {
		echo >&2 ERROR no $1 happening; cat /proc/mdstat; exit 1; }
  ;;

  nosync )
    sleep 0.5
    grep -s 're[synccovery]* =' > /dev/null /proc/mdstat && {
		echo >&2 "ERROR resync or recovery is happening!"; cat /proc/mdstat ; exit 1; }
  ;;

 wait )
   sleep 0.1
   while grep 're[synccovery]* =' > /dev/null /proc/mdstat
   do sleep 2;
   done
   ;;

 state )
    grep -s "blocks.*\[$2\]\$" /proc/mdstat > /dev/null || {
		echo >&2 "ERROR state $2 not found!"; cat /proc/mdstat ; exit 1; }
    sleep 0.5
   ;;

 * ) echo >&2 ERROR unknown check $1 ; exit 1;
esac

exit 0
