raid10 vs raid01 type in dmraid

Heinz Mauelshagen mauelshagen at
Thu Jun 21 10:37:45 UTC 2007

On Tue, Jun 19, 2007 at 03:52:14PM -0700, Gaston, Jason D wrote:
> I think that the array for nested raid levels, in metadata.c, may be
> upside down.  When I build a raid0+1 with Intel or Nvidia (one mirror
> array of two stripe arrays), it is reported as a "raid10" with [dmraid
> -s], this should be "raid01".  If I reverse the nesting to raid10, in
> Intel (one stripe array of two mirror arrays), it is reported as a
> "raid01" with [dmraid -s], this should be "raid10".
> Can we just reverse the array in metadata.c?

Nope, this is a question of the definition of RAID10 and RAID01 (or RAID0+1).

I use RAID10 for a mirror on top of 2 (or more) striped sets vs.
RAID01 for a stripe on top of 2 (or more) mirror sets in dmraid.

Ie. looking at the device stack from the top to the bottom.

So the example you made above (Intel or NVidia) with one mirror of
2 striped arrays is a RAID10 by that definition.


> From:
> static const char *stacked_ascii_type[][5] = {
> 	{ "raid10", "raid30", "raid40", "raid50", "raid60" },
> 	{ "raid01", "raid03", "raid04", "raid05", "raid06" },
> };
> To:
> static const char *stacked_ascii_type[][5] = {
> { "raid01", "raid03", "raid04", "raid05", "raid06" },	
> { "raid10", "raid30", "raid40", "raid50", "raid60" },
> }; 
> Thanks,
> Jason

More information about the Ataraid-list mailing list