opnsense-src/sys/geom
Alexander Motin 89b172238a MFgraid/head:
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 any 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.
2011-03-24 21:31:32 +00:00
..
bde Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
cache Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
concat Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
eli Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
gate Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
journal Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
label Some linux distros put mount point into the ext2fs labels, such as '/', or 2011-03-08 17:00:31 +00:00
linux_lvm Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
mirror Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
mountver Make sure not to pass NULL to g_orphan_provider(). 2010-06-05 08:00:52 +00:00
multipath Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
nop Sector size can not be greater than MAXPHYS. 2011-01-12 12:26:10 +00:00
part Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
raid MFgraid/head: 2011-03-24 21:31:32 +00:00
raid3 Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
sched Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
shsec Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
stripe Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
uzip Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
vinum - Check flag with the bitwise operator, not the logical operator. 2010-10-01 06:12:13 +00:00
virstor Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
zero In g_zero_destroy_geom(), return 0 instead of EBUSY in the success case. 2010-05-10 19:08:53 +00:00
geom.h MFgraid/head r218212, r218257: 2011-03-24 19:23:42 +00:00
geom_aes.c Don't pass error value pointer to g_read_data(9) at all if we don't 2005-11-30 22:15:00 +00:00
geom_bsd.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom_bsd_enc.c Decode as many or as few partition entries as the label claims there 2007-12-09 22:44:22 +00:00
geom_ccd.c - Fix a potential NULL pointer reference. Note that this should not happen in 2008-11-25 20:28:33 +00:00
geom_ctl.c Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
geom_ctl.h
geom_dev.c MFgraid/head r217827: 2011-03-24 08:37:48 +00:00
geom_disk.c MFgraid/head r218212, r218257: 2011-03-24 19:23:42 +00:00
geom_disk.h Add the disk ident and a human-meaningful description (here, the disk model 2011-02-26 14:58:54 +00:00
geom_dump.c Escape characters unsafe for XML output in GEOM class, instance and 2010-03-20 16:16:13 +00:00
geom_event.c Use g_eventlock to protect against losing wakeups in the g_event process 2010-11-22 16:47:53 +00:00
geom_fox.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom_int.h
geom_io.c Correct bioq_disksort so that bioq_insert_tail() offers barrier semantic. 2010-09-02 19:40:28 +00:00
geom_kern.c Use g_eventlock to protect against losing wakeups in the g_event process 2010-11-22 16:47:53 +00:00
geom_mbr.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom_mbr_enc.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:27:30 +00:00
geom_pc98.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom_pc98_enc.c Fix signed vs unsigned warning. 2005-05-01 09:44:50 +00:00
geom_redboot.c - Give geom_redboot taste of flash/spi. Now there is another provider 2010-02-03 01:12:19 +00:00
geom_slice.c Change the way in which zero stripesize is handled. Instead of reporting 2010-01-06 13:14:37 +00:00
geom_slice.h Allow to use g_slice_orphan() from outside. 2006-02-18 11:21:17 +00:00
geom_subr.c Fix deadlock between GEOM class unloading and withering. Withering can't 2010-05-05 18:53:24 +00:00
geom_sunlabel.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
geom_sunlabel_enc.c Support VTOC volume names. This can be useful to distinguish multiple 2005-03-30 09:33:10 +00:00
geom_vfs.c Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
geom_vfs.h Remove the struct thread unuseful argument from bufobj interface. 2008-10-10 21:23:50 +00:00
geom_vol_ffs.c Add some FEATURE macros for various GEOM classes. 2011-02-25 10:24:35 +00:00
notes