summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2013-03-18 09:39:51 +0000
committermm <mm@FreeBSD.org>2013-03-18 09:39:51 +0000
commit09f7f9e4ff3041f8e236af6af32f05f1d181e23d (patch)
tree3c4abec07471e6306baa1e9a0a3c02f70623a423 /share
parent713c2d790d75eb897ffb4bf09b789cf8940e6ce4 (diff)
parent7479840eb88c237a735d25cf9f01cc3a07cef955 (diff)
downloadFreeBSD-src-09f7f9e4ff3041f8e236af6af32f05f1d181e23d.zip
FreeBSD-src-09f7f9e4ff3041f8e236af6af32f05f1d181e23d.tar.gz
MFC @248461
Diffstat (limited to 'share')
-rw-r--r--share/examples/Makefile3
-rw-r--r--share/examples/cvsup/README4
-rw-r--r--share/examples/cvsup/cvs-supfile12
-rw-r--r--share/examples/cvsup/ports-supfile74
-rw-r--r--share/examples/cvsup/refuse13
-rw-r--r--share/examples/cvsup/refuse.README44
-rw-r--r--share/examples/cvsup/stable-supfile15
-rw-r--r--share/examples/nwclient/dot.nwfsrc78
-rw-r--r--share/examples/nwclient/nwfs.sh.sample34
-rw-r--r--share/man/man4/Makefile1
-rw-r--r--share/man/man4/cas.42
-rw-r--r--share/man/man4/ccd.44
-rw-r--r--share/man/man4/geom.437
-rw-r--r--share/man/man4/sge.42
-rw-r--r--share/man/man4/udp.446
-rw-r--r--share/man/man4/vinum.41171
-rw-r--r--share/misc/bsd-family-tree15
-rw-r--r--share/misc/committers-ports.dot2
-rw-r--r--share/misc/organization.dot7
19 files changed, 78 insertions, 1486 deletions
diff --git a/share/examples/Makefile b/share/examples/Makefile
index 5657d3e..a3be98c 100644
--- a/share/examples/Makefile
+++ b/share/examples/Makefile
@@ -52,9 +52,6 @@ XFILES= BSD_daemon/FreeBSD.pfa \
csh/dot.cshrc \
cvsup/README \
cvsup/cvs-supfile \
- cvsup/ports-supfile \
- cvsup/refuse \
- cvsup/refuse.README \
cvsup/stable-supfile \
cvsup/standard-supfile \
diskless/ME \
diff --git a/share/examples/cvsup/README b/share/examples/cvsup/README
index 19ae270..0bf2932 100644
--- a/share/examples/cvsup/README
+++ b/share/examples/cvsup/README
@@ -19,8 +19,6 @@ To maintain the sources for the FreeBSD-current release, use:
standard-supfile Main source tree
- ports-supfile Ports collection
-
To maintain the sources for the FreeBSD-stable release, use:
stable-supfile Main source tree
@@ -28,7 +26,7 @@ To maintain the sources for the FreeBSD-stable release, use:
To maintain a copy of the CVS repository containing all versions of
FreeBSD, use:
- cvs-supfile Main source tree and ports collection
+ cvs-supfile Main source tree collection
IMPORTANT: Before you use any of the supfiles in this directory,
you will need to edit in an appropriate "host" setting. See:
diff --git a/share/examples/cvsup/cvs-supfile b/share/examples/cvsup/cvs-supfile
index f46d051..b501272 100644
--- a/share/examples/cvsup/cvs-supfile
+++ b/share/examples/cvsup/cvs-supfile
@@ -43,9 +43,8 @@
# prefix=/home/ncvs
# This specifies where to place the requested files. A
# setting of "/home/ncvs" will place all of the files
-# requested in /home/ncvs (e.g., "/home/ncvs/src/bin",
-# "/home/ncvs/ports/archivers"). The prefix directory
-# must exist in order to run CVSup.
+# requested in /home/ncvs (e.g., "/home/ncvs/src/bin").
+# The prefix directory must exist in order to run CVSup.
# Defaults that apply to all the collections
#
@@ -68,13 +67,6 @@
# mega-collection. It includes all of the individual "src-*" collections.
src-all
-## Ports Collection.
-#
-# The easiest way to get the ports tree is to use the "ports-all"
-# mega-collection. It includes all of the individual "ports-*"
-# collections,
-ports-all
-
## Projects
#
# This collection retrieves the projects tree of the FreeBSD
diff --git a/share/examples/cvsup/ports-supfile b/share/examples/cvsup/ports-supfile
deleted file mode 100644
index f37af41..0000000
--- a/share/examples/cvsup/ports-supfile
+++ /dev/null
@@ -1,74 +0,0 @@
-# $FreeBSD$
-#
-# BEWARE, CVS is deprecated and no longer supported by the FreeBSD project.
-#
-# The primary development work happens in Subversion and is temporarily
-# exported to the legacy CVS system with significant time delays.
-#
-# You should NOT set up a new consumer of FreeBSD source code via CVS.
-# Please see:
-# http://www.freebsd.org/doc/handbook/svn.html
-# http://www.freebsd.org/doc/handbook/svn-mirrors.html
-#
-# csup (CVS Update Protocol) allows you to download the latest CVS
-# tree (or any branch of development therefrom) to your system easily
-# and efficiently
-# _
-# __ ____ _ _ __ _ __ (_)_ __ __ _
-# \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
-# \ V V / (_| | | | | | | | | | | (_| |
-# \_/\_/ \__,_|_| |_| |_|_|_| |_|\__, |
-# |___/
-# cvsup for ports is being phased out as of 28 February 2013 and its
-# use is discouraged. Users are advised to migrate to portsnap
-# or svn directly.
-#
-# Note that this only updates the tree contents and does not
-# update what is actually installed.
-#
-# You may wish to change some of the settings in this file to better
-# suit your system:
-#
-# host=CHANGE_THIS.FreeBSD.org
-# This specifies the server host which will supply the
-# file updates. You must change it to one of the CVSup
-# mirror sites listed in the FreeBSD Handbook at
-# http://www.freebsd.org/doc/handbook/cvsup.html#CVSUP-MIRRORS.
-# You can override this setting on the command line
-# with cvsup's "-h host" option.
-#
-# base=/var/db
-# This specifies the root where csup will store information
-# about the collections you have transferred to your system.
-# A setting of "/var/db" will generate this information in
-# /var/db/sup. You can override the "base" setting on the
-# command line with cvsup's "-b base" option. This directory
-# must exist in order to run CVSup.
-#
-# prefix=/usr
-# This specifies where to place the requested files. A
-# setting of "/usr" will place all of the files requested
-# in "/usr/ports" (e.g., "/usr/ports/devel", "/usr/ports/lang").
-# The prefix directory must exist in order to run CVSup.
-
-# Defaults that apply to all the collections
-#
-# IMPORTANT: Change the next line to use one of the CVSup mirror sites
-# listed at http://www.freebsd.org/doc/handbook/cvsup.html#CVSUP-MIRRORS.
-*default host=CHANGE_THIS.FreeBSD.org
-*default base=/var/db
-*default prefix=/usr
-*default release=cvs tag=.
-*default delete use-rel-suffix
-
-# If you seem to be limited by CPU rather than network or disk bandwidth, try
-# commenting out the following line. (Normally, today's CPUs are fast enough
-# that you want to run compression.)
-*default compress
-
-## Ports Collection.
-#
-# The easiest way to get the ports tree is to use the "ports-all"
-# mega-collection. It includes all of the individual "ports-*"
-# collections,
-ports-all
diff --git a/share/examples/cvsup/refuse b/share/examples/cvsup/refuse
deleted file mode 100644
index c257f71..0000000
--- a/share/examples/cvsup/refuse
+++ /dev/null
@@ -1,13 +0,0 @@
-ports/arabic
-ports/chinese
-ports/french
-ports/german
-ports/hebrew
-ports/hungarian
-ports/japanese
-ports/korean
-ports/polish
-ports/portuguese
-ports/russian
-ports/ukrainian
-ports/vietnamese
diff --git a/share/examples/cvsup/refuse.README b/share/examples/cvsup/refuse.README
deleted file mode 100644
index 4b90962..0000000
--- a/share/examples/cvsup/refuse.README
+++ /dev/null
@@ -1,44 +0,0 @@
-$FreeBSD$
-
-This describes the "refuse" file found in this directory. The
-explanation cannot be put inside the file itself because:
-
- COMMENTS ARE NOT ALLOWED IN refuse FILES!
-
-Each line of the refuse file contains one or more filename patterns
-separated by white space. Everything matched by a pattern will be
-left untouched by CVSup. If a pattern matches a directory, then
-everything beneath that directory will be left alone.
-
-You can copy "refuse" to your sup directory and add or remove
-whatever you like. The example supfiles in this directory set
-CVSup's base directory to "/var/db". The sup directory is in the base
-directory; i.e., it is "/var/db/sup". If you have changed your base
-directory, your sup directory is /path/to/base/sup.
-
-If you are an English speaker and don't wish to receive the
-non-English ports, use the following patterns:
-
- ports/arabic
- ports/chinese
- ports/french
- ports/german
- ports/hebrew
- ports/hungarian
- ports/japanese
- ports/korean
- ports/polish
- ports/portuguese
- ports/russian
- ports/ukrainian
- ports/vietnamese
-
-Note that this is *not* a supported configuration and may result
-in ports builds breaking.
-
-Use refuse files with care. Some parts of the src distribution
-depend on files in completely different parts.
-
-For more information about refuse files see cvsup(1), which is
-installed by the "cvsup" and "cvsup-bin" ports. See also the CVSup
-FAQ at <http://www.cvsup.org/faq.html>.
diff --git a/share/examples/cvsup/stable-supfile b/share/examples/cvsup/stable-supfile
index 54f6e89..b520f8d 100644
--- a/share/examples/cvsup/stable-supfile
+++ b/share/examples/cvsup/stable-supfile
@@ -46,21 +46,6 @@
# in "/usr/src" (e.g., "/usr/src/bin", "/usr/src/lib").
# The prefix directory must exist in order to run CVSup.
#
-###############################################################################
-#
-# DANGER! WARNING! LOOK OUT! VORSICHT!
-#
-# If you add any of the ports collections to this file, be sure to
-# specify them with a "tag" value set to ".", like this:
-#
-# ports-all tag=.
-#
-# If you leave out the "tag=." portion, CVSup will delete all of
-# the files in your ports. That is because the ports
-# collections do not use the same tags as the main part of the FreeBSD
-# source tree.
-#
-###############################################################################
# Defaults that apply to all the collections
#
diff --git a/share/examples/nwclient/dot.nwfsrc b/share/examples/nwclient/dot.nwfsrc
deleted file mode 100644
index 03bc1d0..0000000
--- a/share/examples/nwclient/dot.nwfsrc
+++ /dev/null
@@ -1,78 +0,0 @@
-# $FreeBSD$
-#
-# Example for .nwfsrc file
-#
-# ncplib lookups configuration files in next order:
-# 1. ~/.nwfsrc
-# 2. /etc/nwfs.conf - if this file found it will
-# override values with same keys from user files.
-#
-#
-# This file consist of a set of sections. Each section started by section name
-# surrounded by square brackets:
-# [section_name]
-#
-# End of the section marked either by new section or by the end of file.
-# Each section can contain zero or more parameters:
-# [section_name]
-# key=value
-#
-# where 'key' is a represents parameter name and 'value' a value assigned
-# to this parameter.
-#
-# NetWare library uses next forms of section names:
-# [SERVER]
-# [SERVER:USER]
-# [SERVER:QUEUE]
-#
-# When user issues any ncp* command that requires create of new connection
-# to a NetWare server, library function lookups for parameters in the
-# corresponding section. First it looks in the [SERVER] section and then in
-# the [SERVER:USER] section. Please note that server and user names should be
-# in the upper case.
-#
-
-# Following parameters are valid for [SERVER] or [SERVER:USER] section:
-[BHOME:SUPERVISOR]
-# if you don't use password leave value empty
-password=I_DONT_TELL_YOU
-
-# how many retries before error, default 10
-retry_count=10
-
-# timeout for request to complete
-timeout=5
-
-# access mode to connection, default 0700
-access_mode=0700
-
-# signature level, default 0 - no signatures
-sig_level=0
-
-# force bindery login, default no
-bindery=no
-
-# default print queue for user, default is none
-# print_queue=QE_BJ
-
-
-[ANOTHERSERVER:PLAINUSER]
-# in this case user have an empty password
-password=
-
-# Defaults for printer queues defined as [SERVER:QUEUE]
-# communication parameters taken from [SERVER:USER] section
-# see man ncprint(1) for queue parameters description
-# note: if any banner related option is specified, banner will be printed.
-[BHOME:QE_BJ]
-#path_name=/etc
-#file_name=passwd
-#banner_name=My Job
-#job_desc=Printing from FreeBSD
-
-#lines=66
-#rows=80
-copies=1
-tab_size=8
-no_form_feed=yes
-#form_number=0
diff --git a/share/examples/nwclient/nwfs.sh.sample b/share/examples/nwclient/nwfs.sh.sample
deleted file mode 100644
index cb8b631..0000000
--- a/share/examples/nwclient/nwfs.sh.sample
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-# Location: /usr/local/etc/rc.d/nwfs.sh
-#
-# Simple script to mount NetWare volumes at startup.
-# It assumes that all mount points described in fstab file and password
-# entries listed in /root/.nwfsrc file. See mount_nwfs(8) for details.
-#
-
-mount=/sbin/mount
-umount=/sbin/umount
-HOME=/root; export HOME
-vols="/nw/sys /nw/vol1"
-
-if [ "x$1" = "x" -o "x$1" = "xstart" ]; then
- echo -n "Mounting NetWare volumes: "
- for vol in ${vols}; do
- $mount $vol
- echo -n "$vol "
- done
- echo "Done"
-elif [ "x$1" = "xstop" ]; then
- echo -n "Unmounting NetWare mount points: "
- for vol in ${vols}; do
- $umount $vol
- echo -n "$vol "
- done
- echo "Done"
-else
- echo "Unknown command $1"
-fi
-
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index cdd7474..bd67533 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -525,7 +525,6 @@ MAN= aac.4 \
vge.4 \
viapm.4 \
${_viawd.4} \
- vinum.4 \
${_virtio.4} \
${_virtio_balloon.4} \
${_virtio_blk.4} \
diff --git a/share/man/man4/cas.4 b/share/man/man4/cas.4
index 0c0f5d7..36a5ab1 100644
--- a/share/man/man4/cas.4
+++ b/share/man/man4/cas.4
@@ -44,7 +44,7 @@ Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
-if_cas="YES"
+if_cas_load="YES"
.Ed
.Sh DESCRIPTION
The
diff --git a/share/man/man4/ccd.4 b/share/man/man4/ccd.4
index 8da0e36..4c95fb8 100644
--- a/share/man/man4/ccd.4
+++ b/share/man/man4/ccd.4
@@ -279,9 +279,9 @@ device special files
.Xr config 8 ,
.Xr disklabel 8 ,
.Xr fsck 8 ,
+.Xr gvinum 8 ,
.Xr mount 8 ,
-.Xr newfs 8 ,
-.Xr vinum 8
+.Xr newfs 8
.Sh HISTORY
The concatenated disk driver was originally written at the University of
Utah.
diff --git a/share/man/man4/geom.4 b/share/man/man4/geom.4
index 0a1b24e..4606676 100644
--- a/share/man/man4/geom.4
+++ b/share/man/man4/geom.4
@@ -34,12 +34,47 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 25, 2006
+.Dd March 14, 2013
.Dt GEOM 4
.Os
.Sh NAME
.Nm GEOM
.Nd "modular disk I/O request transformation framework"
+.Sh SYNOPSIS
+.Cd options GEOM_AES
+.Cd options GEOM_BDE
+.Cd options GEOM_BSD
+.Cd options GEOM_CACHE
+.Cd options GEOM_CONCAT
+.Cd options GEOM_ELI
+.Cd options GEOM_FOX
+.Cd options GEOM_GATE
+.Cd options GEOM_JOURNAL
+.Cd options GEOM_LABEL
+.Cd options GEOM_LINUX_LVM
+.Cd options GEOM_MBR
+.Cd options GEOM_MIRROR
+.Cd options GEOM_MULTIPATH
+.Cd options GEOM_NOP
+.Cd options GEOM_PART_APM
+.Cd options GEOM_PART_BSD
+.Cd options GEOM_PART_EBR
+.Cd options GEOM_PART_EBR_COMPAT
+.Cd options GEOM_PART_GPT
+.Cd options GEOM_PART_LDM
+.Cd options GEOM_PART_MBR
+.Cd options GEOM_PART_PC98
+.Cd options GEOM_PART_VTOC8
+.Cd options GEOM_PC98
+.Cd options GEOM_RAID
+.Cd options GEOM_RAID3
+.Cd options GEOM_SHSEC
+.Cd options GEOM_STRIPE
+.Cd options GEOM_SUNLABEL
+.Cd options GEOM_UZIP
+.Cd options GEOM_VIRSTOR
+.Cd options GEOM_VOL
+.Cd options GEOM_ZERO
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/sge.4 b/share/man/man4/sge.4
index 5d6ecf8..70d839e 100644
--- a/share/man/man4/sge.4
+++ b/share/man/man4/sge.4
@@ -43,7 +43,7 @@ Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
-if_sge="YES"
+if_sge_load="YES"
.Ed
.Sh DESCRIPTION
The
diff --git a/share/man/man4/udp.4 b/share/man/man4/udp.4
index 03d6db2..1092f5a 100644
--- a/share/man/man4/udp.4
+++ b/share/man/man4/udp.4
@@ -103,29 +103,6 @@ transport level may be used with
.Tn UDP ;
see
.Xr ip 4 .
-.Sh ERRORS
-A socket operation may fail with one of the following errors returned:
-.Bl -tag -width Er
-.It Bq Er EISCONN
-when trying to establish a connection on a socket which
-already has one, or when trying to send a datagram with the destination
-address specified and the socket is already connected;
-.It Bq Er ENOTCONN
-when trying to send a datagram, but
-no destination address is specified, and the socket has not been
-connected;
-.It Bq Er ENOBUFS
-when the system runs out of memory for
-an internal data structure;
-.It Bq Er EADDRINUSE
-when an attempt
-is made to create a socket with a port which has already been
-allocated;
-.It Bq Er EADDRNOTAVAIL
-when an attempt is made to create a
-socket with a network address for which no network interface
-exists.
-.El
.Sh MIB VARIABLES
The
.Nm
@@ -154,6 +131,29 @@ listening, do not return an ICMP port unreachable message.
See
.Xr blackhole 4 . )
.El
+.Sh ERRORS
+A socket operation may fail with one of the following errors returned:
+.Bl -tag -width Er
+.It Bq Er EISCONN
+when trying to establish a connection on a socket which
+already has one, or when trying to send a datagram with the destination
+address specified and the socket is already connected;
+.It Bq Er ENOTCONN
+when trying to send a datagram, but
+no destination address is specified, and the socket has not been
+connected;
+.It Bq Er ENOBUFS
+when the system runs out of memory for
+an internal data structure;
+.It Bq Er EADDRINUSE
+when an attempt
+is made to create a socket with a port which has already been
+allocated;
+.It Bq Er EADDRNOTAVAIL
+when an attempt is made to create a
+socket with a network address for which no network interface
+exists.
+.El
.Sh SEE ALSO
.Xr getsockopt 2 ,
.Xr recv 2 ,
diff --git a/share/man/man4/vinum.4 b/share/man/man4/vinum.4
deleted file mode 100644
index 4a59cb9..0000000
--- a/share/man/man4/vinum.4
+++ /dev/null
@@ -1,1171 +0,0 @@
-.\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode
-.\"-
-.\" Copyright (c) 1997, 1998, 2003
-.\" Nan Yang Computer Services Limited. All rights reserved.
-.\"
-.\" This software is distributed under the so-called ``Berkeley
-.\" License'':
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by Nan Yang Computer
-.\" Services Limited.
-.\" 4. Neither the name of the Company nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" This software is provided ``as is'', and any express or implied
-.\" warranties, including, but not limited to, the implied warranties of
-.\" merchantability and fitness for a particular purpose are disclaimed.
-.\" In no event shall the company or contributors be liable for any
-.\" direct, indirect, incidental, special, exemplary, or consequential
-.\" damages (including, but not limited to, procurement of substitute
-.\" goods or services; loss of use, data, or profits; or business
-.\" interruption) however caused and on any theory of liability, whether
-.\" in contract, strict liability, or tort (including negligence or
-.\" otherwise) arising in any way out of the use of this software, even if
-.\" advised of the possibility of such damage.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd May 16, 2002
-.Dt VINUM 4
-.Os
-.Sh NAME
-.Nm vinum
-.Nd Logical Volume Manager
-.Sh SYNOPSIS
-.Cd "device vinum"
-.Sh DESCRIPTION
-.Nm
-is a logical volume manager inspired by, but not derived from, the Veritas
-Volume Manager.
-It provides the following features:
-.Bl -bullet
-.It
-It provides device-independent logical disks, called
-.Em volumes .
-Volumes are
-not restricted to the size of any disk on the system.
-.It
-The volumes consist of one or more
-.Em plexes ,
-each of which contain the
-entire address space of a volume.
-This represents an implementation of RAID-1
-(mirroring).
-Multiple plexes can also be used for:
-.\" XXX What about sparse plexes? Do we want them?
-.Bl -bullet
-.It
-Increased read throughput.
-.Nm
-will read data from the least active disk, so if a volume has plexes on multiple
-disks, more data can be read in parallel.
-.Nm
-reads data from only one plex, but it writes data to all plexes.
-.It
-Increased reliability.
-By storing plexes on different disks, data will remain
-available even if one of the plexes becomes unavailable.
-In comparison with a
-RAID-5 plex (see below), using multiple plexes requires more storage space, but
-gives better performance, particularly in the case of a drive failure.
-.It
-Additional plexes can be used for on-line data reorganization.
-By attaching an
-additional plex and subsequently detaching one of the older plexes, data can be
-moved on-line without compromising access.
-.It
-An additional plex can be used to obtain a consistent dump of a file system.
-By
-attaching an additional plex and detaching at a specific time, the detached plex
-becomes an accurate snapshot of the file system at the time of detachment.
-.\" Make sure to flush!
-.El
-.It
-Each plex consists of one or more logical disk slices, called
-.Em subdisks .
-Subdisks are defined as a contiguous block of physical disk storage.
-A plex may
-consist of any reasonable number of subdisks (in other words, the real limit is
-not the number, but other factors, such as memory and performance, associated
-with maintaining a large number of subdisks).
-.It
-A number of mappings between subdisks and plexes are available:
-.Bl -bullet
-.It
-.Em "Concatenated plexes"
-consist of one or more subdisks, each of which
-is mapped to a contiguous part of the plex address space.
-.It
-.Em "Striped plexes"
-consist of two or more subdisks of equal size.
-The file
-address space is mapped in
-.Em stripes ,
-integral fractions of the subdisk
-size.
-Consecutive plex address space is mapped to stripes in each subdisk in
-turn.
-.if t \{\
-.ig
-.\" FIXME
-.br
-.ne 1.5i
-.PS
-move right 2i
-down
-SD0: box
-SD1: box
-SD2: box
-
-"plex 0" at SD0.n+(0,.2)
-"subdisk 0" rjust at SD0.w-(.2,0)
-"subdisk 1" rjust at SD1.w-(.2,0)
-"subdisk 2" rjust at SD2.w-(.2,0)
-.PE
-..
-.\}
-The subdisks of a striped plex must all be the same size.
-.It
-.Em "RAID-5 plexes"
-require at least three equal-sized subdisks.
-They
-resemble striped plexes, except that in each stripe, one subdisk stores parity
-information.
-This subdisk changes in each stripe: in the first stripe, it is the
-first subdisk, in the second it is the second subdisk, etc.
-In the event of a
-single disk failure,
-.Nm
-will recover the data based on the information stored on the remaining subdisks.
-This mapping is particularly suited to read-intensive access.
-The subdisks of a
-RAID-5 plex must all be the same size.
-.\" Make sure to flush!
-.El
-.It
-.Em Drives
-are the lowest level of the storage hierarchy.
-They represent disk special
-devices.
-.It
-.Nm
-offers automatic startup.
-Unlike
-.Ux
-file systems,
-.Nm
-volumes contain all the configuration information needed to ensure that they are
-started correctly when the subsystem is enabled.
-This is also a significant
-advantage over the Veritas\(tm File System.
-This feature regards the presence
-of the volumes.
-It does not mean that the volumes will be mounted
-automatically, since the standard startup procedures with
-.Pa /etc/fstab
-perform this function.
-.El
-.Sh KERNEL CONFIGURATION
-.Nm
-is currently supplied as a KLD module, and does not require
-configuration.
-As with other KLDs, it is absolutely necessary to match the KLD
-to the version of the operating system.
-Failure to do so will cause
-.Nm
-to issue an error message and terminate.
-.Pp
-It is possible to configure
-.Nm
-in the kernel, but this is not recommended.
-To do so, add this line to the
-kernel configuration file:
-.Pp
-.D1 Cd "device vinum"
-.Ss Debug Options
-The current version of
-.Nm ,
-both the kernel module and the user program
-.Xr gvinum 8 ,
-include significant debugging support.
-It is not recommended to remove
-this support at the moment, but if you do you must remove it from both the
-kernel and the user components.
-To do this, edit the files
-.Pa /usr/src/sbin/vinum/Makefile
-and
-.Pa /usr/src/sys/modules/vinum/Makefile
-and edit the
-.Va CFLAGS
-variable to remove the
-.Li -DVINUMDEBUG
-option.
-If you have
-configured
-.Nm
-into the kernel, either specify the line
-.Pp
-.D1 Cd "options VINUMDEBUG"
-.Pp
-in the kernel configuration file or remove the
-.Li -DVINUMDEBUG
-option from
-.Pa /usr/src/sbin/vinum/Makefile
-as described above.
-.Pp
-If the
-.Va VINUMDEBUG
-variables do not match,
-.Xr gvinum 8
-will fail with a message
-explaining the problem and what to do to correct it.
-.Ss Other Options
-.Cd "options VINUM_AUTOSTART"
-.Pp
-Make
-.Nm
-automatically scan all available disks at attach time.
-This is a deprecated way that is primarily intended for environments
-that do not want to rely on kernel environment variables set by
-.Xr loader 8 .
-.Pp
-.Nm
-was previously available in two versions: a freely available version which did
-not contain RAID-5 functionality, and a full version including RAID-5
-functionality, which was available only from Cybernet Systems Inc.
-The present
-version of
-.Nm
-includes the RAID-5 functionality.
-.Sh RUNNING VINUM
-.Nm
-is part of the base
-.Fx
-system.
-It does not require installation.
-To start it, start the
-.Xr gvinum 8
-program, which will load the KLD if it is not already present.
-Before using
-.Nm ,
-it must be configured.
-See
-.Xr gvinum 8
-for information on how to create a
-.Nm
-configuration.
-.Pp
-Normally, you start a configured version of
-.Nm
-at boot time.
-Set the variable
-.Va start_vinum
-in
-.Pa /etc/rc.conf
-to
-.Dq Li YES
-to start
-.Nm
-at boot time.
-(See
-.Xr rc.conf 5
-for more details.)
-.Pp
-If
-.Nm
-is loaded as a KLD (the recommended way), the
-.Nm vinum Cm stop
-command will unload it
-(see
-.Xr gvinum 8 ) .
-You can also do this with the
-.Xr kldunload 8
-command.
-.Pp
-The KLD can only be unloaded when idle, in other words when no volumes are
-mounted and no other instances of the
-.Xr gvinum 8
-program are active.
-Unloading the KLD does not harm the data in the volumes.
-.Ss Configuring and Starting Objects
-Use the
-.Xr gvinum 8
-utility to configure and start
-.Nm
-objects.
-.Sh AUTOMATIC STARTUP
-The
-.Nm
-subsystem can be automatically started at attach time.
-There are two kernel environment variables that can be set in
-.Xr loader.conf 5
-to accomplish this.
-.Bl -tag -width ".Va vinum.autostart" -offset indent
-.It Va vinum.autostart
-If this variable is set (to any value), the attach function will attempt
-to scan all available disks for valid
-.Nm
-configuration records.
-This is the preferred way if automatic startup is desired.
-.Pp
-Example:
-.Dl vinum.autostart="YES"
-.It Va vinum.drives
-Alternatively, this variable can enumerate a list of disk devices
-to scan for configuration records.
-Note that only the
-.Dq bare
-device names need to be given, since
-.Nm
-will automatically scan all possible slices and partitions.
-.Pp
-Example:
-.Dl vinum.drives="da0 da1"
-.El
-.Pp
-If automatic startup is used, it is not necessary to set the
-.Va start_vinum
-variable of
-.Xr rc.conf 5 .
-Note that if
-.Nm
-is to supply to the volume for the root file system, it is necessary
-to start the subsystem early.
-This can be achieved by specifying
-.Pp
-.Dl vinum_load="YES"
-.Pp
-in
-.Xr loader.conf 5 .
-.Sh IOCTL CALLS
-.Xr ioctl 2
-calls are intended for the use of the
-.Xr gvinum 8
-configuration program only.
-They are described in the header file
-.Pa /sys/dev/vinum/vinumio.h .
-.Ss Disk Labels
-Conventional disk special devices have a
-.Em "disk label"
-in the second sector of the device.
-This disk label describes the layout of the partitions within
-the device.
-.Nm
-does not subdivide volumes, so volumes do not contain a physical disk label.
-For convenience,
-.Nm
-implements the ioctl calls
-.Dv DIOCGDINFO
-(get disk label),
-.Dv DIOCGPART
-(get partition information),
-.Dv DIOCWDINFO
-(write partition information) and
-.Dv DIOCSDINFO
-(set partition information).
-.Dv DIOCGDINFO
-and
-.Dv DIOCGPART
-refer to an internal
-representation of the disk label which is not present on the volume.
-As a
-result, the
-.Fl r
-option of
-.Xr disklabel 8 ,
-which reads the
-.Dq "raw disk" ,
-will fail.
-.Pp
-In general,
-.Xr disklabel 8
-serves no useful purpose on a
-.Nm
-volume.
-If you run it, it will show you
-three partitions,
-.Ql a ,
-.Ql b
-and
-.Ql c ,
-all the same except for the
-.Va fstype ,
-for example:
-.Bd -literal
-3 partitions:
-# size offset fstype [fsize bsize bps/cpg]
- a: 2048 0 4.2BSD 1024 8192 0 # (Cyl. 0 - 0)
- b: 2048 0 swap # (Cyl. 0 - 0)
- c: 2048 0 unused 0 0 # (Cyl. 0 - 0)
-.Ed
-.Pp
-.Nm
-ignores the
-.Dv DIOCWDINFO
-and
-.Dv DIOCSDINFO
-ioctls, since there is nothing to change.
-As a result, any attempt to modify the disk label will be silently ignored.
-.Sh MAKING FILE SYSTEMS
-Since
-.Nm
-volumes do not contain partitions, the names do not need to conform to the
-standard rules for naming disk partitions.
-For a physical disk partition, the
-last letter of the device name specifies the partition identifier (a to h).
-.Nm
-volumes need not conform to this convention, but if they do not,
-.Xr newfs 8
-will complain that it cannot determine the partition.
-To solve this problem,
-use the
-.Fl v
-flag to
-.Xr newfs 8 .
-For example, if you have a volume
-.Pa concat ,
-use the following command to create a UFS file system on it:
-.Pp
-.Dl "newfs -v /dev/vinum/concat"
-.Sh OBJECT NAMING
-.Nm
-assigns default names to plexes and subdisks, although they may be overridden.
-We do not recommend overriding the default names.
-Experience with the
-Veritas\(tm
-volume manager, which allows arbitrary naming of objects, has shown that this
-flexibility does not bring a significant advantage, and it can cause confusion.
-.Pp
-Names may contain any non-blank character, but it is recommended to restrict
-them to letters, digits and the underscore characters.
-The names of volumes,
-plexes and subdisks may be up to 64 characters long, and the names of drives may
-up to 32 characters long.
-When choosing volume and plex names, bear in mind
-that automatically generated plex and subdisk names are longer than the name
-from which they are derived.
-.Bl -bullet
-.It
-When
-.Nm
-creates or deletes objects, it creates a directory
-.Pa /dev/vinum ,
-in which it makes device entries for each volume it finds.
-It also creates
-subdirectories,
-.Pa /dev/vinum/plex
-and
-.Pa /dev/vinum/sd ,
-in which it stores device entries for plexes and subdisks.
-In addition, it creates two more directories,
-.Pa /dev/vinum/vol
-and
-.Pa /dev/vinum/drive ,
-in which it stores hierarchical information for volumes and drives.
-.It
-In addition,
-.Nm
-creates three super-devices,
-.Pa /dev/vinum/control ,
-.Pa /dev/vinum/Control
-and
-.Pa /dev/vinum/controld .
-.Pa /dev/vinum/control
-is used by
-.Xr gvinum 8
-when it has been compiled without the
-.Dv VINUMDEBUG
-option,
-.Pa /dev/vinum/Control
-is used by
-.Xr gvinum 8
-when it has been compiled with the
-.Dv VINUMDEBUG
-option, and
-.Pa /dev/vinum/controld
-is used by the
-.Nm
-daemon.
-The two control devices for
-.Xr gvinum 8
-are used to synchronize the debug status of kernel and user modules.
-.It
-Unlike
-.Ux
-drives,
-.Nm
-volumes are not subdivided into partitions, and thus do not contain a disk
-label.
-Unfortunately, this confuses a number of utilities, notably
-.Xr newfs 8 ,
-which normally tries to interpret the last letter of a
-.Nm
-volume name as a partition identifier.
-If you use a volume name which does not
-end in the letters
-.Ql a
-to
-.Ql c ,
-you must use the
-.Fl v
-flag to
-.Xr newfs 8
-in order to tell it to ignore this convention.
-.\"
-.It
-Plexes do not need to be assigned explicit names.
-By default, a plex name is
-the name of the volume followed by the letters
-.Pa .p
-and the number of the
-plex.
-For example, the plexes of volume
-.Pa vol3
-are called
-.Pa vol3.p0 , vol3.p1
-and so on.
-These names can be overridden, but it is not recommended.
-.It
-Like plexes, subdisks are assigned names automatically, and explicit naming is
-discouraged.
-A subdisk name is the name of the plex followed by the letters
-.Pa .s
-and a number identifying the subdisk.
-For example, the subdisks of
-plex
-.Pa vol3.p0
-are called
-.Pa vol3.p0.s0 , vol3.p0.s1
-and so on.
-.It
-By contrast,
-.Em drives
-must be named.
-This makes it possible to move a drive to a different location
-and still recognize it automatically.
-Drive names may be up to 32 characters
-long.
-.El
-.Ss Example
-Assume the
-.Nm
-objects described in the section
-.Sx "CONFIGURATION FILE"
-in
-.Xr gvinum 8 .
-The directory
-.Pa /dev/vinum
-looks like:
-.Bd -literal -offset indent
-# ls -lR /dev/vinum
-total 5
-brwxr-xr-- 1 root wheel 25, 2 Mar 30 16:08 concat
-brwx------ 1 root wheel 25, 0x40000000 Mar 30 16:08 control
-brwx------ 1 root wheel 25, 0x40000001 Mar 30 16:08 controld
-drwxrwxrwx 2 root wheel 512 Mar 30 16:08 drive
-drwxrwxrwx 2 root wheel 512 Mar 30 16:08 plex
-drwxrwxrwx 2 root wheel 512 Mar 30 16:08 rvol
-drwxrwxrwx 2 root wheel 512 Mar 30 16:08 sd
-brwxr-xr-- 1 root wheel 25, 3 Mar 30 16:08 strcon
-brwxr-xr-- 1 root wheel 25, 1 Mar 30 16:08 stripe
-brwxr-xr-- 1 root wheel 25, 0 Mar 30 16:08 tinyvol
-drwxrwxrwx 7 root wheel 512 Mar 30 16:08 vol
-brwxr-xr-- 1 root wheel 25, 4 Mar 30 16:08 vol5
-
-/dev/vinum/drive:
-total 0
-brw-r----- 1 root operator 4, 15 Oct 21 16:51 drive2
-brw-r----- 1 root operator 4, 31 Oct 21 16:51 drive4
-
-/dev/vinum/plex:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x10000002 Mar 30 16:08 concat.p0
-brwxr-xr-- 1 root wheel 25, 0x10010002 Mar 30 16:08 concat.p1
-brwxr-xr-- 1 root wheel 25, 0x10000003 Mar 30 16:08 strcon.p0
-brwxr-xr-- 1 root wheel 25, 0x10010003 Mar 30 16:08 strcon.p1
-brwxr-xr-- 1 root wheel 25, 0x10000001 Mar 30 16:08 stripe.p0
-brwxr-xr-- 1 root wheel 25, 0x10000000 Mar 30 16:08 tinyvol.p0
-brwxr-xr-- 1 root wheel 25, 0x10000004 Mar 30 16:08 vol5.p0
-brwxr-xr-- 1 root wheel 25, 0x10010004 Mar 30 16:08 vol5.p1
-
-/dev/vinum/sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20000002 Mar 30 16:08 concat.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100002 Mar 30 16:08 concat.p0.s1
-brwxr-xr-- 1 root wheel 25, 0x20010002 Mar 30 16:08 concat.p1.s0
-brwxr-xr-- 1 root wheel 25, 0x20000003 Mar 30 16:08 strcon.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100003 Mar 30 16:08 strcon.p0.s1
-brwxr-xr-- 1 root wheel 25, 0x20010003 Mar 30 16:08 strcon.p1.s0
-brwxr-xr-- 1 root wheel 25, 0x20110003 Mar 30 16:08 strcon.p1.s1
-brwxr-xr-- 1 root wheel 25, 0x20000001 Mar 30 16:08 stripe.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100001 Mar 30 16:08 stripe.p0.s1
-brwxr-xr-- 1 root wheel 25, 0x20000000 Mar 30 16:08 tinyvol.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100000 Mar 30 16:08 tinyvol.p0.s1
-brwxr-xr-- 1 root wheel 25, 0x20000004 Mar 30 16:08 vol5.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100004 Mar 30 16:08 vol5.p0.s1
-brwxr-xr-- 1 root wheel 25, 0x20010004 Mar 30 16:08 vol5.p1.s0
-brwxr-xr-- 1 root wheel 25, 0x20110004 Mar 30 16:08 vol5.p1.s1
-
-/dev/vinum/vol:
-total 5
-brwxr-xr-- 1 root wheel 25, 2 Mar 30 16:08 concat
-drwxr-xr-x 4 root wheel 512 Mar 30 16:08 concat.plex
-brwxr-xr-- 1 root wheel 25, 3 Mar 30 16:08 strcon
-drwxr-xr-x 4 root wheel 512 Mar 30 16:08 strcon.plex
-brwxr-xr-- 1 root wheel 25, 1 Mar 30 16:08 stripe
-drwxr-xr-x 3 root wheel 512 Mar 30 16:08 stripe.plex
-brwxr-xr-- 1 root wheel 25, 0 Mar 30 16:08 tinyvol
-drwxr-xr-x 3 root wheel 512 Mar 30 16:08 tinyvol.plex
-brwxr-xr-- 1 root wheel 25, 4 Mar 30 16:08 vol5
-drwxr-xr-x 4 root wheel 512 Mar 30 16:08 vol5.plex
-
-/dev/vinum/vol/concat.plex:
-total 2
-brwxr-xr-- 1 root wheel 25, 0x10000002 Mar 30 16:08 concat.p0
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 concat.p0.sd
-brwxr-xr-- 1 root wheel 25, 0x10010002 Mar 30 16:08 concat.p1
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 concat.p1.sd
-
-/dev/vinum/vol/concat.plex/concat.p0.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20000002 Mar 30 16:08 concat.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100002 Mar 30 16:08 concat.p0.s1
-
-/dev/vinum/vol/concat.plex/concat.p1.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20010002 Mar 30 16:08 concat.p1.s0
-
-/dev/vinum/vol/strcon.plex:
-total 2
-brwxr-xr-- 1 root wheel 25, 0x10000003 Mar 30 16:08 strcon.p0
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 strcon.p0.sd
-brwxr-xr-- 1 root wheel 25, 0x10010003 Mar 30 16:08 strcon.p1
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 strcon.p1.sd
-
-/dev/vinum/vol/strcon.plex/strcon.p0.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20000003 Mar 30 16:08 strcon.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100003 Mar 30 16:08 strcon.p0.s1
-
-/dev/vinum/vol/strcon.plex/strcon.p1.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20010003 Mar 30 16:08 strcon.p1.s0
-brwxr-xr-- 1 root wheel 25, 0x20110003 Mar 30 16:08 strcon.p1.s1
-
-/dev/vinum/vol/stripe.plex:
-total 1
-brwxr-xr-- 1 root wheel 25, 0x10000001 Mar 30 16:08 stripe.p0
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 stripe.p0.sd
-
-/dev/vinum/vol/stripe.plex/stripe.p0.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20000001 Mar 30 16:08 stripe.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100001 Mar 30 16:08 stripe.p0.s1
-
-/dev/vinum/vol/tinyvol.plex:
-total 1
-brwxr-xr-- 1 root wheel 25, 0x10000000 Mar 30 16:08 tinyvol.p0
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 tinyvol.p0.sd
-
-/dev/vinum/vol/tinyvol.plex/tinyvol.p0.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20000000 Mar 30 16:08 tinyvol.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100000 Mar 30 16:08 tinyvol.p0.s1
-
-/dev/vinum/vol/vol5.plex:
-total 2
-brwxr-xr-- 1 root wheel 25, 0x10000004 Mar 30 16:08 vol5.p0
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 vol5.p0.sd
-brwxr-xr-- 1 root wheel 25, 0x10010004 Mar 30 16:08 vol5.p1
-drwxr-xr-x 2 root wheel 512 Mar 30 16:08 vol5.p1.sd
-
-/dev/vinum/vol/vol5.plex/vol5.p0.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20000004 Mar 30 16:08 vol5.p0.s0
-brwxr-xr-- 1 root wheel 25, 0x20100004 Mar 30 16:08 vol5.p0.s1
-
-/dev/vinum/vol/vol5.plex/vol5.p1.sd:
-total 0
-brwxr-xr-- 1 root wheel 25, 0x20010004 Mar 30 16:08 vol5.p1.s0
-brwxr-xr-- 1 root wheel 25, 0x20110004 Mar 30 16:08 vol5.p1.s1
-.Ed
-.Pp
-In the case of unattached plexes and subdisks, the naming is reversed.
-Subdisks
-are named after the disk on which they are located, and plexes are named after
-the subdisk.
-.\" XXX
-.Bf -symbolic
-This mapping is still to be determined.
-.Ef
-.Ss Object States
-Each
-.Nm
-object has a
-.Em state
-associated with it.
-.Nm
-uses this state to determine the handling of the object.
-.Ss Volume States
-Volumes may have the following states:
-.Bl -hang -width 14n
-.It Em down
-The volume is completely inaccessible.
-.It Em up
-The volume is up and at least partially functional.
-Not all plexes may be
-available.
-.El
-.Ss "Plex States"
-Plexes may have the following states:
-.Bl -hang -width 14n
-.It Em referenced
-A plex entry which has been referenced as part of a volume, but which is
-currently not known.
-.It Em faulty
-A plex which has gone completely down because of I/O errors.
-.It Em down
-A plex which has been taken down by the administrator.
-.It Em initializing
-A plex which is being initialized.
-.El
-.Pp
-The remaining states represent plexes which are at least partially up.
-.Bl -hang -width 14n
-.It Em corrupt
-A plex entry which is at least partially up.
-Not all subdisks are available,
-and an inconsistency has occurred.
-If no other plex is uncorrupted, the volume
-is no longer consistent.
-.It Em degraded
-A RAID-5 plex entry which is accessible, but one subdisk is down, requiring
-recovery for many I/O requests.
-.It Em flaky
-A plex which is really up, but which has a reborn subdisk which we do not
-completely trust, and which we do not want to read if we can avoid it.
-.It Em up
-A plex entry which is completely up.
-All subdisks are up.
-.El
-.Ss "Subdisk States"
-Subdisks can have the following states:
-.Bl -hang -width 14n
-.It Em empty
-A subdisk entry which has been created completely.
-All fields are correct, and
-the disk has been updated, but the on the disk is not valid.
-.It Em referenced
-A subdisk entry which has been referenced as part of a plex, but which is
-currently not known.
-.It Em initializing
-A subdisk entry which has been created completely and which is currently being
-initialized.
-.El
-.Pp
-The following states represent invalid data.
-.Bl -hang -width 14n
-.It Em obsolete
-A subdisk entry which has been created completely.
-All fields are correct, the
-config on disk has been updated, and the data was valid, but since then the
-drive has been taken down, and as a result updates have been missed.
-.It Em stale
-A subdisk entry which has been created completely.
-All fields are correct, the
-disk has been updated, and the data was valid, but since then the drive has been
-crashed and updates have been lost.
-.El
-.Pp
-The following states represent valid, inaccessible data.
-.Bl -hang -width 14n
-.It Em crashed
-A subdisk entry which has been created completely.
-All fields are correct, the
-disk has been updated, and the data was valid, but since then the drive has gone
-down.
-No attempt has been made to write to the subdisk since the crash, so the
-data is valid.
-.It Em down
-A subdisk entry which was up, which contained valid data, and which was taken
-down by the administrator.
-The data is valid.
-.It Em reviving
-The subdisk is currently in the process of being revived.
-We can write but not
-read.
-.El
-.Pp
-The following states represent accessible subdisks with valid data.
-.Bl -hang -width 14n
-.It Em reborn
-A subdisk entry which has been created completely.
-All fields are correct, the
-disk has been updated, and the data was valid, but since then the drive has gone
-down and up again.
-No updates were lost, but it is possible that the subdisk
-has been damaged.
-We will not read from this subdisk if we have a choice.
-If this
-is the only subdisk which covers this address space in the plex, we set its
-state to up under these circumstances, so this status implies that there is
-another subdisk to fulfill the request.
-.It Em up
-A subdisk entry which has been created completely.
-All fields are correct, the
-disk has been updated, and the data is valid.
-.El
-.Ss "Drive States"
-Drives can have the following states:
-.Bl -hang -width 14n
-.It Em referenced
-At least one subdisk refers to the drive, but it is not currently accessible to
-the system.
-No device name is known.
-.It Em down
-The drive is not accessible.
-.It Em up
-The drive is up and running.
-.El
-.Sh SEE ALSO
-.Xr loader.conf 5 ,
-.Xr disklabel 8 ,
-.Xr gvinum 8 ,
-.Xr loader 8 ,
-.Xr newfs 8
-.Sh HISTORY
-.Nm
-first appeared in
-.Fx 3.0 .
-The RAID-5 component of
-.Nm
-was developed by Cybernet Inc.\&
-.Pq Pa http://www.cybernet.com/ ,
-for its NetMAX product.
-.Sh AUTHORS
-.An Greg Lehey Aq grog@lemis.com .
-.Sh BUGS
-.Nm
-is a new product.
-Bugs can be expected.
-The configuration mechanism is not yet
-fully functional.
-If you have difficulties, please look at the section
-.Sx "DEBUGGING PROBLEMS WITH VINUM"
-before reporting problems.
-.Pp
-Kernels with the
-.Nm
-device appear to work, but are not supported.
-If you have trouble with
-this configuration, please first replace the kernel with a
-.No non- Ns Nm
-kernel and test with the KLD module.
-.Pp
-Detection of differences between the version of the kernel and the KLD is not
-yet implemented.
-.Pp
-The RAID-5 functionality is new in
-.Fx 3.3 .
-Some problems have been
-reported with
-.Nm
-in combination with soft updates, but these are not reproducible on all
-systems.
-If you are planning to use
-.Nm
-in a production environment, please test carefully.
-.Sh DEBUGGING PROBLEMS WITH VINUM
-Solving problems with
-.Nm
-can be a difficult affair.
-This section suggests some approaches.
-.Ss Configuration problems
-It is relatively easy (too easy) to run into problems with the
-.Nm
-configuration.
-If you do, the first thing you should do is stop configuration
-updates:
-.Pp
-.Dl "vinum setdaemon 4"
-.Pp
-This will stop updates and any further corruption of the on-disk configuration.
-.Pp
-Next, look at the on-disk configuration, using a Bourne-style shell:
-.Bd -literal
-rm -f log
-for i in /dev/da0s1h /dev/da1s1h /dev/da2s1h /dev/da3s1h; do
- (dd if=$i skip=8 count=6|tr -d '\e000-\e011\e200-\e377'; echo) >> log
-done
-.Ed
-.Pp
-The names of the devices are the names of all
-.Nm
-slices.
-The file
-.Pa log
-should then contain something like this:
-.Bd -literal
-.if t .ps -3
-.if t .vs -3
-IN VINOpanic.lemis.comdrive1}6E7~^K6T^Yfoovolume obj state up
-volume src state up
-volume raid state down
-volume r state down
-volume foo state up
-plex name obj.p0 state corrupt org concat vol obj
-plex name obj.p1 state corrupt org striped 128b vol obj
-plex name src.p0 state corrupt org striped 128b vol src
-plex name src.p1 state up org concat vol src
-plex name raid.p0 state faulty org disorg vol raid
-plex name r.p0 state faulty org disorg vol r
-plex name foo.p0 state up org concat vol foo
-plex name foo.p1 state faulty org concat vol foo
-sd name obj.p0.s0 drive drive2 plex obj.p0 state reborn len 409600b driveoffset 265b plexoffset 0b
-sd name obj.p0.s1 drive drive4 plex obj.p0 state up len 409600b driveoffset 265b plexoffset 409600b
-sd name obj.p1.s0 drive drive1 plex obj.p1 state up len 204800b driveoffset 265b plexoffset 0b
-sd name obj.p1.s1 drive drive2 plex obj.p1 state reborn len 204800b driveoffset 409865b plexoffset 128b
-sd name obj.p1.s2 drive drive3 plex obj.p1 state up len 204800b driveoffset 265b plexoffset 256b
-sd name obj.p1.s3 drive drive4 plex obj.p1 state up len 204800b driveoffset 409865b plexoffset 384b
-.if t .vs
-.if t .ps
-.Ed
-.Pp
-The first line contains the
-.Nm
-label and must start with the text
-.Dq Li "IN VINO" .
-It also contains the name of the system.
-The exact definition is contained in
-.Pa /usr/src/sys/dev/vinum/vinumvar.h .
-The saved configuration starts in the middle of the line with the text
-.Dq Li "volume obj state up"
-and starts in sector 9 of the disk.
-The rest of the output shows the remainder of the on-disk configuration.
-It
-may be necessary to increase the
-.Cm count
-argument of
-.Xr dd 1
-in order to see the complete configuration.
-.Pp
-The configuration on all disks should be the same.
-If this is not the case,
-please report the problem with the exact contents of the file
-.Pa log .
-There is probably little that can be done to recover the on-disk configuration,
-but if you keep a copy of the files used to create the objects, you should be
-able to re-create them.
-The
-.Ic create
-command does not change the subdisk data, so this will not cause data
-corruption.
-You may need to use the
-.Ic resetconfig
-command if you have this kind of trouble.
-.Ss Kernel Panics
-In order to analyse a panic which you suspect comes from
-.Nm
-you will need to build a debug kernel.
-See the online handbook at
-.Pa /usr/share/doc/en/books/developers-handbook/kerneldebug.html
-(if installed) or
-.Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-\%handbook/kerneldebug.html
-for more details of how to do this.
-.Pp
-Perform the following steps to analyse a
-.Nm
-problem:
-.Bl -enum
-.It
-Copy the following files to the directory in which you will be
-performing the analysis, typically
-.Pa /var/crash :
-.Pp
-.Bl -bullet -compact
-.It
-.Pa /usr/src/sys/modules/vinum/.gdbinit.crash ,
-.It
-.Pa /usr/src/sys/modules/vinum/.gdbinit.kernel ,
-.It
-.Pa /usr/src/sys/modules/vinum/.gdbinit.serial ,
-.It
-.Pa /usr/src/sys/modules/vinum/.gdbinit.vinum
-and
-.It
-.Pa /usr/src/sys/modules/vinum/.gdbinit.vinum.paths
-.El
-.It
-Make sure that you build the
-.Nm
-module with debugging information.
-The standard
-.Pa Makefile
-builds a module with debugging symbols by default.
-If the version of
-.Nm
-in
-.Pa /boot/kernel
-does not contain symbols, you will not get an error message, but the stack trace
-will not show the symbols.
-Check the module before starting
-.Xr gdb 1 :
-.Bd -literal
-$ file /boot/kernel/vinum.ko
-/boot/kernel/vinum.ko: ELF 32-bit LSB shared object, Intel 80386,
- version 1 (FreeBSD), not stripped
-.Ed
-.Pp
-If the output shows that
-.Pa /boot/kernel/vinum.ko
-is stripped, you will have to find a version which is not.
-Usually this will be
-either in
-.Pa /usr/obj/sys/modules/vinum/vinum.ko
-(if you have built
-.Nm
-with a
-.Dq Li "make world" )
-or
-.Pa /usr/src/sys/modules/vinum/vinum.ko
-(if you have built
-.Nm
-in this directory).
-Modify the file
-.Pa .gdbinit.vinum.paths
-accordingly.
-.It
-Either take a dump or use remote serial
-.Xr gdb 1
-to analyse the problem.
-To analyse a dump, say
-.Pa /var/crash/vmcore.5 ,
-link
-.Pa /var/crash/.gdbinit.crash
-to
-.Pa /var/crash/.gdbinit
-and enter:
-.Bd -literal -offset indent
-cd /var/crash
-gdb -k kernel.debug vmcore.5
-.Ed
-.Pp
-This example assumes that you have installed the correct debug kernel at
-.Pa /var/crash/kernel.debug .
-If not, substitute the correct name of the debug kernel.
-.Pp
-To perform remote serial debugging,
-link
-.Pa /var/crash/.gdbinit.serial
-to
-.Pa /var/crash/.gdbinit
-and enter
-.Bd -literal -offset indent
-cd /var/crash
-gdb -k kernel.debug
-.Ed
-.Pp
-In this case, the
-.Pa .gdbinit
-file performs the functions necessary to establish connection.
-The remote
-machine must already be in debug mode: enter the kernel debugger and select
-.Ic gdb
-(see
-.Xr ddb 4
-for more details).
-The serial
-.Pa .gdbinit
-file expects the serial connection to run at 38400 bits per second; if you run
-at a different speed, edit the file accordingly (look for the
-.Va remotebaud
-specification).
-.Pp
-The following example shows a remote debugging session using the
-.Ic debug
-command of
-.Xr gvinum 8 :
-.Bd -literal
-.if t .ps -3
-.if t .vs -3
-GDB 4.16 (i386-unknown-freebsd), Copyright 1996 Free Software Foundation, Inc.
-Debugger (msg=0xf1093174 "vinum debug") at ../../i386/i386/db_interface.c:318
-318 in_Debugger = 0;
-#1 0xf108d9bc in vinumioctl (dev=0x40001900, cmd=0xc008464b, data=0xf6dedee0 "",
- flag=0x3, p=0xf68b7940) at
- /usr/src/sys/modules/Vinum/../../dev/Vinum/vinumioctl.c:102
-102 Debugger ("vinum debug");
-(kgdb) bt
-#0 Debugger (msg=0xf0f661ac "vinum debug") at ../../i386/i386/db_interface.c:318
-#1 0xf0f60a7c in vinumioctl (dev=0x40001900, cmd=0xc008464b, data=0xf6923ed0 "",
- flag=0x3, p=0xf688e6c0) at
- /usr/src/sys/modules/vinum/../../dev/vinum/vinumioctl.c:109
-#2 0xf01833b7 in spec_ioctl (ap=0xf6923e0c) at ../../miscfs/specfs/spec_vnops.c:424
-#3 0xf0182cc9 in spec_vnoperate (ap=0xf6923e0c) at ../../miscfs/specfs/spec_vnops.c:129
-#4 0xf01eb3c1 in ufs_vnoperatespec (ap=0xf6923e0c) at ../../ufs/ufs/ufs_vnops.c:2312
-#5 0xf017dbb1 in vn_ioctl (fp=0xf1007ec0, com=0xc008464b, data=0xf6923ed0 "",
- p=0xf688e6c0) at vnode_if.h:395
-#6 0xf015dce0 in ioctl (p=0xf688e6c0, uap=0xf6923f84) at ../../kern/sys_generic.c:473
-#7 0xf0214c0b in syscall (frame={tf_es = 0x27, tf_ds = 0x27, tf_edi = 0xefbfcff8,
- tf_esi = 0x1, tf_ebp = 0xefbfcf90, tf_isp = 0xf6923fd4, tf_ebx = 0x2,
- tf_edx = 0x804b614, tf_ecx = 0x8085d10, tf_eax = 0x36, tf_trapno = 0x7,
- tf_err = 0x2, tf_eip = 0x8060a34, tf_cs = 0x1f, tf_eflags = 0x286,
- tf_esp = 0xefbfcf78, tf_ss = 0x27}) at ../../i386/i386/trap.c:1100
-#8 0xf020a1fc in Xint0x80_syscall ()
-#9 0x804832d in ?? ()
-#10 0x80482ad in ?? ()
-#11 0x80480e9 in ?? ()
-.if t .vs
-.if t .ps
-.Ed
-.Pp
-When entering from the debugger, it is important that the source of frame 1
-(listed by the
-.Pa .gdbinit
-file at the top of the example) contains the text
-.Dq Li "Debugger (\*[q]vinum debug\*[q]);" .
-.Pp
-This is an indication that the address specifications are correct.
-If you get
-some other output, your symbols and the kernel module are out of sync, and the
-trace will be meaningless.
-.El
-.Pp
-For an initial investigation, the most important information is the output of
-the
-.Ic bt
-(backtrace) command above.
-.Ss Reporting Problems with Vinum
-If you find any bugs in
-.Nm ,
-please report them to
-.An Greg Lehey Aq grog@lemis.com .
-Supply the following
-information:
-.Bl -bullet
-.It
-The output of the
-.Nm vinum Cm list
-command
-(see
-.Xr gvinum 8 ) .
-.It
-Any messages printed in
-.Pa /var/log/messages .
-All such messages will be identified by the text
-.Dq Li vinum
-at the beginning.
-.It
-If you have a panic, a stack trace as described above.
-.El
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index 7d4df68..47a41bd 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -252,12 +252,14 @@ FreeBSD 5.2 | | | |
| | | | OpenBSD 5.0 |
*--FreeBSD | | | | |
| 9.0 | | | | DragonFly 3.0.1
- | v FreeBSD | | | |
- | 8.3 | | OpenBSD 5.1 |
- | Mac OS X | | |
- | 10.8 | | |
- | | NetBSD 6.0 | |
- | | | OpenBSD 5.2 DragonFly 3.2.1
+ | | FreeBSD | | | |
+ | | 8.3 | | OpenBSD 5.1 |
+ | | Mac OS X | | |
+ | | 10.8 | | |
+ | | | NetBSD 6.0 | |
+ | | | | OpenBSD 5.2 DragonFly 3.2.1
+ | FreeBSD | | | |
+ | 9.1 | | | |
| | | | |
FreeBSD 10 -current | NetBSD -current OpenBSD -current |
| | | | |
@@ -555,6 +557,7 @@ Mac OS X 10.8 2012-07-25 [APL]
NetBSD 6.0 2012-10-17 [NBD]
OpenBSD 5.2 2012-11-01 [OBD]
DragonFly 3.2.1 2012-11-02 [DFB]
+FreeBSD 9.1 2012-12-30 [FBD]
Bibliography
------------------------
diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot
index 0d755d0..1f95fc5 100644
--- a/share/misc/committers-ports.dot
+++ b/share/misc/committers-ports.dot
@@ -171,7 +171,7 @@ philip [label="Philip Paeps\nphilip@FreeBSD.org\n2005/10/19"]
rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2006/06/23"]
rakuco [label="Raphael Kubo da Costa\nrakuco@FreeBSD.org\n2011/08/22"]
rene [label="Rene Ladan\nrene@FreeBSD.org\n2010/04/11"]
-rm [label="Ruslan Mahmatkhanov\nrm@FreeBSD.org\n2011/11/06"]
+rm [label="Ruslan Makhmatkhanov\nrm@FreeBSD.org\n2011/11/06"]
rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"]
romain [label="Romain Tartiere\nromain@FreeBSD.org\n2010/01/24"]
sahil [label="Sahil Tandon\nsahil@FreeBSD.org\n2010/04/11"]
diff --git a/share/misc/organization.dot b/share/misc/organization.dot
index 8561875..84b9014 100644
--- a/share/misc/organization.dot
+++ b/share/misc/organization.dot
@@ -30,7 +30,7 @@ coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\npgj"]
doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"]
doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"]
portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"]
-portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, miwi"]
+portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt,\nerwin, bdrewery,\nitetcu, miwi"]
portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"]
re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith"]
secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"]
@@ -43,13 +43,12 @@ srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"]
accounts [label="Accounts Team\naccounts@FreeBSD.org\nmarkm, simon, kensmith,\ndhw"]
backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"]
-bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo, linimon"]
+bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo"]
clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"]
cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"]
dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"]
mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"]
ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"]
-pcvs [label="CVS ports Repository Managers\npcvs@FreeBSD.org\nmarcus, joe, kuriyama,\nmarkm, simon"]
perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"]
postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"]
refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"]
@@ -70,8 +69,6 @@ _admin -> backups
_admin -> bugmeister
_admin -> clusteradm
_admin -> ncvs
-_admin -> pcvs
-_admin -> dcvs
_admin -> cvsupmaster
_admin -> dnsadm
_admin -> mirroradmin
OpenPOWER on IntegriCloud