summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/initd/initd.debian16
-rw-r--r--etc/initd/initd.redhat13
-rw-r--r--etc/initd/initd.suse5
3 files changed, 33 insertions, 1 deletions
diff --git a/etc/initd/initd.debian b/etc/initd/initd.debian
index c0dfd1e..59bf59b 100644
--- a/etc/initd/initd.debian
+++ b/etc/initd/initd.debian
@@ -46,11 +46,17 @@ stoptargets() {
log_daemon_msg "Disconnecting iSCSI targets"
sync
$ADM -m node --logoutall=all
- log_end_msg 0
+ RETVAL=$?
+ log_end_msg $RETVAL
}
stop() {
stoptargets
+ if [ $RETVAL -ne 0 ]; then
+ log_failure_msg "Could not stop all targets, try again later"
+ return $RETVAL
+ fi
+
log_daemon_msg "Stopping iSCSI initiator service"
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
rm -f $PIDFILE
@@ -68,11 +74,19 @@ stop() {
restart() {
stop
+ if [ $RETVAL -ne 0 ]; then
+ log_failure_msg "Stopping iSCSI initiator service failed, not starting"
+ return $RETVAL
+ fi
start
}
restarttargets() {
stoptargets
+ if [ $RETVAL -ne 0 ]; then
+ log_failure_msg "Could not stop all targets, try again later"
+ return $RETVAL
+ fi
starttargets
}
diff --git a/etc/initd/initd.redhat b/etc/initd/initd.redhat
index d68f135..c767cfb 100644
--- a/etc/initd/initd.redhat
+++ b/etc/initd/initd.redhat
@@ -39,6 +39,11 @@ stop()
echo -n $"Stopping iSCSI initiator service: "
sync
iscsiadm -m node --logoutall=all
+ RETVAL=$?
+ if [ $RETVAL -ne 0 ]; then
+ echo "Could not logout from all nodes, try again later"
+ return $RETVAL
+ fi
killproc iscsid
rm -f /var/run/iscsid.pid
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/open-iscsi
@@ -63,6 +68,10 @@ stop()
restart()
{
stop
+ if [ $RETVAL -ne 0 ]; then
+ echo "Stopping iSCSI initiator service failed, not starting"
+ return $RETVAL
+ fi
start
}
@@ -76,6 +85,10 @@ case "$1" in
;;
restart)
stop
+ if [ $RETVAL -ne 0 ]; then
+ echo "Stopping iSCSI initiator service failed, not starting"
+ exit $RETVAL
+ fi
start
;;
status)
diff --git a/etc/initd/initd.suse b/etc/initd/initd.suse
index 23bbac0..bdb4dc7 100644
--- a/etc/initd/initd.suse
+++ b/etc/initd/initd.suse
@@ -192,6 +192,11 @@ case "$1" in
;;
restart)
$0 stop
+ RETVAL=$?
+ if [ "$RETVAL" != "0" ]; then
+ echo "Stopping iSCSI initiator service failed, not starting"
+ exit $RETVAL
+ fi
sleep 1
$0 start
;;