support dla mdadm + udev w /dev (np headowy)

Przemek Iskra sparky w sparky.homelinux.org
Sob, 23 Kwi 2005, 18:44:02 CEST


głównie ten patch robi to że sam skanuje config mdadm i go uruchamia dla
każdego urządzenia z opcją --auto=yes; to jest potrzebne aby mdadm
stworzył sobie potrzebne nody w /dev bo udev tego nie robi

przy okazji druga zmiana; nie próbuje startować ani zatrzymywać md jeśli
to jest root '/', w pierwszym przypadku odbywa się to w initrd a w
drugim kończy się niepowodzeniem bo / jest jeszcze używany


-- 
 ____  Sparky{PI] -- Przemyslaw _  ___  _  _  ..Mail,MSN  LANG...Pl..Ca..Es..En
/____) ___  ___  _ _ || Iskra  |  | _ \| |  | : WWW.......ca.docs.pld-linux.org
\____\| -_)'___| ||^'||//\\// <   |  _/| |  | : JID......sparky<at>jabberes.org
(____/||   (_-_|_||  ||\\ ||   |_ |_|  |_| _| :..sparky<at>sparky.homelinux.org
-------------- następna część ---------
--- rc.sysinit	2005-04-23 18:05:47.873985840 +0200
+++ rc.sysinit.new	2005-04-23 18:27:36.139940552 +0200
@@ -547,8 +547,18 @@
 	    
 	    if [ -x /sbin/mdadm -a -f /etc/mdadm.conf ]; then
 		if (grep -qE "^([[:blank:]]|)ARRAY[[:blank:]]" /etc/mdadm.conf); then
-		    run_cmd "Starting up RAID devices" /sbin/mdadm --assemble --scan
-		    rc=$?
+		    ROOTMD=$( grep -E \
+			'^/[a-zA-Z0-9/]*[[:blank:]][[:blank:]]*/[[:blank:]]' \
+			/etc/fstab | awk '{print $1}' )
+		    MDs=$(grep -E "^[[:blank:]]*ARRAY[[:blank:]]" \
+			/etc/mdadm.conf | awk '{print $2}' | grep -v "^$ROOTMD$")
+                    
+		    rc=0
+		    for MD in $MDs; do
+			show "Starting up RAID device %s" "$MD"
+			daemon /sbin/mdadm --assemble --auto=yes $MD
+			rc=$(($rc+$?))
+		    done
 		    [ "$rc" -eq 0 ] && goraidtab=0 && golvm=1
 		fi
 	    fi
-------------- następna część ---------
--- rc.shutdown	2005-04-23 18:20:14.736044144 +0200
+++ rc.shutdown.new	2005-04-23 18:24:57.932991664 +0200
@@ -83,8 +83,18 @@
 goraidtab=1
 if [ -x /sbin/mdadm -a -f /etc/mdadm.conf ]; then
 	if (grep -qE "^([[:blank:]]|)ARRAY[[:blank:]]" /etc/mdadm.conf); then
-		    run_cmd "Turning off RAID devices" /sbin/mdadm --stop --scan
-		    rc=$?
+		    ROOTMD=$( grep -E \
+		    	'^/[a-zA-Z0-9/]*[[:blank:]][[:blank:]]*/[[:blank:]]' \
+			/etc/fstab | awk '{print $1}' )
+		    MDs=$(grep -E "^[[:blank:]]*ARRAY[[:blank:]]" \
+		    	/etc/mdadm.conf | awk '{print $2}' | grep -v "^$ROOTMD$")
+		
+		    rc=0
+		    for MD in $MDs; do
+			show "Turning off RAID for %s" "$MD"
+		        daemon /sbin/mdadm --stop $MD
+			rc=$(($rc+$?))
+		    done
 		    [ "$rc" -eq 0 ] && goraidtab=0
 	fi
 fi


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