All pastes #1951694 Raw Edit

Someone

public diff v1 · immutable
#1951694 ·published 2010-09-30 09:30 UTC
rendered paste body
--- mkinitrd.dist	2009-04-17 16:44:56.000000000 +0400+++ mkinitrd	2009-04-17 15:40:47.000000000 +0400@@ -420,8 +420,8 @@                 continue ;;             *) handleddevices="$handleddevices $device" ;;         esac-        if [[ "$device" =~ "^md[0-9]+" ]]; then-            vecho "Found RAID component $device"+        if [[ "$device" =~ "^md([0-9]+|[_/])" ]]; then+            vecho "Found RAID array $device"             handleraid "$device"             continue         fi@@ -611,8 +611,15 @@         return 0     fi -    levels=$(awk "/^$1[	 ]*:/ { print\$4 }" /proc/mdstat)-    devs=$(gawk "/^$1[	 ]*:/ { print gensub(\"\\\\[[0-9]*\\\\]\",\"\",\"g\",gensub(\"^md.*raid[0-9]*\",\"\",\"1\")) }" /proc/mdstat)+    # get the name of the whole array (for partitionable arrays)+    array=${1%p?*}++    # translate md/NN to mdNN and md/dNN to md_dNN+    shortarray=${array/md\/d/md_d}+    shortarray=${shortarray/md\//md}++    levels=$(awk "/^$shortarray[	 ]*:/ { print\$4 }" /proc/mdstat)+    devs=$(gawk "/^$shortarray[	 ]*:/ { print gensub(\"\\\\[[0-9]*\\\\]\",\"\",\"g\",gensub(\"^md.*raid[0-9]*\",\"\",\"1\")) }" /proc/mdstat)      for level in $levels ; do         case $level in@@ -635,7 +642,7 @@     done     findstoragedriver $devs     if [ "$start" = 1 ]; then-        raiddevices="$raiddevices $1"+        raiddevices="$raiddevices $array"     fi     return $start }@@ -1703,9 +1710,13 @@ done  if [ -n "$raiddevices" ]; then+    inst /sbin/mdadm.static $MNTIMAGE/bin/mdadm+    if [ -f /etc/mdadm.conf ]; then+        inst /etc/mdadm.conf $MNTIMAGE/etc+    fi     for dev in $raiddevices; do         cp -a /dev/${dev} $MNTIMAGE/dev-        emit "raidautorun /dev/${dev}"+        emit "mdadm -As --auto=yes --run /dev/${dev}"     done fi