freebsd-dev/sys/modules
Ulf Lilleengen c0b9797aa8 Import the gvinum work that have been done during and after Summer of Code 2007.
The work have been under testing and fixing since then, and it is mature enough
to be put into HEAD for further testing.

A lot have changed in this time, and here are the most important:
- Gvinum now uses one single workerthread instead of one thread for each
  volume and each plex. The reason for this is that the previous scheme was
  very complex, and was the cause of many of the bugs discovered in gvinum.
  Instead, gvinum now uses one worker thread with an event queue, quite
  similar to what used in gmirror.
- The rebuild/grow/initialize/parity check routines no longer runs in
  separate threads, but are run as regular I/O requests with special flags.
  This made it easier to support mounted growing and parity rebuild.
- Support for growing striped and raid5-plexes, meaning that one can extend the
  volumes for these plex types in addition to the concat type. Also works while
  the volume is mounted.
- Implementation of many of the missing commands from the old vinum:
  attach/detach, start (was partially implemented), stop (was partially
  implemented), concat, mirror, stripe, raid5 (shortcuts for creating volumes
  with one plex of these organizations).
- The parity check and rebuild no longer goes between userland/kernel, meaning
  that the gvinum command will not stay and wait forever for the rebuild to
  finish. You can instead watch the status with the list command.
- Many problems with gvinum have been reported since 5.x, and some has been hard
  to fix due to the complicated architecture. Hopefully, it should be more
  stable and better handle edge cases that previously made gvinum crash.
- Failed drives no longer disappears entirely, but now leave behind a dummy
  drive that makes sure the original state is not forgotten in case the system
  is rebooted between drive failures/swaps.
- Update manpage to reflect new commands and extend it with some examples.

