Hi Michael,

On Thu, Apr 14, 2005 at 10:16:36AM +0400, Michael Tokarev wrote:
> The last mdadm change -- 1.9.0-2.1 -- did NOT fix the bug,
> but made the situation worse.

> rcS.d/S04mdadm-raid is now the FIRST thing the system is
> doing when booting.  At that stage, /proc is not mounted
> (it is mounted later), and in mdadm-raid bootscript, there's
> the following code:

>         if [ "x$AUTOSTART" = "xtrue" ] ; then
>             if [ ! -f /proc/mdstat ] && [ -x /sbin/modprobe ] ; then
>                 /sbin/modprobe -k md > /dev/null 2>&1
>             fi
>             test -f /proc/mdstat || exit 0
>             echo "Starting raid devices: "

> Obviously, without /proc mounted, the script will do right nothing,
> will not start your arrays, and the system becomes unbootable.

> The fix for this #294404 is a one-liner for mdadm-raid script.
> From the mdadm(8):

>        -a, --auto{=no,yes,md,mdp,part,p}{NN}
>               Instruct mdadm to create the device file if needed,
>               possibly allocating an unused minor number.  "md" causes
>               a non-partitionable array to be used.  "mdp", "part" or
>               "p" causes a partitionable array (2.6 and later) to be
>               used.  "yes" requires the named md device to have a from
>               this.  See DEVICE NAMES below.

> This --auto options has been added recently to mdadm, to work
> around exactly this #294404 problem.  So the real fix was just:

> -               $MDADM -A -s
> +               $MDADM -A -s --auto=md

> and probably similar for /sbin/mdrun too.

> But now with current state of the package, some more steps are
> necessary -- ie, to move the symlink back.  I think the best
> is to add a test into postinst to check if the link is at
> S04 and if yes, move it back to S25.

> Please note: mdrun MUST DIE.  I don't know why it is still here,
> this kludge has been written before people discovered mdadm can
> do all the work much better...

# mdadm -A -s --auto=md
mdadm: error opening /dev/md1: No such file or directory
#

I understand the described reasons why the fix in -2.1 is problematic
(mostly related to the need for additional drivers to be loaded on some
systems before trying to bring up RAID -- as discussed on IRC, on a sarge
system, /proc should be mounted well before this point).  But, your proposed
fix was one I had evaluated, and I consistently get the above error when
trying to run mdadm -A -s --auto on a system that has udev loaded.  Any
ideas?

Thanks,
-- 
Steve Langasek
postmodern programmer

Attachment: signature.asc
Description: Digital signature

Reply via email to