]> TLD Linux GIT Repositories - packages/rc-scripts.git/blob - rc-scripts-raid.patch
- minor fixes
[packages/rc-scripts.git] / rc-scripts-raid.patch
1 diff -ur rc-scripts-0.4.12.orig/rc.d/rc.sysinit rc-scripts-0.4.12/rc.d/rc.sysinit
2 --- rc-scripts-0.4.12.orig/rc.d/rc.sysinit      2014-06-19 20:04:44.000000000 +0000
3 +++ rc-scripts-0.4.12/rc.d/rc.sysinit   2014-07-25 16:08:09.735000000 +0000
4 @@ -305,61 +305,18 @@
5  
6  # mdadm - manage MD devices aka Linux Software RAID
7  init_mdadm() {
8 -       if [ ! -x /sbin/mdadm -o ! -f /etc/mdadm.conf ]; then
9 +       if [ ! -x /sbin/mdadm ]; then
10                 return
11         fi
12  
13         modprobe -s md
14 -       local rc=0 golvm=0 have_md=0
15         if [ ! -f /proc/mdstat ]; then
16                 return
17         fi
18  
19 -       # assume we have md if at least one ARRAY line is present
20 -       if grep -qE "^([[:blank:]]|)ARRAY[[:blank:]]" /etc/mdadm.conf; then
21 -               have_md=1
22 +       if ! grep -q -E "^md.*active" /proc/mdstat; then
23 +               run_cmd "Starting up RAID devices" /sbin/mdadm --assemble --scan
24         fi
25 -       # configured to do auto scanning
26 -       if [ $have_md = 0 ] && grep -qE "^([[:blank:]]|)DEVICE[[:blank:]]partitions" /etc/mdadm.conf; then
27 -               have_md=1
28 -       fi
29 -
30 -       # none found
31 -       if [ $have_md = 0 ]; then
32 -               return
33 -       fi
34 -
35 -       show "Starting up RAID devices"; busy
36 -       /sbin/mdadm --assemble --scan --auto=yes
37 -       rc=$?
38 -       if [ "$rc" -eq 0 -o "$rc" -eq 2 ]; then
39 -               # rc is used later too, so set sane value
40 -               rc=0
41 -               deltext; ok
42 -               golvm=1
43 -       else
44 -               deltext; fail
45 -       fi
46 -
47 -       # A non-zero return means there were problems
48 -       if [ $rc -gt 0 ]; then
49 -               [ -e /proc/splash ] && echo "verbose" > /proc/splash
50 -               show "Starting up RAID devices"; fail
51 -
52 -               PS1="$(nls '(RAID Repair)# ')"; export PS1
53 -               repair_shell "$(nls '*** An error occurred during the RAID startup.')"
54 -       fi
55 -
56 -       # LVM on RAID (keep in sync with LVM init)
57 -       if [ "$golvm" -eq "1" ]; then
58 -               if [ -x /sbin/vgscan -a -x /sbin/vgchange ]; then
59 -                       run_cmd "Scanning for LVM volume groups (on RAID)" /sbin/vgscan $lvmignorelocking
60 -                       run_cmd "Activating LVM volume groups (on RAID)" /sbin/vgchange -a y $lvmsysinit
61 -                       [ "$lvmversion" = "2" ] && /sbin/vgmknodes
62 -               fi
63 -       fi
64 -       show "Starting up RAID devices"; ok
65 -       return $rc
66  }
67  
68  # Init LVM
69 @@ -832,7 +789,10 @@
70                 fi
71         fi
72  
73 -       # Init LVM
74 +       if ! is_no "$MDADM"; then
75 +               init_mdadm
76 +       fi
77 +
78         if ! is_no "$LVM2"; then
79                 init_lvm
80         fi
81 @@ -844,10 +804,6 @@
82                 [ $delay_cryptsetup = 0 ] && ok || fail
83         fi
84  
85 -       if ! is_no "$MDADM"; then
86 -               init_mdadm
87 -       fi
88 -
89         _RUN_QUOTACHECK=0
90         # Check filesystems
91         if [ -z "$fastboot" ] && [ -z "$nofsck" ]; then