head	1.6;
access;
symbols
	RELENG_8_4:1.6.0.2
	RELENG_9_1_0_RELEASE:1.5.4.1.4.2
	RELENG_9_1:1.5.4.1.0.4
	RELENG_9_1_BP:1.5.4.1
	RELENG_8_3_0_RELEASE:1.5.2.1.8.1
	RELENG_8_3:1.5.2.1.0.8
	RELENG_8_3_BP:1.5.2.1
	RELENG_9_0_0_RELEASE:1.5.4.1.2.1
	RELENG_9_0:1.5.4.1.0.2
	RELENG_9_0_BP:1.5.4.1
	RELENG_9:1.5.0.4
	RELENG_9_BP:1.5
	RELENG_7_4_0_RELEASE:1.4.12.1
	RELENG_8_2_0_RELEASE:1.5.2.1.6.1
	RELENG_7_4:1.4.0.12
	RELENG_7_4_BP:1.4
	RELENG_8_2:1.5.2.1.0.6
	RELENG_8_2_BP:1.5.2.1
	RELENG_8_1_0_RELEASE:1.5.2.1.4.1
	RELENG_8_1:1.5.2.1.0.4
	RELENG_8_1_BP:1.5.2.1
	RELENG_7_3_0_RELEASE:1.4.10.1
	RELENG_7_3:1.4.0.10
	RELENG_7_3_BP:1.4
	RELENG_8_0_0_RELEASE:1.5.2.1.2.1
	RELENG_8_0:1.5.2.1.0.2
	RELENG_8_0_BP:1.5.2.1
	RELENG_8:1.5.0.2
	RELENG_8_BP:1.5
	RELENG_7_2_0_RELEASE:1.4.8.1
	RELENG_7_2:1.4.0.8
	RELENG_7_2_BP:1.4
	RELENG_7_1_0_RELEASE:1.4.6.1
	RELENG_6_4_0_RELEASE:1.1.8.3.8.1
	RELENG_7_1:1.4.0.6
	RELENG_7_1_BP:1.4
	RELENG_6_4:1.1.8.3.0.8
	RELENG_6_4_BP:1.1.8.3
	RELENG_7_0_0_RELEASE:1.4
	RELENG_6_3_0_RELEASE:1.1.8.3
	RELENG_7_0:1.4.0.4
	RELENG_7_0_BP:1.4
	RELENG_6_3:1.1.8.3.0.6
	RELENG_6_3_BP:1.1.8.3
	RELENG_7:1.4.0.2
	RELENG_7_BP:1.4
	RELENG_6_2_0_RELEASE:1.1.8.3
	RELENG_6_2:1.1.8.3.0.4
	RELENG_6_2_BP:1.1.8.3
	RELENG_5_5_0_RELEASE:1.1
	RELENG_5_5:1.1.0.10
	RELENG_5_5_BP:1.1
	RELENG_6_1_0_RELEASE:1.1.8.3
	RELENG_6_1:1.1.8.3.0.2
	RELENG_6_1_BP:1.1.8.3
	RELENG_6_0_0_RELEASE:1.1.8.1
	RELENG_6_0:1.1.8.1.0.2
	RELENG_6_0_BP:1.1.8.1
	RELENG_6:1.1.0.8
	RELENG_6_BP:1.1
	RELENG_5_4_0_RELEASE:1.1
	RELENG_5_4:1.1.0.6
	RELENG_5_4_BP:1.1
	RELENG_5_3_0_RELEASE:1.1
	RELENG_5_3:1.1.0.4
	RELENG_5_3_BP:1.1
	RELENG_5:1.1.0.2
	RELENG_5_BP:1.1;
locks; strict;
comment	@# @;


1.6
date	2012.11.17.01.52.55;	author svnexp;	state Exp;
branches
	1.6.2.1;
next	1.5;

1.5
date	2009.03.28.17.20.08;	author lulf;	state Exp;
branches
	1.5.2.1
	1.5.4.1;
next	1.4;

