freebsd-skq/sys
lulf 14e3eb7296 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
..
amd64 Revert 190445 change to this file restoring: 2009-03-27 17:00:49 +00:00
arm Remove the uscanner(4) driver, this follows the removal of the kernel scanner 2009-03-19 20:33:26 +00:00
boot Oops, fix the previous change. 2009-03-20 13:03:33 +00:00
bsm Merge OpenBSM 1.1 beta 1 from OpenBSM vendor branch to head, both 2009-03-02 13:29:18 +00:00
cam GCC attacks! 2009-02-16 18:02:32 +00:00
cddl Move dtnfsclient.c in the cddl tree to nfs_kdtrace.c in the nfsclient 2009-03-25 17:47:22 +00:00
compat Whitespace/spelling fixes in advance of upcoming functional changes. 2009-03-27 13:13:59 +00:00
conf Add support for Phenom (Family 10h) to cpufreq. 2009-03-28 08:54:47 +00:00
contrib For all files including net/vnet.h directly include opt_route.h and 2009-02-27 14:12:05 +00:00
crypto identify routine takes driver_t *, not device_t *. 2009-02-05 19:30:28 +00:00
ddb Prefer prototypes to k&r definitions. 2009-03-09 13:32:19 +00:00
dev o Don't access VPD even if hardware advertised the capability. 2009-03-28 07:39:35 +00:00
fs Do not use null_bypass for VOP_ISLOCKED, directly call default 2009-03-18 13:54:35 +00:00
gdb Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
geom Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
gnu Fix two issues with bufdaemon, often causing the processes to hang in 2009-03-16 15:39:46 +00:00
i386 Add support for Phenom (Family 10h) to cpufreq. 2009-03-28 08:54:47 +00:00
ia64 Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
isa Allow syscons to work on amd64 and i386 without any hints: 2009-03-05 19:10:17 +00:00
kern Whitespace/spelling fixes in advance of upcoming functional changes. 2009-03-27 13:13:59 +00:00
kgssapi Call svc_freereq() before returning from the service proc. 2008-11-12 15:31:05 +00:00
legacy/dev remove now-redunant cardbus attachment lines. 2009-03-09 13:25:34 +00:00
libkern Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
mips Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
modules Import the gvinum work that have been done during and after Summer of Code 2007. 2009-03-28 17:20:08 +00:00
net Call the interface's if_ioctl from ifioctl(), if the protocol didn't 2009-03-20 13:41:23 +00:00
net80211 o move tdma+superg protocol defs out of public view 2009-03-26 21:29:03 +00:00
netatalk Remove local variable 'ddp' from DDP's attach and detach routines; they 2009-02-04 20:04:32 +00:00
netgraph Make Netgraph compile with Clang. 2009-03-03 18:47:33 +00:00
netinet Don't call m_freem() after ip_output(), as it always consumes 2009-03-24 01:22:12 +00:00
netinet6 Introduce a number of changes to the MROUTING code. 2009-03-19 01:43:03 +00:00
netipsec Fixed comments so it stays in 80 chars by line 2009-03-23 16:20:39 +00:00
netipx Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through 2008-12-11 10:29:35 +00:00
netnatm Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced 2009-03-15 14:21:05 +00:00
netncp Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
netsmb Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
nfs Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
nfs4client Expand the per-node access cache to cache permissions for multiple users. 2009-03-20 21:12:38 +00:00
nfsclient Move dtnfsclient.c in the cddl tree to nfs_kdtrace.c in the nfsclient 2009-03-25 17:47:22 +00:00
nfsserver Fix an mbuf leak in the error path. 2009-03-19 14:13:18 +00:00
nlm Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
opencrypto Fix return type for detach routine (should be int) 2009-02-05 17:43:12 +00:00
pc98 MFi386: r190447 2009-03-27 03:45:42 +00:00
pci intpm: minor enhancements 2009-03-16 16:15:14 +00:00
powerpc Disable ATA DMA for ATAPI devices for now. Apparently, certain revisions 2009-03-25 03:42:49 +00:00
rpc Use the correct creds when reconnecting so that we have enough privilege to 2009-02-05 11:48:10 +00:00
security - Correct logic in if statement - we want to allocate temporary buffer 2009-03-14 20:40:06 +00:00
sparc64 Revert r190105 so that removing options KDB but DDB or GDB being 2009-03-20 17:10:50 +00:00
sun4v - There's no need to wrap kdb_active and kdb_trap() in #ifdef KDB as 2009-03-19 20:46:51 +00:00
sys Add new V* constants, neccessary for granular permission checks 2009-03-27 21:47:56 +00:00
tools Remove some unused and broken code that attempted to not invoke locking 2008-11-03 19:57:40 +00:00
ufs Correct typo. 2009-03-27 15:46:02 +00:00
vm Adjust some variables (mostly related to the buffer cache) that hold 2009-03-09 19:35:20 +00:00
xdr Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
xen Merge in support for Xen HVM on amd64 architecture. 2009-03-11 15:30:12 +00:00
Makefile Removal pccard directory requires removing it from the list of things 2009-02-15 18:19:24 +00:00