diff options
Diffstat (limited to 'debian/target.init')
-rw-r--r-- | debian/target.init | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/target.init b/debian/target.init new file mode 100644 index 0000000..6d9fe3b --- /dev/null +++ b/debian/target.init @@ -0,0 +1,54 @@ +#!/bin/bash + +### BEGIN INIT INFO +# Provides: target +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Short-Description: Start LIO targets +# Description: Loads configfs and restores LIO config with targetcli +### END INIT INFO + + +case "$1" in + start) + if [ ! -d /sys/kernel/config ]; then + echo "Mounting configfs" + modprobe configfs + mount -t configfs configfs /sys/kernel/config + if [ $? != 0 ]; then + exit 1 + fi + fi + echo "Starting lio targets" + /usr/bin/targetcli restoreconfig clear_existing=true + if [[ $? -gt 0 ]]; then + exit 1 + fi + ;; + + stop) + echo "Stopping lio targets" + /usr/bin/targetcli clearconfig confirm=true + if [[ $? -gt 0 ]]; then + exit 1 + fi + ;; + + restart|force-reload) + $0 stop + sleep 3 + $0 start + ;; + + status) + echo "Checking status of lio targets"; + /usr/bin/targetcli sessions + ;; + + *) + echo "usage: $0 {start|stop|restart|force-reload|status}" +esac + +exit 0 |