71 lines
2.0 KiB
Plaintext
71 lines
2.0 KiB
Plaintext
|
#!/bin/bash
|
||
|
# Hdparm initscript - Turn on harddisk optimization
|
||
|
# Copyright (C) 2004-2005 Silvan Calarco <silvan.calarco@qilinux.it>
|
||
|
# Copyright (C) 2004-2005 Davide Madrisan <davide.madrisan@qilinux.it>
|
||
|
#
|
||
|
# hdparm: Set hard disk parameters
|
||
|
# chkconfig: 2345 09 93
|
||
|
# description: Set hard disk parameters
|
||
|
|
||
|
. /etc/sysconfig/rc
|
||
|
. $rc_functions
|
||
|
|
||
|
# There is only one file /etc/sysconfig/harddisks for all disks after
|
||
|
# installing the hdparm package.
|
||
|
# If you need different hdparm parameters for each of your disks, copy
|
||
|
# /etc/sysconfig/harddisks to /etc/sysconfig/harddiskhda (hdb, hdc...)
|
||
|
# and modify it.
|
||
|
# Each disk which has no special parameters will use the defaults.
|
||
|
# For each cdrom only the 'EIDE_32BIT' parameter will be used
|
||
|
|
||
|
case "$1" in
|
||
|
start)
|
||
|
[ -x /sbin/hdparm ] || exit 0
|
||
|
|
||
|
for device in $(find /dev/hd[a-z] -printf "%f " 2>/dev/null); do
|
||
|
unset MULTIPLE_IO USE_DMA EIDE_32BIT LOOKAHEAD EXTRA_PARAMS
|
||
|
if [ -r /etc/sysconfig/harddisk${device} ]; then
|
||
|
. /etc/sysconfig/harddisk${device}
|
||
|
else
|
||
|
# use default values
|
||
|
[ -r /etc/sysconfig/harddisks ] && . /etc/sysconfig/harddisks
|
||
|
fi
|
||
|
|
||
|
unset HDFLAGS
|
||
|
if [ -r "/proc/ide/$device/media" ]; then
|
||
|
case "$(cat /proc/ide/$device/media)" in
|
||
|
"disk")
|
||
|
[ "$MULTIPLE_IO" ] &&
|
||
|
HDFLAGS="-q -m$MULTIPLE_IO"
|
||
|
[ "$USE_DMA" ] &&
|
||
|
HDFLAGS="$HDFLAGS -q -d$USE_DMA"
|
||
|
[ "$EIDE_32BIT" ] &&
|
||
|
HDFLAGS="$HDFLAGS -q -c$EIDE_32BIT"
|
||
|
[ "$LOOKAHEAD" ] &&
|
||
|
HDFLAGS="$HDFLAGS -q -A$LOOKAHEAD"
|
||
|
[ "$EXTRA_PARAMS" ] &&
|
||
|
HDFLAGS="$HDFLAGS $EXTRA_PARAMS"
|
||
|
;;
|
||
|
"cdrom")
|
||
|
[ "$EIDE_32BIT" ] &&
|
||
|
HDFLAGS="$HDFLAGS -q -c$EIDE_32BIT"
|
||
|
;;
|
||
|
esac
|
||
|
fi
|
||
|
[ "$HDFLAGS" ] &&
|
||
|
action $"Setting hard drive parameters for $device: " \
|
||
|
/sbin/hdparm $HDFLAGS /dev/$device
|
||
|
done
|
||
|
;;
|
||
|
restart)
|
||
|
$0 start
|
||
|
;;
|
||
|
stop)
|
||
|
exit 0
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $0 {start|stop|restart}"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|