Author: glen
Date: Wed Oct 24 17:53:33 2007
New Revision: 8851

Modified:
   geninitrd/trunk/geninitrd
Log:
- find_modules_for(): allow fallback if primary condition succeeded

Modified: geninitrd/trunk/geninitrd
==============================================================================
--- geninitrd/trunk/geninitrd   (original)
+++ geninitrd/trunk/geninitrd   Wed Oct 24 17:53:33 2007
@@ -538,13 +538,29 @@
                usenfs="yes"
                echo "Remember to use \`root=/dev/ram0 init=/linuxrc' when 
starting kernel" >&2
                echo "or you will have problems like init(xx) being child 
process of swapper(1)." >&2
-       elif is_yes "`echo "$devpath" | awk '/^\/dev\/md/ { print "yes"; }'`"; 
then
+               return
+       fi
+
+       if is_yes "`echo "$devpath" | awk '/^\/dev\/md/ { print "yes"; }'`"; 
then
                find_modules_softraid "$devpath"
-       elif is_yes "$(echo "$devpath" | awk '/^\/dev\/(sd|scsi)/ { print 
"yes"; }')" ; then
+               return
+       fi
+
+       if is_yes "$(echo "$devpath" | awk '/^\/dev\/(sd|scsi)/ { print "yes"; 
}')" ; then
                find_modules_scsi
-       elif is_yes "`echo "$devpath" | awk '/^\/dev\/(hd|ide)/ { print "yes"; 
}'`" ; then
+               return
+       fi
+
+       if is_yes "`echo "$devpath" | awk '/^\/dev\/(hd|ide)/ { print "yes"; 
}'`" ; then
                find_modules_ide "$devpath"
-       elif is_yes "`echo "$devpath" | awk 
'/^\/dev\/mapper\/(sil|hpt37x|hpt45x|isw|lsi|nvidia|pdc|sil|via|dos)_/ { print 
"yes"; }'`"; then
+               return
+       fi
+
+       if [[ "$devpath" == /dev/mapper/* ]] && is_yes "$USE_MULTIPATH"; then
+               :
+       fi
+
+       if is_yes "$(echo "$devpath" | awk 
'/^\/dev\/mapper\/(sil|hpt37x|hpt45x|isw|lsi|nvidia|pdc|sil|via|dos)_/ { print 
"yes"; }')"; then
                # dmraid nodes taken from: `dmraid -l` output
                if [ ! -x /usr/sbin/dmraid ]; then
                        die "root on dmraid but /usr/sbin/dmraid not found."
@@ -563,14 +579,25 @@
 
                # XXX probably should detect
                findmodule "dm-mirror"
+               return
+       fi
 
-       elif is_yes "`echo "$devpath" | awk '/\/dev\/rd\// { print "yes"; }'`" 
; then
+       if is_yes "`echo "$devpath" | awk '/\/dev\/rd\// { print "yes"; }'`" ; 
then
                findmodule "DAC960"
-       elif is_yes "`echo "$devpath" | awk '/\/dev\/ida\// { print "yes"; }'`" 
; then
+               return
+       fi
+
+       if is_yes "`echo "$devpath" | awk '/\/dev\/ida\// { print "yes"; }'`" ; 
then
                findmodule "cpqarray"
-       elif is_yes "`echo "$devpath" | awk '/\/dev\/cciss\// { print "yes"; 
}'`" ; then
+               return
+       fi
+
+       if is_yes "`echo "$devpath" | awk '/\/dev\/cciss\// { print "yes"; }'`" 
; then
                findmodule "cciss"
-       elif is_yes "`echo "$devpath" | awk '/\/dev\/ataraid\// { print "yes"; 
}'`"; then
+               return
+       fi
+
+       if is_yes "`echo "$devpath" | awk '/\/dev\/ataraid\// { print "yes"; 
}'`"; then
                find_modules_ide
                findmodule "ataraid"
                ataraidmodules="`awk '/ataraid_hostadapter/ && ! /^[\t ]*#/ { 
print $3; }' $modulefile`"
@@ -581,8 +608,11 @@
                for n in $ataraidmodules; do
                        findmodule "$n"
                done
+               return
+       fi
+
        # check to see if we need to set up a loopback filesystem
-       elif is_yes "`echo "$devpath" | awk -F/ '{print($3);}' | awk '/loop/ { 
print "yes"; }'`" ; then
+       if is_yes "`echo "$devpath" | awk -F/ '{print($3);}' | awk '/loop/ { 
print "yes"; }'`" ; then
                die "Sorry, root on loop device isn't supported."
                # TODO: rewrite for bsp and make nfs ready
                if [ ! -x /sbin/losetup ]; then
@@ -601,7 +631,10 @@
                BASICMODULES="$BASICMODULES -loop"
                findmodule "-$loopFs"
                BASICMODULES="$BASICMODULES -${loopFs}"
-       elif _check_lvm "$devpath"; then
+               return
+       fi
+
+       if _check_lvm "$devpath"; then
                node="$devpath"
 
                if [ ! -f /sbin/initrd-lvm -o ! -x /sbin/lvdisplay -o ! -x 
/sbin/pvdisplay ] ; then
@@ -634,6 +667,7 @@
                fi
                debug "LVM $LVMTOOLSVERSION enabled"
                uselvm="yes"
+               return
        fi
 }
 
@@ -1202,8 +1236,6 @@
 }
 
 initrd_gen_multipath() {
-       set -x
-
        inst_d /proc /sys /sbin /lib/udev
 #      inst /sbin/multipathd /sbin
        inst /sbin/kpartx /sbin
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to