\hypertarget{geom__kern_8c_source}{}\doxysection{geom\+\_\+kern.\+c}
\label{geom__kern_8c_source}\index{geom/geom\_kern.c@{geom/geom\_kern.c}}
\mbox{\hyperlink{geom__kern_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/3-\/Clause}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2002 Poul-\/Henning Kamp}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2002 Networks Associates Technology, Inc.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00006}00006 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00007}00007 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00008}00008 \textcolor{comment}{ * This software was developed for the FreeBSD Project by Poul-\/Henning Kamp}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00009}00009 \textcolor{comment}{ * and NAI Labs, the Security Research Division of Network Associates, Inc.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00010}00010 \textcolor{comment}{ * under DARPA/SPAWAR contract N66001-\/01-\/C-\/8035 ("{}CBOSS"{}), as part of the}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00011}00011 \textcolor{comment}{ * DARPA CHATS research program.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00012}00012 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00013}00013 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00014}00014 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00015}00015 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00016}00016 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00017}00017 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00018}00018 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00019}00019 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00020}00020 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00021}00021 \textcolor{comment}{ * 3. The names of the authors may not be used to endorse or promote}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00022}00022 \textcolor{comment}{ *    products derived from this software without specific prior written}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00023}00023 \textcolor{comment}{ *    permission.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00024}00024 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00025}00025 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00026}00026 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00027}00027 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00028}00028 \textcolor{comment}{ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00029}00029 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00030}00030 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00031}00031 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00032}00032 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00033}00033 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00034}00034 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00035}00035 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00036}00036 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00037}00037 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00039}\mbox{\hyperlink{geom__kern_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00039}} \mbox{\hyperlink{geom__kern_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00040}00040 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/eventhandler.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/bio.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/proc.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <sys/unistd.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00050}00050 \textcolor{preprocessor}{\#include <sys/kthread.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <sys/sbuf.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <sys/sched.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <sys/sx.h>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{geom_8h}{geom/geom.h}}>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{geom__int_8h}{geom/geom\_int.h}}>}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00058}00058 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00059}\mbox{\hyperlink{geom__kern_8c_ada2bd6b291c87bb1f67ff6d2ac7203bd}{00059}} \mbox{\hyperlink{geom__kern_8c_ada2bd6b291c87bb1f67ff6d2ac7203bd}{MALLOC\_DEFINE}}(M\_GEOM, \textcolor{stringliteral}{"{}GEOM"{}}, \textcolor{stringliteral}{"{}Geom data structures"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00061}\mbox{\hyperlink{geom_8h_aa310e3c4f476ab5f1fe23121cf431b85}{00061}} \textcolor{keyword}{struct }sx \mbox{\hyperlink{geom__kern_8c_aa310e3c4f476ab5f1fe23121cf431b85}{topology\_lock}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00062}00062 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00063}\mbox{\hyperlink{geom__kern_8c_a981f147799c759841c6521b66cca1d91}{00063}} \textcolor{keyword}{static} \textcolor{keyword}{struct }proc *\mbox{\hyperlink{geom__kern_8c_a981f147799c759841c6521b66cca1d91}{g\_proc}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00064}\mbox{\hyperlink{geom__int_8h_aa97322ef473093318561cc6a5cb4940c}{00064}} \textcolor{keyword}{struct }thread \_\_read\_mostly *\mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00065}\mbox{\hyperlink{geom__int_8h_a2c20d7ff9b76ac305df1f713192cf35b}{00065}} \textcolor{keyword}{struct }thread \_\_read\_mostly *\mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00066}\mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{00066}} \textcolor{keyword}{static} \textcolor{keyword}{struct }thread \_\_read\_mostly *\mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{g\_event\_td}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00067}00067 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00068}\mbox{\hyperlink{geom_8h_aca9e9300747035c84977158ea1fe1d38}{00068}} \textcolor{keywordtype}{int} \_\_read\_mostly \mbox{\hyperlink{geom__kern_8c_afc68c090bb1467206300f4c276ce6476}{g\_debugflags}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00069}\mbox{\hyperlink{geom__int_8h_a7d4141350049eb290d580bfa0ddb3c49}{00069}} \textcolor{keywordtype}{int} \_\_read\_mostly \mbox{\hyperlink{geom__kern_8c_a8580049354c7e887c1fe96ca63a1f901}{g\_collectstats}} = \mbox{\hyperlink{geom__int_8h_ad0fd9731f0ba500e108b226ee3f81515}{G\_STATS\_PROVIDERS}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00070}\mbox{\hyperlink{geom__int_8h_a41ab1d6e63b6cbee2c5942e0c6ecffd8}{00070}} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom__kern_8c_a41ab1d6e63b6cbee2c5942e0c6ecffd8}{g\_shutdown}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00071}\mbox{\hyperlink{geom__int_8h_a6439c0fe7203cf3f750790cf8fec5554}{00071}} \textcolor{keywordtype}{int} \mbox{\hyperlink{geom__kern_8c_a6439c0fe7203cf3f750790cf8fec5554}{g\_notaste}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00073}00073 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00074}00074 \textcolor{comment}{ * G\_UP and G\_DOWN are the two threads which push I/O through the}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00075}00075 \textcolor{comment}{ * stack.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00076}00076 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00077}00077 \textcolor{comment}{ * Things are procesed in a FIFO order, but these threads could be}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00078}00078 \textcolor{comment}{ * part of I/O prioritization by deciding which bios/bioqs to service}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00079}00079 \textcolor{comment}{ * in what order.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00080}00080 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00081}00081 \textcolor{comment}{ * We have only one thread in each direction, it is believed that until}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00082}00082 \textcolor{comment}{ * a very non-\/trivial workload in the UP/DOWN path this will be enough,}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00083}00083 \textcolor{comment}{ * but more than one can actually be run without problems.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00084}00084 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00085}00085 \textcolor{comment}{ * Holding the "{}mymutex"{} is a debugging feature:  It prevents people}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00086}00086 \textcolor{comment}{ * from sleeping in the UP/DOWN I/O path by mistake or design (doing}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00087}00087 \textcolor{comment}{ * so almost invariably result in deadlocks since it stalls all I/O}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00088}00088 \textcolor{comment}{ * processing in the given direction.}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00089}00089 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00090}00090 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00091}00091 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00092}\mbox{\hyperlink{geom__kern_8c_ade17d51e1d03b2d6afc212d3fbac8f1c}{00092}} \mbox{\hyperlink{geom__kern_8c_ade17d51e1d03b2d6afc212d3fbac8f1c}{g\_up\_procbody}}(\textcolor{keywordtype}{void} *arg)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00093}00093 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00094}00094 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00095}00095         thread\_lock(\mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00096}00096         sched\_prio(\mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}}, PRIBIO);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00097}00097         thread\_unlock(\mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00098}00098         \textcolor{keywordflow}{for}(;;) \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00099}00099                 \mbox{\hyperlink{geom__int_8h_a1f9541ffdb61a304fbc5f18b550fabfc}{g\_io\_schedule\_up}}(\mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00100}00100         \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00101}00101 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00102}00102 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00103}00103 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00104}\mbox{\hyperlink{geom__kern_8c_aa86e1acd5cc7e8aa3d1dc4a5ac95f256}{00104}} \mbox{\hyperlink{geom__kern_8c_aa86e1acd5cc7e8aa3d1dc4a5ac95f256}{g\_down\_procbody}}(\textcolor{keywordtype}{void} *arg)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00105}00105 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00106}00106 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00107}00107         thread\_lock(\mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00108}00108         sched\_prio(\mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}}, PRIBIO);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00109}00109         thread\_unlock(\mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00110}00110         \textcolor{keywordflow}{for}(;;) \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00111}00111                 \mbox{\hyperlink{geom__int_8h_a399bb9df73c79a5ef892154aeae6e8b3}{g\_io\_schedule\_down}}(\mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00112}00112         \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00113}00113 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00114}00114 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00115}00115 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00116}\mbox{\hyperlink{geom__kern_8c_a0c08cf510462ee81c688d68c947f550e}{00116}} \mbox{\hyperlink{geom__kern_8c_a0c08cf510462ee81c688d68c947f550e}{g\_event\_procbody}}(\textcolor{keywordtype}{void} *arg)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00117}00117 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00118}00118 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00119}00119         thread\_lock(\mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{g\_event\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00120}00120         sched\_prio(\mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{g\_event\_td}}, PRIBIO);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00121}00121         thread\_unlock(\mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{g\_event\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00122}00122         \mbox{\hyperlink{geom__event_8c_aa58cb566b8b7b35b786ddfb3aff1a787}{g\_run\_events}}();}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00123}00123         \textcolor{comment}{/* NOTREACHED */}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00124}00124 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00125}00125 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00126}00126 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00127}\mbox{\hyperlink{geom_8h_a803acff54129a563b9a6ea3effe7c47c}{00127}} \mbox{\hyperlink{geom__kern_8c_a803acff54129a563b9a6ea3effe7c47c}{g\_is\_geom\_thread}}(\textcolor{keyword}{struct} thread *\mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}})}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00128}00128 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00129}00129 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00130}00130         \textcolor{keywordflow}{return} (\mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}} == \mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}} || \mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}} == \mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}} || \mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}} == \mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{g\_event\_td}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00131}00131 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00132}00132 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00133}00133 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00134}\mbox{\hyperlink{geom__kern_8c_a779cb0038f1fcdd708df3b94ae0671a5}{00134}} \mbox{\hyperlink{geom__kern_8c_a779cb0038f1fcdd708df3b94ae0671a5}{geom\_shutdown}}(\textcolor{keywordtype}{void} *foo \_\_unused)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00135}00135 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00136}00136 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00137}00137         \mbox{\hyperlink{geom__kern_8c_a41ab1d6e63b6cbee2c5942e0c6ecffd8}{g\_shutdown}} = 1;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00138}00138 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00139}00139 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00140}00140 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00141}\mbox{\hyperlink{geom__int_8h_ae9e8cf5e50ce021ca593f8dbaf474068}{00141}} \mbox{\hyperlink{geom__kern_8c_ae9e8cf5e50ce021ca593f8dbaf474068}{g\_init}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00142}00142 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00143}00143 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00144}00144         \mbox{\hyperlink{geom_8h_a7588d7ea7fbf7180b345df84b8797166}{g\_trace}}(\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}g\_ignition"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00145}00145         sx\_init(\&\mbox{\hyperlink{geom__kern_8c_aa310e3c4f476ab5f1fe23121cf431b85}{topology\_lock}}, \textcolor{stringliteral}{"{}GEOM topology"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00146}00146         \mbox{\hyperlink{geom__int_8h_af64c28e42f9d778c2ef03323ab214907}{g\_io\_init}}();}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00147}00147         \mbox{\hyperlink{geom__event_8c_ad735eb60429b91b783b2b6acec929a25}{g\_event\_init}}();}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00148}00148         \mbox{\hyperlink{geom__ctl_8c_a4b33486181f7ae695d2b9f361b70f839}{g\_ctl\_init}}();}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00149}00149         kproc\_kthread\_add(\mbox{\hyperlink{geom__kern_8c_a0c08cf510462ee81c688d68c947f550e}{g\_event\_procbody}}, NULL, \&\mbox{\hyperlink{geom__kern_8c_a981f147799c759841c6521b66cca1d91}{g\_proc}}, \&\mbox{\hyperlink{geom__kern_8c_a2534ee71faaff73bc5c650fda9033101}{g\_event\_td}},}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00150}00150             RFHIGHPID, 0, \textcolor{stringliteral}{"{}geom"{}}, \textcolor{stringliteral}{"{}g\_event"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00151}00151         kproc\_kthread\_add(\mbox{\hyperlink{geom__kern_8c_ade17d51e1d03b2d6afc212d3fbac8f1c}{g\_up\_procbody}}, NULL, \&\mbox{\hyperlink{geom__kern_8c_a981f147799c759841c6521b66cca1d91}{g\_proc}}, \&\mbox{\hyperlink{geom__kern_8c_a891dc12f89445b0fbc4954967f2f2e97}{g\_up\_td}},}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00152}00152             RFHIGHPID, 0, \textcolor{stringliteral}{"{}geom"{}}, \textcolor{stringliteral}{"{}g\_up"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00153}00153         kproc\_kthread\_add(\mbox{\hyperlink{geom__kern_8c_aa86e1acd5cc7e8aa3d1dc4a5ac95f256}{g\_down\_procbody}}, NULL, \&\mbox{\hyperlink{geom__kern_8c_a981f147799c759841c6521b66cca1d91}{g\_proc}}, \&\mbox{\hyperlink{geom__kern_8c_a9dd97aa10b1f4970a72e9443ca709bcb}{g\_down\_td}},}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00154}00154             RFHIGHPID, 0, \textcolor{stringliteral}{"{}geom"{}}, \textcolor{stringliteral}{"{}g\_down"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00155}00155         EVENTHANDLER\_REGISTER(shutdown\_pre\_sync, \mbox{\hyperlink{geom__kern_8c_a779cb0038f1fcdd708df3b94ae0671a5}{geom\_shutdown}}, NULL,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00156}00156                 SHUTDOWN\_PRI\_FIRST);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00157}00157 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00158}00158 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00159}00159 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00160}\mbox{\hyperlink{geom__kern_8c_a4d20d8410e52eb4a9936494d546c924d}{00160}} \mbox{\hyperlink{geom__kern_8c_a4d20d8410e52eb4a9936494d546c924d}{sysctl\_kern\_geom\_confany}}(\textcolor{keyword}{struct} sysctl\_req *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{geom_8h_a488919575b661093744e30ee67278218}{g\_event\_t}} *func, \textcolor{keywordtype}{size\_t} *hint)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00161}00161 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00162}00162         \textcolor{keywordtype}{size\_t} len = 0;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00163}00163         \textcolor{keywordtype}{int} error = 0;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00164}00164         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00165}00165 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00166}00166         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}-\/>oldptr == NULL) \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00167}00167                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new(NULL, NULL, PAGE\_SIZE, SBUF\_FIXEDLEN |}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00168}00168                     SBUF\_INCLUDENUL);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00169}00169                 sbuf\_set\_drain(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, sbuf\_count\_drain, \&len);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00170}00170                 \mbox{\hyperlink{geom_8h_a098098146ac4f2ca5efa831ee5f248ae}{g\_waitfor\_event}}(func, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, M\_WAITOK, NULL);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00171}00171                 \mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}-\/>oldidx = *hint = len;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00172}00172         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00173}00173                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new(NULL, NULL, *hint, SBUF\_AUTOEXTEND |}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00174}00174                     SBUF\_INCLUDENUL);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00175}00175                 \mbox{\hyperlink{geom_8h_a098098146ac4f2ca5efa831ee5f248ae}{g\_waitfor\_event}}(func, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, M\_WAITOK, NULL);}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00176}00176                 *hint = sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00177}00177                 error = SYSCTL\_OUT(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}));}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00178}00178         \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00179}00179         sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00180}00180         \textcolor{keywordflow}{return} error;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00181}00181 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00182}00182 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00183}00183 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00184}\mbox{\hyperlink{geom__kern_8c_a0cc9b4df95e4a12a2d4bc1a649db84e5}{00184}} \mbox{\hyperlink{geom__kern_8c_a0cc9b4df95e4a12a2d4bc1a649db84e5}{sysctl\_kern\_geom\_conftxt}}(SYSCTL\_HANDLER\_ARGS)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00185}00185 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00186}00186         \textcolor{keyword}{static} \textcolor{keywordtype}{size\_t} hint = PAGE\_SIZE;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00187}00187 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00188}00188         \textcolor{keywordflow}{return} (\mbox{\hyperlink{geom__kern_8c_a4d20d8410e52eb4a9936494d546c924d}{sysctl\_kern\_geom\_confany}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{geom__dump_8c_a565fbd1def2b1bce1ef028f4838a114c}{g\_conftxt}}, \&hint));}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00189}00189 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00190}00190 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00191}00191 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00192}\mbox{\hyperlink{geom__kern_8c_a1995c1902d832a2e9a85c9077e95f08a}{00192}} \mbox{\hyperlink{geom__kern_8c_a1995c1902d832a2e9a85c9077e95f08a}{sysctl\_kern\_geom\_confdot}}(SYSCTL\_HANDLER\_ARGS)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00193}00193 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00194}00194         \textcolor{keyword}{static} \textcolor{keywordtype}{size\_t} hint = PAGE\_SIZE;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00195}00195 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00196}00196         \textcolor{keywordflow}{return} (\mbox{\hyperlink{geom__kern_8c_a4d20d8410e52eb4a9936494d546c924d}{sysctl\_kern\_geom\_confany}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{geom__dump_8c_a25806cfebb947f1061018c5d6386ddb5}{g\_confdot}}, \&hint));}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00197}00197 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00198}00198 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00199}00199 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00200}\mbox{\hyperlink{geom__kern_8c_a232120027b8646c16fbd848b0a3b7d77}{00200}} \mbox{\hyperlink{geom__kern_8c_a232120027b8646c16fbd848b0a3b7d77}{sysctl\_kern\_geom\_confxml}}(SYSCTL\_HANDLER\_ARGS)}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00201}00201 \{}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00202}00202         \textcolor{keyword}{static} \textcolor{keywordtype}{size\_t} hint = PAGE\_SIZE;}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00203}00203 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00204}00204         \textcolor{keywordflow}{return} (\mbox{\hyperlink{geom__kern_8c_a4d20d8410e52eb4a9936494d546c924d}{sysctl\_kern\_geom\_confany}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{geom__dump_8c_a7db3d7b2dde2417646a0c74afbdc6948}{g\_confxml}}, \&hint));}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00205}00205 \}}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00206}00206 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00207}\mbox{\hyperlink{geom__kern_8c_ac68c01b9328e9c702020a1a93299f6c5}{00207}} \mbox{\hyperlink{geom__kern_8c_ac68c01b9328e9c702020a1a93299f6c5}{SYSCTL\_NODE}}(\_kern, OID\_AUTO, geom, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00208}00208     \textcolor{stringliteral}{"{}GEOMetry management"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00209}00209 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00210}\mbox{\hyperlink{geom__kern_8c_a3b839be1487bf8439a83a9443e96f742}{00210}} \mbox{\hyperlink{geom__kern_8c_a3b839be1487bf8439a83a9443e96f742}{SYSCTL\_PROC}}(\_kern\_geom, OID\_AUTO, confxml,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00211}00211     CTLTYPE\_STRING | CTLFLAG\_RD | CTLFLAG\_MPSAFE, 0, 0,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00212}00212     \mbox{\hyperlink{geom__kern_8c_a232120027b8646c16fbd848b0a3b7d77}{sysctl\_kern\_geom\_confxml}}, \textcolor{stringliteral}{"{}"{}},}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00213}00213     \textcolor{stringliteral}{"{}Dump the GEOM config in XML"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00214}00214 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00215}\mbox{\hyperlink{geom__kern_8c_af7b03b274fd36f9921d18af3f8b3c114}{00215}} \mbox{\hyperlink{geom__kern_8c_a3b839be1487bf8439a83a9443e96f742}{SYSCTL\_PROC}}(\_kern\_geom, OID\_AUTO, confdot,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00216}00216     CTLTYPE\_STRING | CTLFLAG\_RD | CTLFLAG\_MPSAFE, 0, 0,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00217}00217     \mbox{\hyperlink{geom__kern_8c_a1995c1902d832a2e9a85c9077e95f08a}{sysctl\_kern\_geom\_confdot}}, \textcolor{stringliteral}{"{}"{}},}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00218}00218     \textcolor{stringliteral}{"{}Dump the GEOM config in dot"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00219}00219 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00220}\mbox{\hyperlink{geom__kern_8c_a267c5d99e83daa963f567245a58b0cee}{00220}} \mbox{\hyperlink{geom__kern_8c_a3b839be1487bf8439a83a9443e96f742}{SYSCTL\_PROC}}(\_kern\_geom, OID\_AUTO, conftxt,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00221}00221     CTLTYPE\_STRING | CTLFLAG\_RD | CTLFLAG\_MPSAFE, 0, 0,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00222}00222     \mbox{\hyperlink{geom__kern_8c_a0cc9b4df95e4a12a2d4bc1a649db84e5}{sysctl\_kern\_geom\_conftxt}}, \textcolor{stringliteral}{"{}"{}},}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00223}00223     \textcolor{stringliteral}{"{}Dump the GEOM config in txt"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00224}00224 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00225}\mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{00225}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_kern\_geom, OID\_AUTO, debugflags, CTLFLAG\_RWTUN,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00226}00226         \&\mbox{\hyperlink{geom__kern_8c_afc68c090bb1467206300f4c276ce6476}{g\_debugflags}}, 0, \textcolor{stringliteral}{"{}Set various trace levels for GEOM debugging"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00227}00227 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00228}\mbox{\hyperlink{geom__kern_8c_aebf3f9f4ac899ea412103baffc8f603e}{00228}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_kern\_geom, OID\_AUTO, notaste, CTLFLAG\_RW,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00229}00229         \&\mbox{\hyperlink{geom__kern_8c_a6439c0fe7203cf3f750790cf8fec5554}{g\_notaste}}, 0, \textcolor{stringliteral}{"{}Prevent GEOM tasting"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00230}00230 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00231}\mbox{\hyperlink{geom__kern_8c_aa3ddaf68b6631e571e3ad2afb8a0011a}{00231}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_kern\_geom, OID\_AUTO, collectstats, CTLFLAG\_RW,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00232}00232         \&\mbox{\hyperlink{geom__kern_8c_a8580049354c7e887c1fe96ca63a1f901}{g\_collectstats}}, 0,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00233}00233         \textcolor{stringliteral}{"{}Control statistics collection on GEOM providers and consumers"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00234}00234 }
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00235}\mbox{\hyperlink{geom__kern_8c_add691c0073eff251228a1b16f0b66bfc}{00235}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_debug\_sizeof, OID\_AUTO, \mbox{\hyperlink{structg__class}{g\_class}}, CTLFLAG\_RD,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00236}00236         SYSCTL\_NULL\_INT\_PTR, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}}), \textcolor{stringliteral}{"{}sizeof(struct g\_class)"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00237}\mbox{\hyperlink{geom__kern_8c_af85a06ab1fbd503c0ab5fc66c869f29c}{00237}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_debug\_sizeof, OID\_AUTO, \mbox{\hyperlink{structg__geom}{g\_geom}}, CTLFLAG\_RD,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00238}00238         SYSCTL\_NULL\_INT\_PTR, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}}), \textcolor{stringliteral}{"{}sizeof(struct g\_geom)"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00239}\mbox{\hyperlink{geom__kern_8c_ae709baa9e79e3f034ee91ad03f6c8ddf}{00239}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_debug\_sizeof, OID\_AUTO, \mbox{\hyperlink{structg__provider}{g\_provider}}, CTLFLAG\_RD,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00240}00240         SYSCTL\_NULL\_INT\_PTR, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}}), \textcolor{stringliteral}{"{}sizeof(struct g\_provider)"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00241}\mbox{\hyperlink{geom__kern_8c_a5e18833e0311c02bbb7f30207c29d326}{00241}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_debug\_sizeof, OID\_AUTO, \mbox{\hyperlink{structg__consumer}{g\_consumer}}, CTLFLAG\_RD,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00242}00242         SYSCTL\_NULL\_INT\_PTR, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}}), \textcolor{stringliteral}{"{}sizeof(struct g\_consumer)"{}});}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00243}\mbox{\hyperlink{geom__kern_8c_a8b78fb1c595badab3b5b958fd5290989}{00243}} \mbox{\hyperlink{geom__kern_8c_a5119d696e4718b5a661ca107cd3e8a27}{SYSCTL\_INT}}(\_debug\_sizeof, OID\_AUTO, \mbox{\hyperlink{structg__bioq}{g\_bioq}}, CTLFLAG\_RD,}
\DoxyCodeLine{\Hypertarget{geom__kern_8c_source_l00244}00244         SYSCTL\_NULL\_INT\_PTR, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__bioq}{g\_bioq}}), \textcolor{stringliteral}{"{}sizeof(struct g\_bioq)"{}});}

\end{DoxyCode}
