Subject: RAIDframe changes.
To: None <current-users@netbsd.org>
From: Greg Oster <oster@cs.usask.ca>
List: current-users
Date: 02/12/2000 23:42:04
Those of you who follow source-changes will note that I just checked in 
a large number of changes to the RAIDframe code.  Here is a little bit
about what is new and exciting:

1) The size (and content) of the component labels have changed.  This
means that:

 a) You'll want to make sure you're using 'raidctl' from the same date
as the kernel.

 b) You may wish to run 'raidctl -I' on your RAID components to give
them the new labels.  There is no major rush to do this, as the old
component labels will continue to work fine, and at some point you the
component labels may change slightly again, and you will probably be
strongly encouraged to run 'raidctl -I' anyway.

2) /sbin/disklabel supports a 'RAID' partition type, which indicates
that the partition is a component of a RAID set.  The relevant portion
of the disklabel might look something like:

8 partitions:
#        size   offset     fstype   [fsize bsize   cpg]
  d:  2050860        0     unused        0     0         # (Cyl.    0 - 2569)
  e:   196672      798       RAID                        # (Cyl.    1 - 247*)
  f:  1800000   200798       RAID                        # (Cyl.  251*- 2507*)

Note that partitions of type RAID are *not* required at this time --
the old 4.2BSD partition type (with fsize, bsize, and cpg ignored)
still work fine.  The RAID type is needed for 3) however.

3) A "first cut" at RAID autoconfiguration code has been checked in.
When enabled, partitions of type RAID are automagically detected at
boot time, and assuming there are enough components and enough set
information, the corresponding RAID set is automatically configured
*before / is available* (this is critical for 4) :) ).  The code to do
this is all there, but has been disabled.  If you'd like to play with
it, let me know (or have a look at the source and figure it out :) ).

4) A "first cut" at 'root' on a RAID partition has also been checked
in.  Right now it looks like we may be stuck getting a kernel from
"some other place" (e.g. a separate, non-RAID partition), but it does
work.  (I've had my / on RAID 0, 1, and 5 sets on my test box without any
problems in normal operation.  / on a RAID 0 consisting of a number of
AID 1 sets (for example) should also be possible (but I havn't tested it 
yet).  Note that there is more testing that needs to be done here -- 
in particular, the updating of component labels after a
reconstruct/copyback/whatever needs to be fixed.  Right now, if a
disk crashes hard it will probably work, but if you do a
fake failure, it'll likely have problems (esp. with copyback).  I'm
intending on fixing these problems soon and to do more testing in the next
week or so.

More information on all of this will be made available soon.  You can 
always keep up with the latest RAIDframe developments here: 

  http://www.cs.usask.ca/staff/oster/raid.html

(Oh... I believe this makes NetBSD the first BSD to have the ability to 
have / on a RAID set :) )

Have fun :)

Later...

Greg Oster