1.\" Copyright (c) 2004-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd March 5, 2008 28.Dt GEOM 8 29.Os 30.Sh NAME 31.Nm geom 32.Nd "universal control utility for GEOM classes" 33.Sh SYNOPSIS 34.Nm 35.Ar class 36.Cm help 37.Nm 38.Ar class 39.Cm list 40.Op Ar name ... 41.Nm 42.Ar class 43.Cm status 44.Op Fl s 45.Op Ar name ... 46.Nm 47.Ar class 48.Cm load 49.Op Fl v 50.Nm 51.Ar class 52.Cm unload 53.Op Fl v 54.Sh DESCRIPTION 55The 56.Nm 57utility is used to control various GEOM classes. 58A class has to be aware of 59.Xr geom 8 60communication methods, but there are also some standard commands 61which can be used for existing 62.Xr geom 8 63unaware classes. 64Here is the list of standard commands: 65.Bl -tag -width ".Cm status" 66.It Cm help 67List all available commands for the given class. 68.It Cm list 69Print detailed information (within the given class) about all geoms 70(if no additional arguments were specified) or the given geoms. 71This command is only available if the given class exists in the kernel. 72.It Cm status 73Print general information (within the given class) about all geoms 74(if no additional arguments were specified) or the given geoms. 75This command is only available if the given class exists in the kernel. 76.Pp 77Additional options include: 78.Bl -tag -width ".Fl s" 79.It Fl s 80Produce script-friendly output. 81.El 82.It Cm load 83Load the kernel module that implements the given class. 84This command is only available if the class does not yet exist in the kernel and 85the file 86.Pa geom_ Ns Ao Ar class Ac Ns Pa .ko 87can be found in one of the directories specified in 88.Va kern.module_path 89sysctl. 90.It Cm unload 91Unload the kernel module which implements the given class. 92This command is only available if the given class is loaded as a 93kernel module. 94.El 95.Pp 96Class-specific commands are implemented as shared libraries which 97are stored in 98.Pa /lib/geom/ 99directory and are loaded via 100.Xr dlopen 3 101function when the class name is known. 102When a class-specific shared library exists, a direct utility should also be 103available under the name of 104.Nm g Ns Ar class . 105.Pp 106Currently available classes which are aware of 107.Xr geom 8 : 108.Pp 109.Bl -bullet -offset indent -compact 110.It 111CACHE 112.It 113CONCAT 114.It 115ELI 116.It 117JOURNAL 118.It 119LABEL 120.It 121MIRROR 122.It 123MULTIPATH 124.It 125NOP 126.It 127PART 128.It 129RAID3 130.It 131SHSEC 132.It 133STRIPE 134.It 135VIRSTOR 136.El 137.Sh ENVIRONMENT 138The following environment variables affect the execution of 139.Nm : 140.Bl -tag -width ".Ev GEOM_LIBRARY_PATH" 141.It Ev GEOM_LIBRARY_PATH 142Specifies the path where shared libraries are stored instead of 143.Pa /lib/geom/ . 144Multiple paths can be specified with a colon-separated list of paths. 145.El 146.Sh EXIT STATUS 147Exit status is 0 on success, and 1 if the command fails. 148.Sh EXAMPLES 149The following example shows how to set up a stripe on three disks for automatic 150configuration: 151.Bd -literal -offset indent 152geom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2 153or: 154gstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2 155.Ed 156.Pp 157Print the list of all providers from the DISK class: 158.Bd -literal -offset indent 159geom disk list 160.Ed 161.Pp 162Unload a kernel module which implements the MD class: 163.Bd -literal -offset indent 164geom md unload 165.Ed 166.Sh SEE ALSO 167.Xr libgeom 3 , 168.Xr geom 4 , 169.Xr gcache 8 , 170.Xr gconcat 8 , 171.Xr geli 8 , 172.Xr gjournal 8 , 173.Xr glabel 8 , 174.Xr gmirror 8 , 175.Xr gmountver 8 , 176.Xr gmultipath 8 , 177.Xr gnop 8 , 178.Xr gpart 8 , 179.Xr graid3 8 , 180.Xr gshsec 8 , 181.Xr gstripe 8 , 182.Xr gvirstor 8 183.Sh HISTORY 184The 185.Nm 186utility appeared in 187.Fx 5.3 . 188.Sh AUTHORS 189.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org 190