]> git.pld-linux.org Git - packages/hdparm.git/blob - hdparm.init
- allow using disk labels from /dev/disk/by-id
[packages/hdparm.git] / hdparm.init
1 #!/bin/sh
2
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
10 # Source function library
11 . /etc/rc.d/init.d/functions
12
13 # Source hdparm configuration.
14 . /etc/sysconfig/hdparm
15
16 for var in $blockdevs; do
17         drive=${var#HDPARM_}
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
32                 eval PARAMS=\$$var
33                 if [ -n "$PARAMS" ]; then
34                         show "Setting parameters for drive %s (%s)" "$drive" "$PARAMS"
35                         busy
36                         /sbin/hdparm $PARAMS /dev/$dev
37                         ok
38                 fi
39         fi
40 done
41
42 exit 0
This page took 0.103725 seconds and 4 git commands to generate.