2010-05-22 06:07:29 +08:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
. /etc/rc.conf
|
|
|
|
. /etc/rc.d/functions
|
2012-09-04 07:53:56 +08:00
|
|
|
. /etc/conf.d/cdemud
|
2010-05-22 06:07:29 +08:00
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
start)
|
2012-09-04 07:53:56 +08:00
|
|
|
stat_busy "Loading vhba and loop modules"
|
|
|
|
modprobe loop
|
|
|
|
modprobe vhba
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
stat_fail
|
|
|
|
else
|
|
|
|
stat_done
|
|
|
|
fi
|
|
|
|
|
|
|
|
stat_busy "Waiting for $CTL_DEVICE"
|
|
|
|
i=0
|
|
|
|
until [ -c $CTL_DEVICE -o $i -ge 10 ]; do
|
|
|
|
i=`expr $i + 1`
|
|
|
|
sleep 1
|
|
|
|
done
|
|
|
|
if [ -c $CTL_DEVICE ]; then
|
|
|
|
stat_done
|
|
|
|
else
|
|
|
|
stat_fail
|
|
|
|
fi
|
|
|
|
|
2010-05-22 06:07:29 +08:00
|
|
|
stat_busy "Starting cdemud"
|
2012-09-04 19:16:39 +08:00
|
|
|
cdemud -n ${NUM_DRIVES} -c ${CTL_DEVICE} -a ${AUDIO_DRIVER} -b ${BUS} -l ${LOG_FILE} &
|
2010-05-22 06:07:29 +08:00
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
stat_fail
|
|
|
|
else
|
|
|
|
add_daemon cdemud
|
|
|
|
stat_done
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
stop)
|
|
|
|
stat_busy "Stopping cdemud"
|
2012-09-04 07:53:56 +08:00
|
|
|
kill -9 `pidof cdemud` &>/dev/null && sleep 1 && rmmod vhba
|
2010-05-22 06:07:29 +08:00
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
stat_fail
|
|
|
|
else
|
|
|
|
rm_daemon cdemud
|
|
|
|
stat_done
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
restart)
|
|
|
|
$0 stop
|
|
|
|
sleep 1
|
|
|
|
$0 start
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "usage: $0 {start|stop|restart}"
|
|
|
|
esac
|
2012-08-29 15:31:09 +08:00
|
|
|
|