hdparm.

Wojtek Kaniewski wojtekka w bydg.pdi.net
Pon, 18 Mar 2002, 20:24:40 CET


witam,

zauważyłem, że /etc/rc.d/rc.hdparm nie rusza w ogóle cdromów, jeśli nie
ma w nich płyty, bo nie są wtedy wymienione w /proc/partitions. nie
wiem, czy to zamierzone działanie, czy nie, ale w każdym razie jest dość
denerwujące. załączam głupiutkiego patcha, który zamiast zaglądać do
/proc/partitions i sprawdziać major/minor, patrzy do /proc/ide i bierze
pod uwagę tylko te wpisy, które są symlinkami.

pozdrawiam,
wojtek

-------------- następna część ---------
--- rc.hdparm.orig	Mon Mar 18 20:14:56 2002
+++ rc.hdparm	Mon Mar 18 20:20:05 2002
@@ -6,58 +6,17 @@
 # Get service config
 [ -f /etc/sysconfig/hdparm ] && . /etc/sysconfig/hdparm
 
-while read major minor blocks name ; do
-    if [ "$minor" = "0" -o "$minor" = "64" ] ; then
-	case "$major" in
-	    3)
-		[ $minor = 0 ] && drive="hda"
-		[ $minor = 64 ] && drive="hdb"
-	    ;;
-	    22)
-		[ $minor = 0 ] && drive="hdc"
-		[ $minor = 64 ] && drive="hdd"
-	    ;;
-	    33)
-		[ $minor = 0 ] && drive="hde"
-		[ $minor = 64 ] && drive="hdf"
-	    ;;
-	    34)
-		[ $minor = 0 ] && drive="hdg"
-		[ $minor = 64 ] && drive="hdh"
-	    ;;
-	    56)
-		[ $minor = 0 ] && drive="hdi"
-		[ $minor = 64 ] && drive="hdj"
-	    ;;
-	    57)
-		[ $minor = 0 ] && drive="hdk"
-		[ $minor = 64 ] && drive="hdl"
-	    ;;
-	    88)
-		[ $minor = 0 ] && drive="hdm"
-		[ $minor = 64 ] && drive="hdn"
-	    ;;
-	    89)
-		[ $minor = 0 ] && drive="hdo"
-		[ $minor = 64 ] && drive="hdp"
-	    ;;
-	    90)
-		[ $minor = 0 ] && drive="hdq"
-		[ $minor = 64 ] && drive="hdr"
-	    ;;
-	    91)
-		[ $minor = 0 ] && drive="hds"
-		[ $minor = 64 ] && drive="hdt"
-	    ;;
-	esac
-	eval PARAMS=\$HDPARM_${drive}
-	if [ -n "${PARAMS}" ] ; then
-		show "Setting parameters for drive %s" "$drive"
-		busy
-		/sbin/hdparm ${PARAMS} /dev/$drive
-		deltext
-		ok
+for drive in $(ls /proc/ide); do
+	if stat /proc/ide/$drive | grep -qi "Symbolic Link"; then
+		eval PARAMS=\$HDPARM_${drive}
+		if [ -n "${PARAMS}" ] ; then
+			show "Setting parameters for drive %s" "$drive"
+			busy
+			/sbin/hdparm ${PARAMS} /dev/$drive
+			deltext
+			ok
+		fi
 	fi
-    fi
-done < /proc/partitions
+done
+
 exit 0


Więcej informacji o liście dyskusyjnej pld-rc-scripts