]>
Commit | Line | Data |
---|---|---|
18b351a9 | 1 | #!/bin/sh |
3672489f | 2 | |
77eea73c ER |
3 | [ -f /etc/sysconfig/hdparm ] || exit 0 |
4 | ||
5 | blockdevs=$(awk -F= '!/^#/ && !/^$/ {if ($2) print $1}' /etc/sysconfig/hdparm) | |
6 | if [ -z "$blockdevs" ]; then | |
7 | exit 0 | |
8 | fi | |
9 | ||
3672489f | 10 | # Source function library |
18b351a9 JK |
11 | . /etc/rc.d/init.d/functions |
12 | ||
940c9aed | 13 | # Source hdparm configuration. |
77eea73c | 14 | . /etc/sysconfig/hdparm |
18b351a9 | 15 | |
77eea73c ER |
16 | for var in $blockdevs; do |
17 | drive=${var#HDPARM_} | |
57191c75 ER |
18 | |
19 | # check if it is some ID | |
20 | if [ -L /dev/disk/by-id/ata-$drive ]; then | |
21 | dev=$(readlink -f /dev/disk/by-id/ata-$drive) | |
22 | elif [ -L /dev/disk/by-id/scsi-$dev ]; then | |
23 | dev=$(readlink -f /dev/disk/by-id/scsi-$drive) | |
24 | else | |
25 | dev=$drive | |
26 | fi | |
27 | ||
28 | # strip /dev | |
29 | dev=${dev#/dev/} | |
30 | ||
31 | if [ -L "/proc/ide/$dev" -o -d "/sys/block/$dev" ]; then | |
77eea73c | 32 | eval PARAMS=\$$var |
57191c75 | 33 | if [ -n "$PARAMS" ]; then |
9848b88a | 34 | show "Setting parameters for drive %s (%s)" "$drive" "$PARAMS" |
441c76bb | 35 | busy |
57191c75 | 36 | /sbin/hdparm $PARAMS /dev/$dev |
441c76bb | 37 | ok |
38 | fi | |
0575f91b | 39 | fi |
3df24779 AM |
40 | done |
41 | ||
18b351a9 | 42 | exit 0 |