]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r219974, r220209, r220210, r220790:
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 17 Jun 2011 06:59:49 +0000 (06:59 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 17 Jun 2011 06:59:49 +0000 (06:59 +0000)
commiteee7827abb63abc7753aefa12b1dca93a3da33a0
treed372a8ce162dcaa073a82f6ba9f731781cfa9294
parent1643779ff3f516e3ea24f07874de6e81acaebf9f
MFC r219974, r220209, r220210, r220790:
Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
does not depend on legacy ata(4) subsystem and can be used with any disk
drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
with `options ATA_CAM`). To make code more readable and extensible, this
implementation follows modular design, including core part and two sets
of modules, implementing support for different metadata formats and RAID
levels.

Support for such popular metadata formats is now implemented:
Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.

Such RAID levels are now supported:
RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.

For all of these RAID levels and metadata formats this class supports
full cycle of volume operations: reading, writing, creation, deletion,
disk removal and insertion, rebuilding, dirty shutdown detection
and resynchronization, bad sector recovery, faulty disks tracking,
hot-spare disks. For Intel and Promise formats there is support multiple
volumes per disk set.

Look graid(8) manual page for additional details.

Co-authored by: imp
Sponsored by:   Cisco Systems, Inc. and iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/8@223177 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
25 files changed:
etc/mtree/BSD.include.dist
include/Makefile
sbin/geom/class/Makefile
sbin/geom/class/raid/Makefile [new file with mode: 0644]
sbin/geom/class/raid/geom_raid.c [new file with mode: 0644]
sbin/geom/class/raid/graid.8 [new file with mode: 0644]
sys/conf/NOTES
sys/conf/files
sys/conf/options
sys/geom/raid/g_raid.c [new file with mode: 0644]
sys/geom/raid/g_raid.h [new file with mode: 0644]
sys/geom/raid/g_raid_ctl.c [new file with mode: 0644]
sys/geom/raid/g_raid_md_if.m [new file with mode: 0644]
sys/geom/raid/g_raid_tr_if.m [new file with mode: 0644]
sys/geom/raid/md_intel.c [new file with mode: 0644]
sys/geom/raid/md_jmicron.c [new file with mode: 0644]
sys/geom/raid/md_nvidia.c [new file with mode: 0644]
sys/geom/raid/md_promise.c [new file with mode: 0644]
sys/geom/raid/md_sii.c [new file with mode: 0644]
sys/geom/raid/tr_concat.c [new file with mode: 0644]
sys/geom/raid/tr_raid0.c [new file with mode: 0644]
sys/geom/raid/tr_raid1.c [new file with mode: 0644]
sys/geom/raid/tr_raid1e.c [new file with mode: 0644]
sys/modules/geom/Makefile
sys/modules/geom/geom_raid/Makefile [new file with mode: 0644]