1.4
date	2005.11.24.15.11.41;	author le;	state Exp;
branches
	1.4.2.1
	1.4.6.1
	1.4.8.1
	1.4.10.1
	1.4.12.1;
next	1.3;

1.3
date	2005.11.19.20.25.18;	author le;	state Exp;
branches;
next	1.2;

1.2
date	2005.08.26.14.40.32;	author le;	state Exp;
branches;
next	1.1;

1.1
date	2004.06.12.21.18.40;	author le;	state Exp;
branches
	1.1.8.1;
next	;

1.6.2.1
date	2012.11.17.01.52.55;	author svnexp;	state dead;
branches;
next	1.6.2.2;

1.6.2.2
date	2013.03.28.13.05.20;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.5.2.1.2.1
	1.5.2.1.4.1
	1.5.2.1.6.1
	1.5.2.1.8.1;
next	1.5.2.2;

1.5.2.2
date	2012.11.17.10.36.56;	author svnexp;	state Exp;
branches;
next	;

1.5.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.5.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.5.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.5.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.5.2.1.8.2;

1.5.2.1.8.2
date	2012.11.17.08.25.33;	author svnexp;	state Exp;
branches;
next	;

1.5.4.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.5.4.1.2.1
	1.5.4.1.4.1;
next	1.5.4.2;

1.5.4.2
date	2012.11.17.11.37.17;	author svnexp;	state Exp;
branches;
next	;

1.5.4.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.5.4.1.2.2;

1.5.4.1.2.2
date	2012.11.17.08.37.13;	author svnexp;	state Exp;
branches;
next	;

1.5.4.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.5.4.1.4.2;

1.5.4.1.4.2
date	2012.11.17.08.48.04;	author svnexp;	state Exp;
branches;
next	;

1.4.2.1
date	2012.11.17.08.06.48;	author svnexp;	state Exp;
branches;
next	;

1.4.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.4.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.4.10.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.4.12.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.4.12.2;

1.4.12.2
date	2012.11.17.08.17.26;	author svnexp;	state Exp;
branches;
next	;

1.1.8.1
date	2005.10.09.04.34.29;	author delphij;	state Exp;
branches;
next	1.1.8.2;

1.1.8.2
date	2005.11.26.11.06.11;	author le;	state Exp;
branches;
next	1.1.8.3;

1.1.8.3
date	2005.12.10.14.36.17;	author le;	state Exp;
branches
	1.1.8.3.8.1;
next	1.1.8.4;

1.1.8.4
date	2012.11.17.07.44.18;	author svnexp;	state Exp;
branches;
next	;

1.1.8.3.8.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;


desc
@@


1.6
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $

.PATH: ${.CURDIR}/../../../geom/vinum

KMOD=	geom_vinum
SRCS=	geom_vinum.c geom_vinum_create.c geom_vinum_drive.c geom_vinum_plex.c \
	geom_vinum_volume.c geom_vinum_subr.c geom_vinum_raid5.c \
	geom_vinum_share.c geom_vinum_list.c geom_vinum_rm.c \
	geom_vinum_init.c geom_vinum_state.c geom_vinum_rename.c \
	geom_vinum_move.c geom_vinum_events.c

.include <bsd.kmod.mk>
@


1.6.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:05:20 +0000
@
text
@d1 12
@


1.6.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 12
# $FreeBSD: releng/8.4/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $

.PATH: ${.CURDIR}/../../../geom/vinum

KMOD=	geom_vinum
SRCS=	geom_vinum.c geom_vinum_create.c geom_vinum_drive.c geom_vinum_plex.c \
	geom_vinum_volume.c geom_vinum_subr.c geom_vinum_raid5.c \
	geom_vinum_share.c geom_vinum_list.c geom_vinum_rm.c \
	geom_vinum_init.c geom_vinum_state.c geom_vinum_rename.c \
	geom_vinum_move.c geom_vinum_events.c

.include <bsd.kmod.mk>
@


1.5
log
@SVN rev 190507 on 2009-03-28 17:20:08Z by lulf

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>
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.5.4.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.5.4.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $
@


