Your message dated Sat, 25 Aug 2012 19:02:41 +0000
with message-id <e1t5ld3-0007v6...@franck.debian.org>
and subject line Bug#685161: fixed in mdadm 3.2.5-2
has caused the Debian Bug report #685161,
regarding mdadm initramfs script panics with modern mdadm being unable to load 
any modules
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
685161: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685161
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: mdadm
Version: 3.2.5-1
Severity: grave
Tags: patch wheezy
Justification: makes system unbootable

The mdadm initramfs hook in /share/initramfs-tools/hooks/mdadm
tries to create a list of array:level pairs for arrays found
on the system in question.  From this list, it extracts a list
of levels in use.  It uses this list to record a list of modules
to load for the initramfs script.

Modern mdadm does not include raid levels in the generated mdadm.conf
anymore.  So the list of raid levels to use will be empty.

However, the initramfs mdadm script contains the following code:

  MD_DEVS=all
  MD_MODULES='linear multipath raid0 raid1 raid456 raid5 raid6 raid10'
  [ -s /conf/conf.d/md ] && . /conf/conf.d/md

  verbose && log_begin_msg Loading MD modules
  for module in ${MD_MODULES:-}; do
    if modprobe -q "$module"; then
      verbose && log_success_msg "loaded module ${module}."
    else
      log_failure_msg "failed to load module ${module}."
    fi
  done
  log_end_msg

  if [ ! -f /proc/mdstat ]; then
    verbose && panic "cannot initialise MD subsystem (/proc/mdstat missing)"
    exit 1
  fi

When the hook runs and "discovers" empty list of levels,
it adds

  MD_MODULES=''

to /conf/conf.d/md.  So the above fragment will not load any raid
modules.

But the last piece of code above checks whenever /proc/mdstat exists
and panics if it doesn't.  But since we didn't load any module,
md_mod hasn't been loaded either, so /proc/mdstat will not exist.

So the code will panic, and initramfs will display its emergency
prompt waiting for actions.  And no raid arrays will ever be assembled,
because the code assembling arrays is below this panic/exit place.

This happens with user-created arrays mostly, d-i somehow manages
to create mdadm.conf which contains the necessary level= options
for each array, but the issue is still severe enough.

The solution appears to be to just remove this module loading and
/proc/mdstat check, since mdadm is perfectly capable of on-demand
loading of all support modules - by accessing a temp node and
relying on module autoloading using block-major-9* alias for the
main md_mod module, and raid level modules are autoloaded by
md_mod.

So this whole check and module loading needs to be removed now.
But we should remember we have to set md_mod parameter (start_ro=1)
which is set in /sys/module/md_mod before invoking mdadm for the
first time.

Thanks,

/mjt

--- End Message ---
--- Begin Message ---
Source: mdadm
Source-Version: 3.2.5-2

We believe that the bug you reported is fixed in the latest version of
mdadm, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 685...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Tokarev <m...@tls.msk.ru> (supplier of updated mdadm package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 25 Aug 2012 16:25:37 +0400
Source: mdadm
Binary: mdadm mdadm-udeb
Architecture: source i386
Version: 3.2.5-2
Distribution: unstable
Urgency: low
Maintainer: Debian mdadm maintainers <pkg-mdadm-de...@lists.alioth.debian.org>
Changed-By: Michael Tokarev <m...@tls.msk.ru>
Description: 
 mdadm      - tool to administer Linux MD arrays (software RAID)
 mdadm-udeb - tool to administer Linux MD arrays (software RAID) (udeb)
Closes: 644389 678262 678971 678973 685161
Changes: 
 mdadm (3.2.5-2) unstable; urgency=low
 .
   [ Sergey B Kirpichev ]
   * Fix mdadm.lintian-overrides
   * Fix spelling in binaries, fix lintian warnings
     manpage-has-errors-from-man and hyphen-used-as-minus-sign
   * Drop unused debconf templates
   * Implement status option for mdadm-raid init.d script
   * Fix lintian info's conflicts-with-version: Conflicts -> Breaks
 .
   [ Michael Tokarev ]
   * fix spelling mistakes in previous changelog entry
   * some cleanups for checkarray:
    - change --help printing and shorten/simplify the text
    - make --quiet cumulative and stop documenting --real-quiet
    - do not prduce help in case of incorrect usage, and exit with 1
   * fixes for initramfs integration (Closes: #644389, #678262, #685161):
    - check INITRDSTART=none early
    - do not explicitly load raid level modules (modprobe/kmod does this)
    - do not collect needed raid levels (we include all modules anyway)
    - load md_mod explicitly since we need to change global parameter
 .
   [ Dmitrijs Ledkovs ]
   * Use dh_installinit with --no-restart-on-upgrade, which will start
     arrays, but will not stop them during upgrade. (Closes: 678971)
   * Copy local administrator's modified udev rules as well as the system
     one. (Closes: #678973)
Checksums-Sha1: 
 0adb0a511c48e84a6df6c592a194b822f0bd86ad 1491 mdadm_3.2.5-2.dsc
 ecb854899f80f2a1c42d65372c4fdd8541995dd3 123812 mdadm_3.2.5-2.debian.tar.bz2
 25681523a2527bc3e1fbc253bcfc19a3213f673a 557500 mdadm_3.2.5-2_i386.deb
 a3ec16f51c780efa16a95d4485c8d8711ff76083 168280 mdadm-udeb_3.2.5-2_i386.udeb
Checksums-Sha256: 
 be7597081d477eee49ed355e1033aaf60819d40f2be3af791e47903d5bbea872 1491 
mdadm_3.2.5-2.dsc
 eccfb43e0c1229e79d28e962e7f5145f6a6f4a5be0fba6769c705b7f75b9acae 123812 
mdadm_3.2.5-2.debian.tar.bz2
 9b02aab57c892fc382767d826883890b3f2affa1f4c6cef64f79b40508cc9b63 557500 
mdadm_3.2.5-2_i386.deb
 8f6dba5d0ed2f5f5e8970ab839e2c70e0c8649cbfc5013b19a076d0b9a0e8892 168280 
mdadm-udeb_3.2.5-2_i386.udeb
Files: 
 1bb3d4dcca7a4330d774b593686b0cf2 1491 admin optional mdadm_3.2.5-2.dsc
 f6709ccc6c4786641b699c315e934b3a 123812 admin optional 
mdadm_3.2.5-2.debian.tar.bz2
 976aa4807a03985f78ce7c0946bb18f5 557500 admin optional mdadm_3.2.5-2_i386.deb
 2bb99be01a5e668d3a79d5ddf57dac11 168280 debian-installer optional 
mdadm-udeb_3.2.5-2_i386.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iJwEAQECAAYFAlA5Hg0ACgkQUlPFrXTwyDiLRwQA0WdvAl4PQJlWdWRJ0WPPNabP
wYrJovQAIGGg40X1cpGqOUvkFkleMgrsdRKfgulvM0bzIKVY5kGRYXCcJr78A270
SgD5o4l3PBa2AiHHMFCF+NaihUjGkXWFXARmUadDdBBWjwESBJC5tQtQNJ7CQmkN
IorCGqwX8THn5kQ0S4s=
=Vy2p
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to