13e64260dSPawel Jakub Dawidek.\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd@FreeBSD.org> 23e64260dSPawel Jakub Dawidek.\" All rights reserved. 33e64260dSPawel Jakub Dawidek.\" 43e64260dSPawel Jakub Dawidek.\" Redistribution and use in source and binary forms, with or without 53e64260dSPawel Jakub Dawidek.\" modification, are permitted provided that the following conditions 63e64260dSPawel Jakub Dawidek.\" are met: 73e64260dSPawel Jakub Dawidek.\" 1. Redistributions of source code must retain the above copyright 83e64260dSPawel Jakub Dawidek.\" notice, this list of conditions and the following disclaimer. 93e64260dSPawel Jakub Dawidek.\" 2. Redistributions in binary form must reproduce the above copyright 103e64260dSPawel Jakub Dawidek.\" notice, this list of conditions and the following disclaimer in the 113e64260dSPawel Jakub Dawidek.\" documentation and/or other materials provided with the distribution. 123e64260dSPawel Jakub Dawidek.\" 133e64260dSPawel Jakub Dawidek.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 143e64260dSPawel Jakub Dawidek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 153e64260dSPawel Jakub Dawidek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 163e64260dSPawel Jakub Dawidek.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 173e64260dSPawel Jakub Dawidek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 183e64260dSPawel Jakub Dawidek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 193e64260dSPawel Jakub Dawidek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 203e64260dSPawel Jakub Dawidek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 213e64260dSPawel Jakub Dawidek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 223e64260dSPawel Jakub Dawidek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 233e64260dSPawel Jakub Dawidek.\" SUCH DAMAGE. 243e64260dSPawel Jakub Dawidek.\" 253e64260dSPawel Jakub Dawidek.\" $FreeBSD$ 263e64260dSPawel Jakub Dawidek.\" 273e64260dSPawel Jakub Dawidek.Dd May 21, 2004 283e64260dSPawel Jakub Dawidek.Dt GEOM 8 293e64260dSPawel Jakub Dawidek.Os 303e64260dSPawel Jakub Dawidek.Sh NAME 313e64260dSPawel Jakub Dawidek.Nm geom 323e64260dSPawel Jakub Dawidek.Nd "universal control utility for GEOM classes" 333e64260dSPawel Jakub Dawidek.Sh SYNOPSIS 343e64260dSPawel Jakub Dawidek.Nm 353e64260dSPawel Jakub Dawidek.Ar class 363e64260dSPawel Jakub Dawidek.Ar command 373e64260dSPawel Jakub Dawidek.Op Ar options 383e64260dSPawel Jakub Dawidek.Sh DESCRIPTION 393e64260dSPawel Jakub DawidekThe 403e64260dSPawel Jakub Dawidek.Nm 413e64260dSPawel Jakub Dawidekutility is used to control various GEOM classes. 423e64260dSPawel Jakub DawidekA class has to be aware of 433e64260dSPawel Jakub Dawidek.Xr geom 8 443e64260dSPawel Jakub Dawidekcomunication methods, but there are also some standard commands 45d608b5abSCeri Davieswhich can be used for existing 463e64260dSPawel Jakub Dawidek.Xr geom 8 47d608b5abSCeri Daviesunaware classes. 483e64260dSPawel Jakub DawidekHere is the list of standard commands: 493e64260dSPawel Jakub Dawidek.Bl -tag -width ".Cm unload" 503e64260dSPawel Jakub Dawidek.It Cm help 513e64260dSPawel Jakub DawidekList all available commands for the given class. 523e64260dSPawel Jakub Dawidek.It Cm list 531d723f1dSPawel Jakub DawidekPrint detailed information (within the given class) about all geoms 541d723f1dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms. 553e64260dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel. 563e64260dSPawel Jakub Dawidek.It Cm load 573e64260dSPawel Jakub DawidekLoad the kernel module that implements the given class. 580e252c9aSRuslan ErmilovThis command is only available if the class does not yet exist in the kernel and 593e64260dSPawel Jakub Dawidekthe file 600e252c9aSRuslan Ermilov.Pa geom_ Ns Ao Ar class Ac Ns Pa .ko 613e64260dSPawel Jakub Dawidekcan be found in one of the directories specifed in 623e64260dSPawel Jakub Dawidek.Va kern.module_path 633e64260dSPawel Jakub Dawideksysctl. 643e64260dSPawel Jakub Dawidek.It Cm unload 653e64260dSPawel Jakub DawidekUnload the kernel module which implements the given class. 663e64260dSPawel Jakub DawidekThis command is only available if the given class is loaded as a 673e64260dSPawel Jakub Dawidekkernel module. 683e64260dSPawel Jakub Dawidek.El 693e64260dSPawel Jakub Dawidek.Pp 703e64260dSPawel Jakub DawidekClass-specific commands are implemented as shared libraries which 713e64260dSPawel Jakub Dawidekare stored in 723e64260dSPawel Jakub Dawidek.Pa /lib/geom/ 733e64260dSPawel Jakub Dawidekdirectory and are loaded via 743e64260dSPawel Jakub Dawidek.Xr dlopen 3 753e64260dSPawel Jakub Dawidekfunction when the class name is known. 763e64260dSPawel Jakub DawidekWhen a class-specific shared library exists, a direct utility should also be 773e64260dSPawel Jakub Dawidekavailable under the name of 780e252c9aSRuslan Ermilov.Nm g Ns Ar class . 793e64260dSPawel Jakub Dawidek.Pp 803e64260dSPawel Jakub DawidekCurrently available classes which are aware of 813e64260dSPawel Jakub Dawidek.Xr geom 8 : 820e252c9aSRuslan Ermilov.Pp 833e64260dSPawel Jakub Dawidek.Bl -bullet -offset indent -compact 843e64260dSPawel Jakub Dawidek.It 853e64260dSPawel Jakub DawidekCONCAT 863e64260dSPawel Jakub Dawidek.It 87b3530b8eSPawel Jakub DawidekLABEL 88b3530b8eSPawel Jakub Dawidek.It 89b3530b8eSPawel Jakub DawidekMIRROR 90b3530b8eSPawel Jakub Dawidek.It 913e64260dSPawel Jakub DawidekNOP 923e64260dSPawel Jakub Dawidek.It 93b3530b8eSPawel Jakub DawidekRAID3 94b3530b8eSPawel Jakub Dawidek.It 953e64260dSPawel Jakub DawidekSTRIPE 963e64260dSPawel Jakub Dawidek.El 976087df9eSRuslan Ermilov.Sh EXIT STATUS 986087df9eSRuslan ErmilovExit status is 0 on success, and 1 if the command fails. 993e64260dSPawel Jakub Dawidek.Sh EXAMPLES 1003e64260dSPawel Jakub DawidekThe following example shows how to set up a stripe on three disks for automatic 1013e64260dSPawel Jakub Dawidekconfiguration: 1023e64260dSPawel Jakub Dawidek.Bd -literal -offset indent 1033e64260dSPawel Jakub Dawidekgeom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2 1043e64260dSPawel Jakub Dawidekor: 1053e64260dSPawel Jakub Dawidekgstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2 1063e64260dSPawel Jakub Dawidek.Ed 1073e64260dSPawel Jakub Dawidek.Pp 1083e64260dSPawel Jakub DawidekPrint the list of all providers from the DISK class: 1093e64260dSPawel Jakub Dawidek.Bd -literal -offset indent 1103e64260dSPawel Jakub Dawidekgeom disk list 1113e64260dSPawel Jakub Dawidek.Ed 1123e64260dSPawel Jakub Dawidek.Pp 1133e64260dSPawel Jakub DawidekUnload a kernel module which implements the MD class: 1143e64260dSPawel Jakub Dawidek.Bd -literal -offset indent 1153e64260dSPawel Jakub Dawidekgeom md unload 1163e64260dSPawel Jakub Dawidek.Ed 1173e64260dSPawel Jakub Dawidek.Sh SEE ALSO 1183e64260dSPawel Jakub Dawidek.Xr geom 4 , 1193e64260dSPawel Jakub Dawidek.Xr gconcat 8 , 120b03d3309SPawel Jakub Dawidek.Xr glabel 8 , 1210fe2ba03SPawel Jakub Dawidek.Xr gmirror 8 , 1223e64260dSPawel Jakub Dawidek.Xr gnop 8 , 123925fa96bSPawel Jakub Dawidek.Xr graid3 8 , 124560cb857SPawel Jakub Dawidek.Xr gshsec 8 1253e64260dSPawel Jakub Dawidek.Xr gstripe 8 1263e64260dSPawel Jakub Dawidek.Sh HISTORY 1273e64260dSPawel Jakub DawidekThe 1283e64260dSPawel Jakub Dawidek.Nm 1293e64260dSPawel Jakub Dawidekutility appeared in 1303e64260dSPawel Jakub Dawidek.Fx 5.3 . 1313e64260dSPawel Jakub Dawidek.Sh AUTHORS 1323e64260dSPawel Jakub Dawidek.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org 133