X-Git-Url: https://git.tld-linux.org/?p=packages%2Frc-scripts.git;a=blobdiff_plain;f=rc-scripts-raid_lvm.patch;fp=rc-scripts-raid_lvm.patch;h=f8691c06f25d05c3fe06c7926e472b90b3951090;hp=0000000000000000000000000000000000000000;hb=be10dac1baff45e310deaa5ef45bf8980cd57d23;hpb=913b1f691b223092cfd406cc7bfe59446d2850f5 diff --git a/rc-scripts-raid_lvm.patch b/rc-scripts-raid_lvm.patch new file mode 100644 index 0000000..f8691c0 --- /dev/null +++ b/rc-scripts-raid_lvm.patch @@ -0,0 +1,110 @@ +diff -ur rc-scripts-0.4.12.orig/rc.d/rc.sysinit rc-scripts-0.4.12/rc.d/rc.sysinit +--- rc-scripts-0.4.12.orig/rc.d/rc.sysinit 2014-08-05 14:20:11.411000000 +0000 ++++ rc-scripts-0.4.12/rc.d/rc.sysinit 2014-08-05 15:22:35.445000000 +0000 +@@ -301,63 +301,26 @@ + fi + } + +-# mdadm - manage MD devices aka Linux Software RAID ++# Init software RAID arrays + init_mdadm() { +- if [ ! -x /sbin/mdadm -o ! -f /etc/mdadm.conf ]; then ++ local output ++ ++ if [ ! -x /sbin/mdadm ]; then + return + fi + + modprobe -s md +- local rc=0 golvm=0 have_md=0 + if [ ! -f /proc/mdstat ]; then + return + fi + +- # assume we have md if at least one ARRAY line is present +- if grep -qE "^([[:blank:]]|)ARRAY[[:blank:]]" /etc/mdadm.conf; then +- have_md=1 +- fi +- # configured to do auto scanning +- if [ $have_md = 0 ] && grep -qE "^([[:blank:]]|)DEVICE[[:blank:]]partitions" /etc/mdadm.conf; then +- have_md=1 +- fi +- +- # none found +- if [ $have_md = 0 ]; then +- return +- fi +- + show "Starting up RAID devices"; busy +- /sbin/mdadm --assemble --scan --auto=yes +- rc=$? +- if [ "$rc" -eq 0 -o "$rc" -eq 2 ]; then +- # rc is used later too, so set sane value +- rc=0 +- deltext; ok +- golvm=1 +- else +- deltext; fail +- fi +- +- # A non-zero return means there were problems +- if [ $rc -gt 0 ]; then +- [ -e /proc/splash ] && echo "verbose" > /proc/splash +- show "Starting up RAID devices"; fail +- +- PS1="$(nls '(RAID Repair)# ')"; export PS1 +- repair_shell "$(nls '*** An error occurred during the RAID startup.')" +- fi ++ output=$(/sbin/mdadm --assemble --scan 2>&1) ++ ok + +- # LVM on RAID (keep in sync with LVM init) +- if [ "$golvm" -eq "1" ]; then +- if [ -x /sbin/vgscan -a -x /sbin/vgchange ]; then +- run_cmd "Scanning for LVM volume groups (on RAID)" /sbin/vgscan $lvmignorelocking +- run_cmd "Activating LVM volume groups (on RAID)" /sbin/vgchange -a y $lvmsysinit +- [ "$lvmversion" = "2" ] && /sbin/vgmknodes +- fi ++ if [ -n "$output" ]; then ++ echo "$output" + fi +- show "Starting up RAID devices"; ok +- return $rc + } + + # Init LVM +@@ -390,8 +353,10 @@ + + run_cmd "Scanning for LVM volume groups" /sbin/vgscan $lvmignorelocking + run_cmd "Activating LVM volume groups" /sbin/vgchange -a y $lvmsysinit ++ + if [ "$lvmversion" = "2" ]; then +- /sbin/vgmknodes $lvmignorelocking ++ # silently refresh LV /dev nodes (just for case) ++ /sbin/vgmknodes $lvmignorelocking 1>/dev/null 2>&1 + # display VG statistics + /sbin/vgdisplay -s $lvmignorelocking + fi +@@ -830,7 +795,10 @@ + fi + fi + +- # Init LVM ++ if ! is_no "$MDADM"; then ++ init_mdadm ++ fi ++ + if ! is_no "$LVM2"; then + init_lvm + fi +@@ -842,10 +810,6 @@ + [ $delay_cryptsetup = 0 ] && ok || fail + fi + +- if ! is_no "$MDADM"; then +- init_mdadm +- fi +- + _RUN_QUOTACHECK=0 + # Check filesystems + if [ -z "$fastboot" ] && [ -z "$nofsck" ]; then