Sponsored by:   Google Summer of Code 2007
Mentored by:    le
Tested by:      Rick C. Petty <rick-freebsd2008 -at- kiwi-computer.com>
2009-03-28 17:20:08 +00:00
..
3dfx
3dfx_linux
aac
accf_data
accf_dns Add an accept filter for TCP based DNS requests. It waits until the 2008-07-18 14:44:51 +00:00
accf_http
acpi Fix a few problems related to building modules in /sys/modules (not 2009-02-12 14:44:15 +00:00
ae Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
age Hook up age(4) to the build. 2008-05-19 01:53:47 +00:00
agp Fix a few problems related to building modules in /sys/modules (not 2009-02-12 14:44:15 +00:00
aha Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
ahb Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
aic
aic7xxx
aio - Add 32-bit compat system calls for VFS_AIO. The system calls live in the 2008-12-10 20:56:19 +00:00
ale Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernet 2008-11-12 09:52:06 +00:00
amd
amdtemp Rename the k8temp driver to amdtemp. 2009-03-13 16:08:08 +00:00
amr Add amr_cam module directory that was missed in the previous commit. 2008-11-03 04:13:27 +00:00
an Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
aout
apm
ar Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
arcmsr
arcnet
asmc Remove isa_if.h. 2008-04-07 11:26:13 +00:00
asr Remove Alpha remnants. 2006-07-27 19:12:49 +00:00
ata Move the uaudio and ata-usb drivers into their correct locations. 2009-02-23 21:19:18 +00:00
ath Combine ath rate control modules with ath after bringing ath_hal 2008-12-14 22:26:57 +00:00
auxio
bce
bfe
bge Add ofw_bus_if.h as a dependency on sparc64. Without this sparc64 kernel 2007-06-10 00:58:41 +00:00
bios
bktr Remove option headers that do not exist and are not used 2008-03-27 20:38:03 +00:00
bm Add support for the Apple Big Mac (BMAC) Ethernet controller, 2008-06-07 22:58:32 +00:00
bridgestp Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
cam Add the CAM 'SG' peripheral device. This device implements a subset of the 2007-04-07 19:40:58 +00:00
canbepm
canbus
cardbus
cbb
cd9660 Makefile changes to reflect moving sys/isofs/cd9660 to sys/fs/cd9660. 2007-02-11 14:01:32 +00:00
cd9660_iconv Makefile changes to reflect moving sys/isofs/cd9660 to sys/fs/cd9660. 2007-02-11 14:01:32 +00:00
ce Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
ciss
cm
cmx Commit cmx(4), a driver for Omnikey CardMan 4040 PCMCIA smartcard readers. 2008-03-06 08:09:45 +00:00
coda Rather than having the Coda module use its own namecache, use the global 2008-02-13 13:06:22 +00:00
coda5 Remove coda_namecache from coda5 as well. We should probably GC coda5 2008-02-13 16:31:04 +00:00
coff
coretemp Add a driver for the on-die digital thermal sensor found on Intel Core 2007-08-15 19:26:03 +00:00
cp Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
cpuctl - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
cpufreq Add support for Phenom (Family 10h) to cpufreq. 2009-03-28 08:54:47 +00:00
crypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
cryptodev oops, another missed file from crypto api change 2007-03-31 23:15:11 +00:00
cs
ctau Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
cx Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
cxgb This main goals of this project are: 2008-12-15 06:10:57 +00:00
cyclic The cyclic code is in sys/cddl/dev/cyclic to be consistent with 2008-05-23 22:23:28 +00:00
dc
dcons Fix a breakage with "MODULES_WITH_WORLD=true make buildworld". 2007-06-01 00:23:34 +00:00
dcons_crom
de
digi Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
dpms Add a very simple dpms(4) driver that uses the VESA BIOS DPMS calls to 2008-08-23 21:00:40 +00:00
dpt On i386 compile the back-end with EISA support as well as the EISA 2007-04-10 20:33:31 +00:00
drm Import support for ATI Radeon R600 and R700 series chips. 2009-03-07 21:36:57 +00:00
dtrace Move dtnfsclient.c in the cddl tree to nfs_kdtrace.c in the nfsclient 2009-03-25 17:47:22 +00:00
dummynet
ed
elink
em Add opt_inet.h which has been needed since r184717 introducing 2008-11-12 21:32:49 +00:00
en
ep
esp Don't build unused SBus front-ends for sun4v, don't build EBus front-ends 2008-05-04 14:59:25 +00:00
et Remove a file that is not used and does not exist. 2008-07-28 17:56:37 +00:00
ex
exca
ext2fs
fatm Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
fdc Dike out WARNS from kernel module makefiles. Kernels and modules 2006-05-30 09:38:54 +00:00
fdescfs
fe
firewire
firmware Unbreak firmware.ko build without kernel. 2008-04-20 16:11:14 +00:00
fxp
gem
geom Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
glxsb Add glxsb(4) driver for the Security Block in AMD Geode LX processors (as 2008-08-09 14:52:31 +00:00
hatm Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
hifn Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
hme Don't build unused SBus front-ends for sun4v, don't build EBus front-ends 2008-05-04 14:59:25 +00:00
hpfs
hptiop Introduce a driver for the Highpoint RocketRAID 3xxx series of controllers. 2007-05-09 07:07:26 +00:00
hptmv
hptrr Add the 'hptrr' driver for supporting the following Highpoint RocketRAID 2007-12-15 00:56:17 +00:00
hwpmc - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00
i2c The viapm module build had what appear to be some debugging CFLAGS left 2007-06-24 20:35:59 +00:00
ibcs2
ichwd
ida
ie
if_bridge bridgestp is now a seperate module. 2006-07-26 22:15:15 +00:00
if_disc
if_edsc Introduce a new toy interface, edsc(4). It's a discard interface 2007-03-26 04:39:18 +00:00
if_ef Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_faith
if_gif
if_gre
if_lagg Rename the trunk(4) driver to lagg(4) as it is too similar to vlan trunking. 2007-04-17 00:35:11 +00:00
if_ndis o port NDIS USB support from USB1 to the new usb(USB2). 2009-03-07 07:26:22 +00:00
if_ppp Teach an IPv6 to ppp(4). 2006-11-11 15:02:04 +00:00
if_sl
if_stf
if_tap Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
if_tun
if_vlan Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
igb Add opt_inet.h which has been needed since r184718, which had 2008-11-12 21:33:45 +00:00
iir
io
ip6_mroute_mod Introduce a number of changes to the MROUTING code. 2009-03-19 01:43:03 +00:00
ip_mroute_mod Introduce a number of changes to the MROUTING code. 2009-03-19 01:43:03 +00:00
ipdivert
ipfilter
ipfw Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
ipfw_nat Move ipfw's nat code into its own kld: ipfw_nat. 2008-02-29 22:27:19 +00:00
ipmi Add in forgotten module ipmi_linux. 2009-03-26 19:15:31 +00:00
ips
ipw
ipwfw - Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a 2007-03-02 11:42:56 +00:00
iscsi Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the 2007-07-24 15:35:02 +00:00
isp Don't build unused SBus front-ends for sun4v, don't build EBus front-ends 2008-05-04 14:59:25 +00:00
ispfw Don't build unused SBus front-ends for sun4v, don't build EBus front-ends 2008-05-04 14:59:25 +00:00
iwi
iwifw - Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a 2007-03-02 11:42:56 +00:00
iwn clear out crud 2008-05-22 21:53:15 +00:00
iwnfw remove license ack requirement; this was never needed 2009-01-09 22:35:25 +00:00
ixgb
ixgbe Remove compile of tcp_lro since its now in netinet 2008-06-11 22:18:50 +00:00
jme Hook up jme(4) to the build. 2008-05-27 01:54:45 +00:00
joy
kbdmux Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
kgssapi Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
kgssapi_krb5 Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
krpc Unbreak NFS. 2008-11-06 10:53:35 +00:00
le Don't build unused SBus front-ends for sun4v, don't build EBus front-ends 2008-05-04 14:59:25 +00:00
lge
libalias Add SCTP NAT support. 2009-02-07 18:49:42 +00:00
libiconv
libmbpool
libmchain
linprocfs Add stuff to support upcoming BMC/IPMI flashing of newer Dell machine 2009-03-26 17:14:22 +00:00
linsysfs - Add the new files to the linux module. 2006-08-15 13:01:36 +00:00
linux Fix a few problems related to building modules in /sys/modules (not 2009-02-12 14:44:15 +00:00
lmc
lpt
mac_biba
mac_bsdextended Break mac_bsdextended.c out into multiple .c files, with the base access 2008-10-27 12:09:15 +00:00
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
malo Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
mcd
md
mem Prefer the opt_global.h from KERNBUILDDIR if existent so we obtain all 2008-07-24 14:07:52 +00:00
mfi Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devices 2007-05-16 17:19:47 +00:00
mii Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabit 2008-06-20 19:28:33 +00:00
mlx
mly
mmc Loadable modules for mmc (the bus) amd mmcsd (the MMC and SD support 2006-10-20 06:52:59 +00:00
mmcsd Loadable modules for mmc (the bus) amd mmcsd (the MMC and SD support 2006-10-20 06:52:59 +00:00
mpt Add a new personality to mpt(4) devices to allow userland applications to 2008-05-06 20:49:53 +00:00
mqueue
msdosfs Reflecting the removal of MSDOSFS_LARGE found in sys/conf/files:1.1173. 2007-02-01 04:21:03 +00:00
msdosfs_iconv
mse
msk Hook up msk(4) to the build. 2006-12-13 02:37:48 +00:00
mxge Add optional support to mxge for MSI-X interrupts and multiple receive 2008-01-15 20:34:49 +00:00
my my(4) doesn't need miibus(4). 2007-03-11 15:20:04 +00:00
ncp
ncv
ndis o port NDIS USB support from USB1 to the new usb(USB2). 2009-03-07 07:26:22 +00:00
netgraph Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced 2009-03-15 14:21:05 +00:00
nfe Remove no longer existing opt_bdg.h and opt_bge.h. 2006-11-03 21:41:19 +00:00
nfs4client
nfsclient Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
nfslockd Unbreak the build by creating opt_nfs.h 2008-07-31 02:13:36 +00:00
nfsserver Fix standalone module build by generating opt_kgssapi.h. 2008-11-25 16:11:41 +00:00
nge
nmdm Integrate the new MPSAFE TTY layer to the FreeBSD operating system. 2008-08-20 08:31:58 +00:00
nsp
ntfs
ntfs_iconv
nullfs
nve
nvram Split /dev/nvram driver out of isa/clock.c for i386 and amd64. I have not 2007-10-26 03:23:54 +00:00
nwfs
nxge Merge Neterion if_nxge driver version 2.0.9.11230 with the following 2007-10-29 14:19:32 +00:00
opensolaris As with ZFS use real atomic operations for sparc64. 2009-03-24 15:48:35 +00:00
padlock another missing change for recent crypto mods 2007-03-21 17:37:13 +00:00
patm Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
pccard
pcfclock
pcn Move pcn driver from sys/pci to sys/dev/pcn. 2008-08-14 20:34:46 +00:00
pf Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
pflog Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
plip
pmc
portalfs
powermac_nvram make 'make universe' not complain about 2008-11-29 08:45:20 +00:00
ppbus
ppc Make this usable for all platforms. 2006-06-18 05:04:42 +00:00
ppi
pps
procfs Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
pseudofs
pst
puc
ral Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ralfw Remove the non-existent rt2860 subdir. Note, the ralfw module is not used in 2008-06-26 18:58:01 +00:00
random
ray
rc Integrate the new MPSAFE TTY layer to the FreeBSD operating system. 2008-08-20 08:31:58 +00:00
rc4
rdma add makefiles for rdma 2008-05-05 20:19:33 +00:00
re
reiserfs
rl Make RL_TWISTER_ENABLE a tunable/sysctl. Eliminate it as an option. 2008-11-02 16:50:57 +00:00
rndtest
rp Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
s3
safe Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
sbni Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches and 2008-09-10 18:36:58 +00:00
scc Don't build unused SBus front-ends for sun4v, don't build EBus front-ends 2008-05-04 14:59:25 +00:00
scd
scsi_low
sdhci Import sdhci (PCI SD Host Controller) driver. 2008-10-21 20:33:40 +00:00
sem Rework the lifetime management of the kernel implementation of POSIX 2008-06-27 05:39:04 +00:00
sf Update file list and Makefile after repocopying sf(4) from 2008-01-21 04:27:32 +00:00
sio
sis Move sis to sys/dev/sis for consistency. 2008-08-10 10:00:14 +00:00
sk
smbfs
sn
snc Add card_if.h and pccarddevs.h 2008-08-07 20:51:51 +00:00
snp Reintroduce the snp(4) driver. 2008-11-05 15:04:03 +00:00
sound Move the uaudio and ata-usb drivers into their correct locations. 2009-02-23 21:19:18 +00:00
speaker
splash
sppp Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
sr Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
ste Move the ste driver from sys/pci to sys/dev/ste. 2008-08-14 20:09:58 +00:00
stg
stge Hook up stge(4) to the build. 2006-07-25 00:45:55 +00:00
streams Housekeeping. Update for maintainers who have handed in their commit bits 2006-07-01 10:51:55 +00:00
svr4 Fix a few problems related to building modules in /sys/modules (not 2009-02-12 14:44:15 +00:00
sym
syscons
sysvipc
ti
tl Move the tl driver form sys/pci to sys/dev/tl. 2008-08-14 20:02:34 +00:00
tmpfs MFp4: 2007-06-29 05:23:15 +00:00
trm Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
twa Import version 3.60.03.006 of the TWA driver: 2007-05-09 04:16:32 +00:00
twe
tx
txp
uart Include the QUICC backend in the kernel module. 2008-11-22 21:24:07 +00:00
ubsec Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
ubser
uchcom Add Winchiphead (or Nanjin QinHeng Electronics) USB Serial converter driver. 2007-10-18 10:51:06 +00:00
ucycom
udf
udf_iconv
ufs Allow this module to get its options from the kernel build directory 2006-12-21 21:35:49 +00:00
unionfs
usb Remove the uscanner(4) driver, this follows the removal of the kernel scanner 2009-03-19 20:33:26 +00:00
utopia
vesa
vge
vkbd Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
vpo
vr Update file list and Makefile after repocopying vr(4) from 2008-03-11 03:50:57 +00:00
vx
wb Move wb driver from sys/pci to sys/dev/wb. 2008-08-14 21:26:29 +00:00
wi Remove opt_wi.h from module and fix typo in pccarddevs. 2008-08-27 05:43:46 +00:00
wlan Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
wlan_acl Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wlan_amrr Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wlan_ccmp Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wlan_rssadapt Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wlan_tkip Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wlan_wep Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wlan_xauth Per email to arch@ a little while ago (that was greeted with silence), 2008-09-01 23:59:00 +00:00
wpi Remove option headers that do not exist and are not used 2008-03-27 20:38:03 +00:00
wpifw the 3945 firmware license does not require acknowledging the EULA, 2008-10-07 19:42:56 +00:00
xe
xfs Makefile changes to accomodate new XFS import. 2006-06-09 06:10:17 +00:00
xl Move the xl driver form sys/pci to sys/dev/xl for consistency. 2008-08-10 09:45:52 +00:00
zfs Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes. 2008-11-17 20:49:29 +00:00
zlib
Makefile Revert unintended part of r190375. 2009-03-24 15:56:15 +00:00
Makefile.inc