]>
Commit | Line | Data |
---|---|---|
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 | # Source function library. | |
13 | . /etc/rc.d/init.d/functions | |
14 | ||
15 | # Source blockdev configureation. | |
16 | [ -f /etc/sysconfig/blockdev ] && . /etc/sysconfig/blockdev | |
17 | ||
18 | start() { | |
19 | if [ ! -f /var/lock/subsys/blockdev ]; then | |
20 | for drive in $(ls /sys/block 2> /dev/null; ls /dev/mapper 2> /dev/null); do | |
21 | if [ [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then | |
22 | realdrive="/dev/${drive}" | |
23 | elif [ -e "/dev/mapper/${drive}" ]; then | |
24 | realdrive="/dev/mapper/${drive}" | |
25 | fi | |
26 | if [ -n "$realdrive" ]; then | |
27 | eval PARAMS=\$BLOCKDEV_$(echo $drive | tr - _) | |
28 | if [ -n "${PARAMS}" ]; then | |
29 | show "Setting parameters for block drive %s (%s)" "$drive" "$PARAMS" | |
30 | busy | |
31 | /sbin/blockdev ${PARAMS} ${realdrive} | |
32 | ok | |
33 | fi | |
34 | fi | |
35 | done | |
36 | RETVAL=$? | |
37 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/blockdev | |
38 | else | |
39 | msg_already_running blockdev | |
40 | fi | |
41 | } | |
42 | ||
43 | stop() { | |
44 | # Stop daemons. | |
45 | if [ ! -f /var/lock/subsys/blockdev ]; then | |
46 | msg_not_running blockdev | |
47 | fi | |
48 | rm -f /var/lock/subsys/blockdev | |
49 | } | |
50 | ||
51 | RETVAL=0 | |
52 | # See how we were called. | |
53 | case "$1" in | |
54 | start) | |
55 | start | |
56 | ;; | |
57 | stop) | |
58 | stop | |
59 | ;; | |
60 | restart|force-reload) | |
61 | stop | |
62 | start | |
63 | ;; | |
64 | status) | |
65 | status blockdev | |
66 | exit $? | |
67 | ;; | |
68 | *) | |
69 | msg_usage "$0 {start|stop|restart|force-reload|status}" | |
70 | exit 3 | |
71 | esac | |
72 | ||
73 | exit $RETVAL |