]>
Commit | Line | Data |
---|---|---|
71f3ad45 AM |
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 | |
b06f5046 | 7 | # |
71f3ad45 | 8 | # processname: blockdev |
b06f5046 | 9 | # config: |
71f3ad45 AM |
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 | ||
a38c175f | 18 | start() { |
71f3ad45 | 19 | if [ ! -f /var/lock/subsys/blockdev ]; then |
72962280 ER |
20 | for var in $(awk -F= '!/^#/ && !/^$/ {if ($2) print $1}' /etc/sysconfig/blockdev); do |
21 | realdrive= | |
22 | drive=${var#BLOCKDEV_} | |
23 | if [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then | |
24 | realdrive="/dev/${drive}" | |
25 | elif [ -e "/dev/mapper/${drive}" ]; then | |
26 | realdrive="/dev/mapper/${drive}" | |
27 | elif drive=$(echo $drive | tr _ -) && [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then | |
0f21c6c9 AM |
28 | realdrive="/dev/${drive}" |
29 | elif [ -e "/dev/mapper/${drive}" ]; then | |
30 | realdrive="/dev/mapper/${drive}" | |
31 | fi | |
72962280 | 32 | |
0f21c6c9 | 33 | if [ -n "$realdrive" ]; then |
72962280 | 34 | eval PARAMS=\$$var |
71f3ad45 AM |
35 | if [ -n "${PARAMS}" ]; then |
36 | show "Setting parameters for block drive %s (%s)" "$drive" "$PARAMS" | |
37 | busy | |
72962280 | 38 | /sbin/blockdev ${PARAMS} $realdrive |
71f3ad45 AM |
39 | ok |
40 | fi | |
41 | fi | |
42 | done | |
43 | RETVAL=$? | |
44 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/blockdev | |
45 | else | |
46 | msg_already_running blockdev | |
47 | fi | |
a38c175f ER |
48 | } |
49 | ||
50 | stop() { | |
71f3ad45 AM |
51 | # Stop daemons. |
52 | if [ ! -f /var/lock/subsys/blockdev ]; then | |
53 | msg_not_running blockdev | |
b06f5046 | 54 | fi |
b4e58e25 | 55 | rm -f /var/lock/subsys/blockdev |
a38c175f ER |
56 | } |
57 | ||
58 | RETVAL=0 | |
59 | # See how we were called. | |
60 | case "$1" in | |
61 | start) | |
62 | start | |
71f3ad45 | 63 | ;; |
a38c175f ER |
64 | stop) |
65 | stop | |
66 | ;; | |
67 | restart|force-reload) | |
68 | stop | |
69 | start | |
71f3ad45 | 70 | ;; |
a38c175f | 71 | status) |
71f3ad45 AM |
72 | status blockdev |
73 | exit $? | |
74 | ;; | |
a38c175f | 75 | *) |
71f3ad45 AM |
76 | msg_usage "$0 {start|stop|restart|force-reload|status}" |
77 | exit 3 | |
78 | esac | |
79 | ||
80 | exit $RETVAL |