start() {
if [ ! -f /var/lock/subsys/blockdev ]; then
- for drive in $(ls /sys/block 2> /dev/null; ls /dev/mapper 2> /dev/null); do
- if [ [ -d "/sys/block/${drive}" -a -e "/dev/${drive}" ]; then
+ for var in $(awk -F= '!/^#/ && !/^$/ {if ($2) print $1}' /etc/sysconfig/blockdev); 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=\$BLOCKDEV_$(echo $drive | tr - _)
+ eval PARAMS=\$$var
if [ -n "${PARAMS}" ]; then
show "Setting parameters for block drive %s (%s)" "$drive" "$PARAMS"
busy
- /sbin/blockdev ${PARAMS} ${realdrive}
+ /sbin/blockdev ${PARAMS} $realdrive
ok
fi
fi