69 lines
1.6 KiB
Text
69 lines
1.6 KiB
Text
#!/sbin/runscript
|
|
# Copyright 1999-2006 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
#
|
|
# This file is tasked with testing for the existence of the ibmvscsis driver
|
|
# and configuring the ibmvscsi server properly as indicated by the config file
|
|
# located at /etc/ibmvscsis.conf
|
|
#
|
|
|
|
DRIVER=ibmvscsis
|
|
SYSFS=/sys/bus/vio/drivers/ibmvscsis
|
|
CONFIG=/etc/ibmvscsis.conf
|
|
|
|
depend() {
|
|
need logger
|
|
provide ibmvscsis
|
|
}
|
|
|
|
checkconfig() {
|
|
if [ ! -e ${CONFIG} ] ; then
|
|
eerror " ${CONFIG} does not exist."
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
checkmodule_load() {
|
|
# The existence of $SYSFS indicates that the module has been loaded or that
|
|
# the driver is at least built into the kernel.
|
|
if [ ! -e ${SYSFS} ] ; then
|
|
ewarn " Module ${DRIVER} is not loaded, attempting to load it"
|
|
/sbin/modprobe ${DRIVER} &> /dev/null && return 0
|
|
eerror " Failed to load module ${DRIVER}"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
checkmodule() {
|
|
# The existence of $SYSFS indicates that the module has been loaded or that
|
|
# the driver is at least built into the kernel.
|
|
if [ ! -e ${SYSFS} ] ; then
|
|
eerror " Module ${DRIVER} is not loaded"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
start() {
|
|
ebegin "Starting vscsiadmin"
|
|
checkconfig || return 1
|
|
checkmodule_load || return 1
|
|
/usr/sbin/vscsiadmin -start &> /dev/null
|
|
eend $? "Failed to start vscsiadmin"
|
|
}
|
|
|
|
stop() {
|
|
ebegin "Stopping vscsiadmin"
|
|
checkmodule || return 1
|
|
/usr/sbin/vscsiadmin -stop &> /dev/null
|
|
eend $? "Failed to stop vscsiadmin"
|
|
}
|
|
|
|
status() {
|
|
checkmodule || return 1
|
|
/usr/sbin/vscsiadmin -status
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|