]> git.pld-linux.org Git - packages/util-linux.git/blame - util-linux-blockdev.init
- optimize in a way that nothing is done if config is empty
[packages/util-linux.git] / util-linux-blockdev.init
CommitLineData
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 18start() {
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
50stop() {
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
58RETVAL=0
59# See how we were called.
60case "$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
78esac
79
80exit $RETVAL
This page took 0.053204 seconds and 4 git commands to generate.