]> git.pld-linux.org Git - packages/util-linux.git/blob - util-linux-blockdev.init
- do really nothing without config
[packages/util-linux.git] / util-linux-blockdev.init
1 #!/bin/sh
2 #
3 # blockdev              This shell script takes care of starting and stopping blockdev.
4 #
5 # chkconfig:    2345 01 99
6 # description:  blockdev
7 #
8 # processname:  blockdev
9 # config:
10 # pidfile:
11
12 [ -f /etc/sysconfig/blockdev ] || exit 0
13
14 blockdevs=$(awk -F= '!/^#/ && !/^$/ {if ($2) print $1}' /etc/sysconfig/blockdev)
15 if [ -z "$blockdevs" ]; then
16         case "$1" in
17         start|stop|restart|force-reload)
18                 exit 0
19                 ;;
20         esac
21 fi
22
23 # Source function library.
24 . /etc/rc.d/init.d/functions
25
26 # Source blockdev configureation.
27 . /etc/sysconfig/blockdev
28
29 start() {
30         if [ ! -f /var/lock/subsys/blockdev ]; then
31                 for var in $blockdevs; do
32                         realdrive=
33                         drive=${var#BLOCKDEV_}
34                         if [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
35                                 realdrive="/dev/${drive}"
36                         elif [ -e "/dev/mapper/${drive}" ]; then
37                                 realdrive="/dev/mapper/${drive}"
38                         elif drive=$(echo $drive | tr _ -) && [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
39                                 realdrive="/dev/${drive}"
40                         elif [ -e "/dev/mapper/${drive}" ]; then
41                                 realdrive="/dev/mapper/${drive}"
42                         fi
43
44                         if [ -n "$realdrive" ]; then
45                                 eval PARAMS=\$$var
46                                 if [ -n "${PARAMS}" ]; then
47                                         show "Setting parameters for block drive %s (%s)" "$drive" "$PARAMS"
48                                         busy
49                                         /sbin/blockdev ${PARAMS} $realdrive
50                                         ok
51                                 fi
52                         fi
53                 done
54                 RETVAL=$?
55                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/blockdev
56         else
57                 msg_already_running blockdev
58         fi
59 }
60
61 stop() {
62         # Stop daemons.
63         if [ ! -f /var/lock/subsys/blockdev ]; then
64                 msg_not_running blockdev
65         fi
66         rm -f /var/lock/subsys/blockdev
67 }
68
69 RETVAL=0
70 # See how we were called.
71 case "$1" in
72   start)
73         start
74         ;;
75   stop)
76         stop
77         ;;
78   restart|force-reload)
79         stop
80         start
81         ;;
82   status)
83         status blockdev
84         exit $?
85         ;;
86   *)
87         msg_usage "$0 {start|stop|restart|force-reload|status}"
88         exit 3
89 esac
90
91 exit $RETVAL
This page took 1.648472 seconds and 3 git commands to generate.