Bug#554461: udev: partitions on sd* belonging to a software raid are not populated

Neil Brown neilb at suse.de
Mon Dec 7 23:52:07 UTC 2009


On Mon, 7 Dec 2009 18:55:24 +0100
md at Linux.IT (Marco d'Itri) wrote:

> reassign 554461 mdadm
> thanks
> 
> On Dec 07, Andrea Palazzi <palazziandrea at yahoo.it> wrote:
> 
> > At boot time the system (usually) complains about /dev/sdc and /dev/sdc1
> > having a very similar superblock, and suggests to clear the fake one;
> > however mdadm --zero-superblock does not solve.
> Looks like an mdadm bug to me.
> 
> > Tehy say it can be a race condition, and it seems to me coherent with
> > the behaviour I'm seeing; however I couldn't find on my system the
> > related udef file, so I couldn't use the proposed workaround.
> Even if this were true, it would still be an mdadm bug.
> 

This is not really an mdadm bug.  It is a bug with the 0.90 metadata format.

If a partition starts at and offset from the start of the device which is a
multiple of 64K, and extends to the end of the device, then a 0.90 superblock
on the partition is indistinguishable from a similar superblock on the whole
device.
So mdadm cannot know which one to use.
I guess the error message which mdadm is giving doesn't make this very clear,
so maybe that is a bug in mdadm.  But even if that were fixed you would still
have a problem with your current setup.

The easiest way to deal with this situation is to tell mdadm whether you want
to use partitions or whole devices.  You do this with the "DEVICE" line in
/etc/mdadm/mdadm.conf

To you partitions, make the line e.g.

   DEVICE /dev/sd[a-z][0-9]

For whole devices, something like

   DEVICE /dev/sd[a-z]

However if you have more than 26 devices, you might need more possibilities
listed.

We are slowly moving towards making the v1.x metadata the default.  This
metadata does not suffer from this problem.

NeilBrown





More information about the pkg-mdadm-devel mailing list