Package: mdadm
Version: 2.6.9-1
Severity: normal

Got warnings like this:

W: mdadm: You appear to be missing /dev/md1 from /etc/mdadm/mdadm.conf
W: mdadm: If this is required to boot you must add this line:
W: mdadm: ARRAY /dev/md1 level=raid1 num-devices=2 
UUID=e28345e7:cf40379b:3407723407727f:ebf0f0b0

on all md-devices except the md0 boot device, but there doesn't seem
to be anything wrong with my /etc/mdadm/mdadm.conf, AFAICS.  I believe
i found a few bugs in /usr/share/initramfs-tools/hooks/mdadm.  See
attached patch (mdadm-hook.1.patch).

Hunk 4 corrects the real bug.
Hunk 1 corrects another bug.
Hunks 2 and 3 correct a quoting problem (unescaped double quotes
inside double quotes).  Quoting devpairs="$(...)" is not even
necessary, as the expression is already protected.

Attached mdadm-hook.2.patch is an unrelated light cleanup.


Cheers,

-- Package-specific info:
--- mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid1 num-devices=2 
UUID=a22e8b23:e33010ae:1b789cb8:f0e59097
ARRAY /dev/md1 level=raid1 num-devices=2 
UUID=e28345e7:cf40379b:3407727f:ebf0f0b0
ARRAY /dev/md2 level=raid1 num-devices=2 
UUID=6f701daa:b57eb876:ff3b7856:d4d90ad9
ARRAY /dev/md3 level=raid1 num-devices=2 
UUID=e5ffa444:faefb7e9:50c99164:e968e706
ARRAY /dev/md4 level=raid1 num-devices=2 
UUID=e096f650:60604e58:166a937a:fad38aca
ARRAY /dev/md5 level=raid1 num-devices=2 
UUID=6b146f31:bafbff26:d7214dde:aeee3db7
ARRAY /dev/md6 level=raid1 num-devices=2 
UUID=9daa9f59:86c02785:19553a1e:921899f7
ARRAY /dev/md7 level=raid1 num-devices=2 
UUID=009e26e4:0211bffd:5cfa0948:9d57b2b1
ARRAY /dev/md8 level=raid1 num-devices=2 
UUID=38e785e5:81fccc87:94a5ab19:f874eae1
ARRAY /dev/md9 level=raid1 num-devices=2 
UUID=b83c5142:53b42a66:dcd42906:16b92873

--- /proc/mdstat:
Personalities : [raid1]
md9 : active raid1 sda12[0] sdb12[1]
      78132032 blocks [2/2] [UU]

md8 : active raid1 sda11[0] sdb11[1]
      39061952 blocks [2/2] [UU]

md7 : active raid1 sda10[0] sdb10[1]
      5855552 blocks [2/2] [UU]

md6 : active raid1 sda9[0] sdb9[1]
      5855552 blocks [2/2] [UU]

md5 : active raid1 sda8[0] sdb8[1]
      5855552 blocks [2/2] [UU]

md4 : active raid1 sda7[0] sdb7[1]
      5855552 blocks [2/2] [UU]

md3 : active raid1 sda6[0] sdb6[1]
      3903680 blocks [2/2] [UU]

md2 : active raid1 sda5[0] sdb5[1]
      1951744 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      1951808 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      979840 blocks [2/2] [UU]

unused devices: <none>

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages mdadm depends on:
ii  debconf                       1.5.26     Debian configuration management sy
ii  libc6                         2.9-7      GNU C Library: Shared libraries
ii  lsb-base                      3.2-22     Linux Standard Base 3.2 init scrip
ii  makedev                       2.3.1-88   creates device files in /dev
ii  udev                          0.141-1    /dev/ and hotplug management daemo

Versions of packages mdadm recommends:
ii  module-init-tools             3.7-pre9-1 tools for managing Linux kernel mo
ii  postfix [mail-transport-agent 2.5.5-1.1  High-performance mail transport ag

mdadm suggests no packages.

-- debconf information:
* mdadm/autostart: true
* mdadm/initrdstart: /dev/md0
  mdadm/initrdstart_notinconf: false
  mdadm/initrdstart_msg_errexist:
  mdadm/initrdstart_msg_intro:
  mdadm/initrdstart_msg_errblock:
  mdadm/warning:
* mdadm/start_daemon: true
* mdadm/mail_to: root
  mdadm/initrdstart_msg_errmd:
  mdadm/initrdstart_msg_errconf:
* mdadm/autocheck: true


-- 
Cristian
--- /usr/share/initramfs-tools/hooks/mdadm	2009-04-25 19:57:49.000000000 +0200
+++ mdadm.1	2009-04-26 12:56:39.000000000 +0200
@@ -24,7 +24,7 @@
 {
   case "${1:-}" in
     [Yy]es|[Yy]|1|[Tt]rue|[Tt]) return 0;;
-    *) return 1;
+    *) return 1;;
   esac
 }
 
@@ -179,7 +179,7 @@
   exit 0
 else
   # obtain dev:level pairs from config file, honouring multiline entries
-  devpairs="$(
+  devpairs=$(
     while read line; do
       case "$line" in
         (ARRAY*) :;;
@@ -207,7 +207,7 @@
         echo -n "$($MDADM --detail $dev | sed -rne 's,[[:space:]]+Raid Level : ,,p')"
       fi
       echo -n ' '
-    done < $DESTMDADMCONF)" || exit $?
+    done < $DESTMDADMCONF) || exit $?
 fi
 
 uniquify()
@@ -234,7 +234,7 @@
   # see if /etc/mdadm/mdadm.conf looks like it's missing devices
   if [ -x $MDADM ]; then
     $MDADM --detail --scan | while read array device rubbish; do
-      if ! echo $devs | grep -qw $device; then
+      if ! echo $devpairs | grep -qw $device; then
         warn "You appear to be missing $device from /etc/mdadm/mdadm.conf"
         warn "If this is required to boot you must add this line:"
         rubbish=`echo $rubbish | sed 's/metadata=[^ ]* //'`
--- mdadm.1	2009-04-26 12:56:39.000000000 +0200
+++ mdadm.2	2009-04-26 12:54:29.000000000 +0200
@@ -6,14 +6,14 @@
 #
 set -eu
 
-PREREQ=""
+PREREQ=
 
 prereqs()
 {
   echo "$PREREQ"
 }
 
-case ${1:-} in
+case "${1:-}" in
   prereqs)
     prereqs
     exit 0
@@ -30,7 +30,7 @@
 
 write()
 {
-  local PREFIX; PREFIX=$1; shift
+  local PREFIX=$1; shift
   echo "${PREFIX}: mdadm: $@" >&2
 }
 
@@ -218,7 +218,7 @@
 if [ "$INITRDSTART" != none ] && [ -n "$devpairs" ]; then
   echo "MD_DEVPAIRS='${devpairs% }'" >> $DESTCONFIG
 
-  devs=''; levels=''
+  devs=; levels=
   for i in $devpairs; do
     dev=${i%:*}
     level=${i##*:}
@@ -295,7 +295,7 @@
 fi
 
 # only output this on Debian systems
-[ -s /etc/default/mdadm ] && \
+[ -s /etc/default/mdadm ] &&
   info 'use `dpkg-reconfigure --priority=low mdadm` to change this.'
 
 exit 0

Reply via email to