]> git.pld-linux.org Git - packages/util-linux.git/blobdiff - util-linux-blockdev.init
- up to 2.20.1 (builds but not without dietlibc since diet does not support %m/%a...
[packages/util-linux.git] / util-linux-blockdev.init
index b5040a35b2c02516de66f3e2e354334ff0fd4beb..e66fd292a36baf2cedb08bd4d9aba848d614d412 100644 (file)
@@ -6,14 +6,12 @@
 # description: blockdev
 #
 # processname: blockdev
-# config:
-# pidfile:
 
 [ -f /etc/sysconfig/blockdev ] || exit 0
 
 blockdevs=$(awk -F= '!/^#/ && !/^$/ {if ($2) print $1}' /etc/sysconfig/blockdev)
 if [ -z "$blockdevs" ]; then
-       case "$1" in
+       case "$1" in
        start|stop|restart|force-reload)
                exit 0
                ;;
@@ -27,45 +25,82 @@ fi
 . /etc/sysconfig/blockdev
 
 start() {
-       if [ ! -f /var/lock/subsys/blockdev ]; then
-               for var in $blockdevs; do
-                       realdrive=
-                       drive=${var#BLOCKDEV_}
-                       if [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
-                               realdrive="/dev/${drive}"
-                       elif [ -e "/dev/mapper/${drive}" ]; then
-                               realdrive="/dev/mapper/${drive}"
-                       elif drive=$(echo $drive | tr _ -) && [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
-                               realdrive="/dev/${drive}"
-                       elif [ -e "/dev/mapper/${drive}" ]; then
-                               realdrive="/dev/mapper/${drive}"
-                       fi
-
-                       if [ -n "$realdrive" ]; then
-                               eval PARAMS=\$$var
-                               if [ -n "${PARAMS}" ]; then
-                                       show "Setting parameters for block drive %s (%s)" "$drive" "$PARAMS"
-                                       busy
-                                       /sbin/blockdev ${PARAMS} $realdrive
-                                       ok
-                               fi
-                       fi
-               done
-               RETVAL=$?
-               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/blockdev
-       else
+       if [ -f /var/lock/subsys/blockdev ]; then
                msg_already_running blockdev
+               return
        fi
+
+       local var realdrive drive PARAMS
+       for var in $blockdevs; do
+               realdrive=
+               drive=${var#BLOCKDEV_}
+               if [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
+                       realdrive="/dev/${drive}"
+               elif [ -e "/dev/mapper/${drive}" ]; then
+                       realdrive="/dev/mapper/${drive}"
+               elif drive=$(echo $drive | tr _ -) && [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
+                       realdrive="/dev/${drive}"
+               elif [ -e "/dev/mapper/${drive}" ]; then
+                       realdrive="/dev/mapper/${drive}"
+               fi
+
+               if [ -n "$realdrive" ]; then
+                       eval PARAMS=\$$var
+                       if [ -n "${PARAMS}" ]; then
+                               show "Setting parameters for block drive %s (%s)" "$drive" "$PARAMS"
+                               busy
+                               /sbin/blockdev ${PARAMS} $realdrive
+                               ok
+                       fi
+               fi
+       done
+       # TODO: retval not really handled here
+       RETVAL=$?
+       [ $RETVAL -eq 0 ] && touch /var/lock/subsys/blockdev
 }
 
 stop() {
        # Stop daemons.
        if [ ! -f /var/lock/subsys/blockdev ]; then
                msg_not_running blockdev
+               return
        fi
        rm -f /var/lock/subsys/blockdev
 }
 
+status() {
+       if [ -z "$blockdevs" ]; then
+               echo "no devices configured for blockdev"
+               RETVAL=1
+               return
+       fi
+
+       echo "blockdev configured for:"
+       local var drive realdrive PARAMS
+       for var in $blockdevs; do
+               drive=${var#BLOCKDEV_}
+               echo -n "- $drive: "
+
+               realdrive=
+               if [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
+                       realdrive="/dev/${drive}"
+               elif [ -e "/dev/mapper/${drive}" ]; then
+                       realdrive="/dev/mapper/${drive}"
+               elif drive=$(echo $drive | tr _ -) && [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
+                       realdrive="/dev/${drive}"
+               elif [ -e "/dev/mapper/${drive}" ]; then
+                       realdrive="/dev/mapper/${drive}"
+               fi
+
+               eval PARAMS=\$$var
+               if [ -n "$realdrive" ]; then
+                       echo "${PARAMS}; device=$realdrive"
+               else
+                       echo "${PARAMS}; device not present"
+               fi
+       done
+}
+
 RETVAL=0
 # See how we were called.
 case "$1" in
@@ -80,34 +115,7 @@ case "$1" in
        start
        ;;
   status)
-       if [ "$blockdevs" ]; then
-               echo "blockdev configured for:"
-               for var in $blockdevs; do
-                       drive=${var#BLOCKDEV_}
-                       echo -n "- $drive: "
-
-                       realdrive=
-                       if [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
-                               realdrive="/dev/${drive}"
-                       elif [ -e "/dev/mapper/${drive}" ]; then
-                               realdrive="/dev/mapper/${drive}"
-                       elif drive=$(echo $drive | tr _ -) && [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
-                               realdrive="/dev/${drive}"
-                       elif [ -e "/dev/mapper/${drive}" ]; then
-                               realdrive="/dev/mapper/${drive}"
-                       fi
-
-                       eval PARAMS=\$$var
-                       if [ -n "$realdrive" ]; then
-                               echo "${PARAMS}; device=$realdrive"
-                       else
-                               echo "${PARAMS}; device not present"
-                       fi
-
-               done
-       else
-               echo "no devices configured for blockdev"
-       fi
+       status
        ;;
   *)
        msg_usage "$0 {start|stop|restart|force-reload|status}"
This page took 0.042161 seconds and 4 git commands to generate.