1.5.4.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.5.4.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $
@


1.5.4.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.5.4.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $
@


1.5.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.5.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $
@


1.5.2.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.5.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/modules/geom/geom_vinum/Makefile 190507 2009-03-28 17:20:08Z lulf $
@


1.5.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.5.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.5.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.4
log
@Since we want a vinum geom created anytime the module loads, move
the geom creation to a seperate init function and ignore the tasting.

The config is now parsed only in the vinumdrive geom, which hopefully
fixes the problem, that the drive class tasted before the vinum class
had a chance, for good.

Also restore the behaviour that the module can be loaded at boot time
and on a running system.
@
text
@d6 1
a6 1
SRCS=	geom_vinum.c geom_vinum_drive.c geom_vinum_plex.c \
d10 1
a10 1
	geom_vinum_move.c
@


1.4.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/modules/geom/geom_vinum/Makefile 152773 2005-11-24 15:11:41Z le $
@


1.4.12.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.4.12.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/modules/geom/geom_vinum/Makefile 152773 2005-11-24 15:11:41Z le $
@


1.4.10.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.4.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.4.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.3
log
@Finally bring in what was produced during Google SoC 2005:

Add functions to rename objects and to move a subdisk from one drive
to another.

Obtained from:  Chris Jones <chris.jones@@ualberta.ca>
Sponsored by:   Google Summer of Code 2005
MFC in:         1 week
@
text
@d6 1
a6 1
SRCS=	geom_vinum_drive.c geom_vinum.c geom_vinum_plex.c \
@


1.2
log
@Shuffle around the order in which the components are compiled.

This way, the VINUMDRIVE class is loaded before the VINUM class,
but since geom does the tasting for newly arrived classes
last-in-first-out, the VINUM class tastes first.

This removes the need to call gv_parse_config() in the drive
taste path.
@
text
@d9 2
a10 1
	geom_vinum_init.c geom_vinum_state.c
@


1.1
log
@Add a module directory for geom_vinum.
@
text
@d6 1
a6 1
SRCS=	geom_vinum.c geom_vinum_drive.c geom_vinum_plex.c \
@


1.1.8.1
log
@MFC (by le)
| Shuffle around the order in which the components are compiled.
|
| This way, the VINUMDRIVE class is loaded before the VINUM class,
| but since geom does the tasting for newly arrived classes
| last-in-first-out, the VINUM class tastes first.
|
| This removes the need to call gv_parse_config() in the drive
| taste path.
|
| Revision  Changes    Path
| 1.20      +4 -14     src/sys/geom/vinum/geom_vinum_drive.c
| 1.2       +1 -1      src/sys/modules/geom/geom_vinum/Makefile

Approved by:	re (scottl)
@
text
@d6 1
a6 1
SRCS=	geom_vinum_drive.c geom_vinum.c geom_vinum_plex.c \
@


1.1.8.2
log
@MFC:
  Finally bring in what was produced during Google SoC 2005:

  Add functions to rename objects and to move a subdisk from one drive
  to another.

Plus several whitespace/style fixes.
@
text
@d9 1
a9 2
	geom_vinum_init.c geom_vinum_state.c geom_vinum_rename.c \
	geom_vinum_move.c
@


1.1.8.3
log
@MFC:
  Since we want a vinum geom created anytime the module loads, move the
  geom creation to a seperate init function and ignore the tasting.

  The config is now parsed only in the vinumdrive geom, which hopefully
  fixes the problem, that the drive class tasted before the vinum class
  had a chance, for good.

  Also restore the behaviour that the module can be loaded at boot time
  and on a running system.

--

  Check for g_read_data(9) errors properly;  don't pass error value
  pointer to g_read_data(9) at all if we don't have any use of it.
@
text
@d6 1
a6 1
SRCS=	geom_vinum.c geom_vinum_drive.c geom_vinum_plex.c \
@


1.1.8.4
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/modules/geom/geom_vinum/Makefile 153293 2005-12-10 14:36:17Z le $
@


1.1.8.3.8.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


