Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" 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.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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$
|
|
|
|
.\"
|
2016-04-24 08:31:32 +00:00
|
|
|
.Dd April 24, 2016
|
2004-07-06 08:21:12 +00:00
|
|
|
.Dt G_GEOM 9
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm g_new_geomf ,
|
|
|
|
.Nm g_destroy_geom
|
|
|
|
.Nd "geom management"
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.In geom/geom.h
|
|
|
|
.Ft "struct g_geom *"
|
|
|
|
.Fn g_new_geomf "struct g_class *mp" "const char *fmt" ...
|
|
|
|
.Ft void
|
|
|
|
.Fn g_destroy_geom "struct g_geom *gp"
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The geom (do not confuse
|
|
|
|
.Dq geom
|
|
|
|
with
|
|
|
|
.Dq GEOM )
|
|
|
|
is an instance of a GEOM class.
|
2004-07-06 08:21:12 +00:00
|
|
|
For example: in a typical i386
|
|
|
|
.Fx
|
|
|
|
system, there will be one geom
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
of class MBR for each disk.
|
|
|
|
The geom's name is not really important, it is only used in the XML
|
|
|
|
dump and for debugging purposes.
|
|
|
|
There can be many geoms with the same name.
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fn g_new_geomf
|
|
|
|
function creates a new geom, which will be an instance of the class
|
|
|
|
.Fa mp .
|
2004-07-06 08:21:12 +00:00
|
|
|
The geom's name is created in a
|
|
|
|
.Xr printf 3 Ns
|
|
|
|
-like way from the rest of the arguments.
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fn g_destroy_geom
|
2004-05-18 12:12:07 +00:00
|
|
|
function destroys the given geom immediately and cancels all related pending
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
events.
|
|
|
|
.Pp
|
2004-05-18 12:12:07 +00:00
|
|
|
The
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.Vt g_geom
|
2004-05-18 12:12:07 +00:00
|
|
|
structure
|
|
|
|
contains fields that should be set by the caller after geom creation, but before
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
creating any providers or consumers related to this geom (not all are required):
|
2004-07-06 08:21:12 +00:00
|
|
|
.Bl -tag -offset indent -width indent
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.It Vt "g_start_t *" Va start
|
|
|
|
Pointer to a function used for I/O processing.
|
|
|
|
.It Vt "g_spoiled_t *" Va spoiled
|
|
|
|
Pointer to a function used for consumers spoiling.
|
|
|
|
.It Vt "g_dumpconf_t *" Va dumpconf
|
|
|
|
Pointer to a function used for configuration in XML format dumping.
|
|
|
|
.It Vt "g_access_t *" Va access
|
|
|
|
Pointer to a function used for access control.
|
|
|
|
.It Vt "g_orphan_t *" Va orphan
|
|
|
|
Pointer to a function used to inform about orphaned consumer.
|
|
|
|
.It Vt "g_ioctl_t *" Va ioctl
|
|
|
|
Pointer to a function used for handling ioctl requests.
|
|
|
|
.It Vt "void *" Va softc
|
|
|
|
Field for private use.
|
|
|
|
.El
|
|
|
|
.Sh RESTRICTIONS/CONDITIONS
|
|
|
|
If you intend to use providers in this geom you must set field
|
|
|
|
.Va start
|
|
|
|
of your geom.
|
|
|
|
.Pp
|
|
|
|
If you are planning to use consumers in your geom you must set fields
|
|
|
|
.Va orphan
|
|
|
|
and
|
|
|
|
.Va access
|
|
|
|
for it.
|
|
|
|
.Pp
|
|
|
|
.Fn g_new_geomf :
|
|
|
|
.Bl -item -offset indent
|
|
|
|
.It
|
|
|
|
Class
|
|
|
|
.Fa mp
|
|
|
|
must be valid (registered in GEOM).
|
|
|
|
.It
|
|
|
|
The topology lock has to be held.
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
.Fn g_destroy_geom :
|
|
|
|
.Bl -item -offset indent
|
|
|
|
.It
|
2010-08-16 15:18:30 +00:00
|
|
|
The geom cannot possess any providers.
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.It
|
2010-08-16 15:18:30 +00:00
|
|
|
The geom cannot possess any consumers.
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.It
|
|
|
|
The topology lock has to be held.
|
|
|
|
.El
|
|
|
|
.Sh RETURN VALUES
|
2004-07-06 08:21:12 +00:00
|
|
|
The
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.Fn g_new_geomf
|
2004-07-06 08:21:12 +00:00
|
|
|
function
|
2004-03-24 14:25:46 +00:00
|
|
|
returns a pointer to the newly created geom.
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.Sh EXAMPLES
|
|
|
|
Create an example geom.
|
|
|
|
.Bd -literal -offset indent
|
2016-04-24 08:31:32 +00:00
|
|
|
static void
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
g_example_start(struct bio *bp)
|
|
|
|
{
|
|
|
|
|
|
|
|
[...]
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
g_example_orphan(struct g_consumer *cp)
|
|
|
|
{
|
|
|
|
|
|
|
|
g_topology_assert();
|
|
|
|
|
|
|
|
[...]
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
g_example_spoiled(struct g_consumer *cp)
|
|
|
|
{
|
|
|
|
|
|
|
|
g_topology_assert();
|
|
|
|
|
|
|
|
[...]
|
|
|
|
}
|
|
|
|
|
2016-04-24 08:31:32 +00:00
|
|
|
static int
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
g_example_access(struct g_provider *pp, int dr, int dw, int de)
|
|
|
|
{
|
|
|
|
|
|
|
|
[...]
|
|
|
|
}
|
|
|
|
|
|
|
|
static struct g_geom *
|
|
|
|
create_example_geom(struct g_class *myclass)
|
|
|
|
{
|
|
|
|
struct g_geom *gp;
|
|
|
|
|
|
|
|
g_topology_lock();
|
|
|
|
gp = g_new_geomf(myclass, "example_geom");
|
|
|
|
g_topology_unlock();
|
2004-03-24 14:25:46 +00:00
|
|
|
gp->start = g_example_start;
|
|
|
|
gp->orphan = g_example_orphan;
|
|
|
|
gp->spoiled = g_example_spoiled;
|
|
|
|
gp->access = g_example_access;
|
|
|
|
gp->softc = NULL;
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
|
|
|
|
return (gp);
|
|
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
|
|
destroy_example_geom(struct g_geom *gp)
|
|
|
|
{
|
|
|
|
|
|
|
|
g_topology_lock();
|
|
|
|
if (!LIST_EMPTY(&gp->provider) ||
|
|
|
|
!LIST_EMPTY(&gp->consumer)) {
|
|
|
|
g_topology_unlock();
|
|
|
|
return (EBUSY);
|
|
|
|
}
|
|
|
|
g_destroy_geom(gp);
|
|
|
|
g_topology_unlock();
|
|
|
|
|
|
|
|
return (0);
|
|
|
|
}
|
|
|
|
.Ed
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr geom 4 ,
|
2004-07-04 20:55:50 +00:00
|
|
|
.Xr DECLARE_GEOM_CLASS 9 ,
|
2004-03-11 19:53:22 +00:00
|
|
|
.Xr g_access 9 ,
|
Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.
I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>
Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)
2004-02-11 10:06:18 +00:00
|
|
|
.Xr g_attach 9 ,
|
|
|
|
.Xr g_bio 9 ,
|
|
|
|
.Xr g_consumer 9 ,
|
|
|
|
.Xr g_data 9 ,
|
|
|
|
.Xr g_event 9 ,
|
|
|
|
.Xr g_provider 9 ,
|
|
|
|
.Xr g_provider_by_name 9 ,
|
|
|
|
.Xr g_wither_geom 9
|
|
|
|
.Sh AUTHORS
|
|
|
|
.An -nosplit
|
|
|
|
This manual page was written by
|
2014-06-26 21:44:30 +00:00
|
|
|
.An Pawel Jakub Dawidek Aq Mt pjd@FreeBSD.org .
|