RFC: graid, first step done.

Alexander Motin mav at FreeBSD.org
Sun Mar 6 14:13:20 UTC 2011


Hi.

I would like to present for review and testing results of my and M.
Warner Losh work on new GEOM-based ataraid(4) replacement - graid.

At this moment we have implemented all required core functionality and
the first set of transformation and metadata modules. Now we have
implemented transformation modules to support such RAID levels: RAID0,
RAID1, RAID1E, RAID10 and CONCAT. For all these levels all such features
as reading, writing, rebuilding, I/O errors recovery and kernel dumping
are supported. Metadata modules now written for Intel and JMicron RAID
BIOS formats. JMicron format is minimalistic by itself, while Intel
format is much more sophisticated, and now we support all of it
features, except RAID level migration. Work on Promise (used by AMD) and
SiliconImage formats is now in progress. Support for other metadata
formats and RAID levels planned later. If somebody wants to help -- feel
free to contact me to coordinate work.

Patches are existing for HEAD, 8-STABLE and 7-STABLE branches:
http://people.freebsd.org/~mav/graid/graid-head-20110305.diff
http://people.freebsd.org/~mav/graid/graid-8-20110305.diff
http://people.freebsd.org/~mav/graid/graid-7-20110305.diff

Patches for HEAD and 8-STABLE are not very invasive and, if everything
goes well, going to be committed to HEAD in few weeks.

Patch for 7-STABLE, except graid, also includes massive update of the
ATA and CAM code from 9-CURRENT. It will not be committed due to
numerous ABI breakages, but can be interesting to some people. Just be
aware that main focus there was on ATA subsystem -- SCSI drivers were
not tested.

Once completed, this project should remove last major show stopper for
enabling CAM-based ATA subsystem by default in 9.x branch. I would
really like it to be done before 9.0 release.

Special thanks to Cisco Systems, Inc. and iXsystems, Inc. for sponsoring
this project.

-- 
Alexander Motin


More information about the freebsd-scsi mailing list