Your message dated Sat, 25 Aug 2012 19:02:41 +0000 with message-id <[email protected]> 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 [email protected] immediately.) -- 685161: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685161 Debian Bug Tracking System Contact [email protected] 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 [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Michael Tokarev <[email protected]> (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 [email protected]) -----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 <[email protected]> Changed-By: Michael Tokarev <[email protected]> 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 ---

