\hypertarget{g__bde_8c}{}\doxysection{geom/bde/g\+\_\+bde.c File Reference}
\label{g__bde_8c}\index{geom/bde/g\_bde.c@{geom/bde/g\_bde.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/bio.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/kthread.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$crypto/rijndael/rijndael-\/api-\/fst.\+h$>$}\newline
{\ttfamily \#include $<$crypto/sha2/sha512.\+h$>$}\newline
{\ttfamily \#include $<$geom/geom.\+h$>$}\newline
{\ttfamily \#include $<$geom/bde/g\+\_\+bde.\+h$>$}\newline
Include dependency graph for g\+\_\+bde.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d16/g__bde_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{g__bde_8c_ad9869f408e167e55675f8e270f3aa044}{BDE\+\_\+\+CLASS\+\_\+\+NAME}}~\char`\"{}BDE\char`\"{}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{g__bde_8c_a9d246d13a17f3d54c6aa010974f170d9}{FEATURE}} (geom\+\_\+bde, \char`\"{}GEOM-\/based Disk Encryption\char`\"{})
\item 
static void \mbox{\hyperlink{g__bde_8c_a5f105fb1a61d8f90a3e63130fcbb8fb8}{g\+\_\+bde\+\_\+start}} (struct bio $\ast$\mbox{\hyperlink{g__raid__tr__if_8m_a09ac99485c68908acb7b8767e2b93e80}{bp}})
\item 
static void \mbox{\hyperlink{g__bde_8c_a446788b7589f4db0ea76a54f08f19d9b}{g\+\_\+bde\+\_\+orphan}} (struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a3d8e3ec9f529e77fa46f92363b115a01}{cp}})
\item 
static int \mbox{\hyperlink{g__bde_8c_ab9ac96167be1b5900169f73ce3ebedf2}{g\+\_\+bde\+\_\+access}} (struct \mbox{\hyperlink{structg__provider}{g\+\_\+provider}} $\ast$\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, int dr, int dw, int de)
\item 
static void \mbox{\hyperlink{g__bde_8c_ac3f8524d96e7d09fe653f70fc48c2af1}{g\+\_\+bde\+\_\+create\+\_\+geom}} (struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_ac3f02080343d005bc245831006856ea4}{req}}, struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, struct \mbox{\hyperlink{structg__provider}{g\+\_\+provider}} $\ast$\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}})
\item 
static int \mbox{\hyperlink{g__bde_8c_afaf8d7c64a12b72028fc3cfe0ebf4b6f}{g\+\_\+bde\+\_\+destroy\+\_\+geom}} (struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_ac3f02080343d005bc245831006856ea4}{req}}, struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a2e19b314cc992e25ba4ea6cddd4b36aa}{gp}})
\item 
static void \mbox{\hyperlink{g__bde_8c_a0f372f258d26f7ee3f0c78b18301ad97}{g\+\_\+bde\+\_\+ctlreq}} (struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_ac3f02080343d005bc245831006856ea4}{req}}, struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, char const $\ast$verb)
\item 
\mbox{\hyperlink{g__bde_8c_a41aa9995432676719f8718160b69431a}{DECLARE\+\_\+\+GEOM\+\_\+\+CLASS}} (\mbox{\hyperlink{g__bde_8c_ad9fea2c8b7e4255f36a35d651e793c6f}{g\+\_\+bde\+\_\+class}}, g\+\_\+bde)
\item 
\mbox{\hyperlink{g__bde_8c_adda94aef565bdb82c766131e042f94fb}{MODULE\+\_\+\+VERSION}} (geom\+\_\+bde, 0)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} \mbox{\hyperlink{g__bde_8c_ad9fea2c8b7e4255f36a35d651e793c6f}{g\+\_\+bde\+\_\+class}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{g__bde_8c_ad9869f408e167e55675f8e270f3aa044}\label{g__bde_8c_ad9869f408e167e55675f8e270f3aa044}} 
\index{g\_bde.c@{g\_bde.c}!BDE\_CLASS\_NAME@{BDE\_CLASS\_NAME}}
\index{BDE\_CLASS\_NAME@{BDE\_CLASS\_NAME}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{BDE\_CLASS\_NAME}{BDE\_CLASS\_NAME}}
{\footnotesize\ttfamily \#define BDE\+\_\+\+CLASS\+\_\+\+NAME~\char`\"{}BDE\char`\"{}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00052}{52}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{g__bde_8c_a41aa9995432676719f8718160b69431a}\label{g__bde_8c_a41aa9995432676719f8718160b69431a}} 
\index{g\_bde.c@{g\_bde.c}!DECLARE\_GEOM\_CLASS@{DECLARE\_GEOM\_CLASS}}
\index{DECLARE\_GEOM\_CLASS@{DECLARE\_GEOM\_CLASS}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{DECLARE\_GEOM\_CLASS()}{DECLARE\_GEOM\_CLASS()}}
{\footnotesize\ttfamily DECLARE\+\_\+\+GEOM\+\_\+\+CLASS (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{g__bde_8c_ad9fea2c8b7e4255f36a35d651e793c6f}{g\+\_\+bde\+\_\+class}}}]{,  }\item[{g\+\_\+bde}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__bde_8c_a9d246d13a17f3d54c6aa010974f170d9}\label{g__bde_8c_a9d246d13a17f3d54c6aa010974f170d9}} 
\index{g\_bde.c@{g\_bde.c}!FEATURE@{FEATURE}}
\index{FEATURE@{FEATURE}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{FEATURE()}{FEATURE()}}
{\footnotesize\ttfamily FEATURE (\begin{DoxyParamCaption}\item[{geom\+\_\+bde}]{,  }\item[{\char`\"{}GEOM-\/based Disk Encryption\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__bde_8c_ab9ac96167be1b5900169f73ce3ebedf2}\label{g__bde_8c_ab9ac96167be1b5900169f73ce3ebedf2}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_access@{g\_bde\_access}}
\index{g\_bde\_access@{g\_bde\_access}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_access()}{g\_bde\_access()}}
{\footnotesize\ttfamily static int g\+\_\+bde\+\_\+access (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__provider}{g\+\_\+provider}} $\ast$}]{pp,  }\item[{int}]{dr,  }\item[{int}]{dw,  }\item[{int}]{de }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00096}{96}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



References \mbox{\hyperlink{geom_8h_source_l00180}{g\+\_\+consumer\+::ace}}, \mbox{\hyperlink{geom_8h_source_l00180}{g\+\_\+consumer\+::acr}}, \mbox{\hyperlink{geom_8h_source_l00180}{g\+\_\+consumer\+::acw}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{geom__subr_8c_source_l00944}{g\+\_\+access()}}, \mbox{\hyperlink{geom_8h_source_l00209}{g\+\_\+provider\+::geom}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, and \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/df5/g__bde_8c_ab9ac96167be1b5900169f73ce3ebedf2_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8c_ac3f8524d96e7d09fe653f70fc48c2af1}\label{g__bde_8c_ac3f8524d96e7d09fe653f70fc48c2af1}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_create\_geom@{g\_bde\_create\_geom}}
\index{g\_bde\_create\_geom@{g\_bde\_create\_geom}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_create\_geom()}{g\_bde\_create\_geom()}}
{\footnotesize\ttfamily static void g\+\_\+bde\+\_\+create\+\_\+geom (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$}]{req,  }\item[{struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$}]{mp,  }\item[{struct \mbox{\hyperlink{structg__provider}{g\+\_\+provider}} $\ast$}]{pp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00116}{116}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00137}{g\+\_\+bde\+\_\+softc\+::consumer}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{geom__subr_8c_source_l00944}{g\+\_\+access()}}, \mbox{\hyperlink{geom__subr_8c_source_l00889}{g\+\_\+attach()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00446}{g\+\_\+bde\+\_\+decrypt\+\_\+lock()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00235}{g\+\_\+bde\+\_\+max\+\_\+sector()}}, \mbox{\hyperlink{g__bde_8h_source_l00053}{G\+\_\+\+BDE\+\_\+\+MAXKEYS}}, \mbox{\hyperlink{g__bde_8h_source_l00050}{G\+\_\+\+BDE\+\_\+\+SKEYLEN}}, \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}, \mbox{\hyperlink{geom__subr_8c_source_l00543}{g\+\_\+destroy\+\_\+consumer()}}, \mbox{\hyperlink{geom__subr_8c_source_l00411}{g\+\_\+destroy\+\_\+geom()}}, \mbox{\hyperlink{geom__subr_8c_source_l00913}{g\+\_\+detach()}}, \mbox{\hyperlink{geom__subr_8c_source_l00670}{g\+\_\+error\+\_\+provider()}}, \mbox{\hyperlink{geom_8h_source_l00376}{g\+\_\+free()}}, \mbox{\hyperlink{geom_8h_source_l00367}{g\+\_\+malloc()}}, \mbox{\hyperlink{geom__subr_8c_source_l00521}{g\+\_\+new\+\_\+consumer()}}, \mbox{\hyperlink{geom_8h_a4000befe2ff4b405b8333ccc5b0fdb41}{g\+\_\+new\+\_\+geomf()}}, \mbox{\hyperlink{geom_8h_a79a5fe6e79cbc1a257454a3554fa11ef}{g\+\_\+new\+\_\+providerf()}}, \mbox{\hyperlink{geom_8h_source_l00248}{G\+\_\+\+T\+\_\+\+TOPOLOGY}}, \mbox{\hyperlink{geom_8h_source_l00403}{g\+\_\+topology\+\_\+assert}}, \mbox{\hyperlink{geom_8h_source_l00255}{g\+\_\+trace}}, \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\+\_\+error()}}, \mbox{\hyperlink{geom__ctl_8c_source_l00388}{gctl\+\_\+get\+\_\+param()}}, \mbox{\hyperlink{g__bde_8h_source_l00136}{g\+\_\+bde\+\_\+softc\+::geom}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{g__bde_8h_source_l00142}{g\+\_\+bde\+\_\+softc\+::key}}, \mbox{\hyperlink{g__bde_8h_source_l00129}{g\+\_\+bde\+\_\+key\+::keys\+\_\+per\+\_\+sector}}, \mbox{\hyperlink{g__bde_8h_source_l00128}{g\+\_\+bde\+\_\+key\+::media\+\_\+width}}, \mbox{\hyperlink{g__bde_8h_source_l00133}{g\+\_\+bde\+\_\+softc\+::mediasize}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00103}{mp}}, \mbox{\hyperlink{geom_8h_source_l00095}{g\+\_\+class\+::name}}, \mbox{\hyperlink{geom_8h_source_l00132}{g\+\_\+geom\+::name}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, \mbox{\hyperlink{g__part__if_8m_source_l00225}{req}}, \mbox{\hyperlink{g__bde_8h_source_l00106}{g\+\_\+bde\+\_\+key\+::sector0}}, \mbox{\hyperlink{g__bde_8h_source_l00108}{g\+\_\+bde\+\_\+key\+::sectorN}}, \mbox{\hyperlink{g__bde_8h_source_l00114}{g\+\_\+bde\+\_\+key\+::sectorsize}}, \mbox{\hyperlink{g__bde_8h_source_l00134}{g\+\_\+bde\+\_\+softc\+::sectorsize}}, \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}, \mbox{\hyperlink{g__bde_8h_source_l00147}{g\+\_\+bde\+\_\+softc\+::sha2}}, \mbox{\hyperlink{geom_8h_source_l00150}{g\+\_\+geom\+::softc}}, \mbox{\hyperlink{geom_8h_source_l00217}{g\+\_\+provider\+::stripeoffset}}, \mbox{\hyperlink{geom_8h_source_l00216}{g\+\_\+provider\+::stripesize}}, \mbox{\hyperlink{g__bde_8h_source_l00141}{g\+\_\+bde\+\_\+softc\+::thread}}, \mbox{\hyperlink{g__bde_8h_source_l00140}{g\+\_\+bde\+\_\+softc\+::worklist\+\_\+mutex}}, \mbox{\hyperlink{g__bde_8h_source_l00127}{g\+\_\+bde\+\_\+key\+::zone\+\_\+cont}}, \mbox{\hyperlink{g__bde_8h_source_l00135}{g\+\_\+bde\+\_\+softc\+::zone\+\_\+cont}}, and \mbox{\hyperlink{g__bde_8h_source_l00126}{g\+\_\+bde\+\_\+key\+::zone\+\_\+width}}.



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00269}{g\+\_\+bde\+\_\+ctlreq()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/df5/g__bde_8c_ac3f8524d96e7d09fe653f70fc48c2af1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=310pt]{d4/df5/g__bde_8c_ac3f8524d96e7d09fe653f70fc48c2af1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8c_a0f372f258d26f7ee3f0c78b18301ad97}\label{g__bde_8c_a0f372f258d26f7ee3f0c78b18301ad97}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_ctlreq@{g\_bde\_ctlreq}}
\index{g\_bde\_ctlreq@{g\_bde\_ctlreq}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_ctlreq()}{g\_bde\_ctlreq()}}
{\footnotesize\ttfamily static void g\+\_\+bde\+\_\+ctlreq (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$}]{req,  }\item[{struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$}]{mp,  }\item[{char const $\ast$}]{verb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00269}{269}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



References \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}, \mbox{\hyperlink{g__bde_8c_source_l00235}{g\+\_\+bde\+\_\+destroy\+\_\+geom()}}, \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\+\_\+error()}}, \mbox{\hyperlink{geom__ctl_8c_source_l00459}{gctl\+\_\+get\+\_\+geom()}}, \mbox{\hyperlink{geom__ctl_8c_source_l00478}{gctl\+\_\+get\+\_\+provider()}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00103}{mp}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, and \mbox{\hyperlink{g__part__if_8m_source_l00225}{req}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/df5/g__bde_8c_a0f372f258d26f7ee3f0c78b18301ad97_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8c_afaf8d7c64a12b72028fc3cfe0ebf4b6f}\label{g__bde_8c_afaf8d7c64a12b72028fc3cfe0ebf4b6f}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_destroy\_geom@{g\_bde\_destroy\_geom}}
\index{g\_bde\_destroy\_geom@{g\_bde\_destroy\_geom}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_destroy\_geom()}{g\_bde\_destroy\_geom()}}
{\footnotesize\ttfamily static int g\+\_\+bde\+\_\+destroy\+\_\+geom (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$}]{req,  }\item[{struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$}]{mp,  }\item[{struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}} $\ast$}]{gp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00235}{235}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



References \mbox{\hyperlink{geom_8h_source_l00211}{g\+\_\+provider\+::ace}}, \mbox{\hyperlink{geom_8h_source_l00211}{g\+\_\+provider\+::acr}}, \mbox{\hyperlink{geom_8h_source_l00211}{g\+\_\+provider\+::acw}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{g__bde_8h_source_l00143}{g\+\_\+bde\+\_\+softc\+::dead}}, \mbox{\hyperlink{geom__subr_8c_source_l00944}{g\+\_\+access()}}, \mbox{\hyperlink{geom__subr_8c_source_l00543}{g\+\_\+destroy\+\_\+consumer()}}, \mbox{\hyperlink{geom__subr_8c_source_l00913}{g\+\_\+detach()}}, \mbox{\hyperlink{geom_8h_source_l00376}{g\+\_\+free()}}, \mbox{\hyperlink{geom_8h_source_l00248}{G\+\_\+\+T\+\_\+\+TOPOLOGY}}, \mbox{\hyperlink{geom_8h_source_l00403}{g\+\_\+topology\+\_\+assert}}, \mbox{\hyperlink{geom_8h_source_l00255}{g\+\_\+trace}}, \mbox{\hyperlink{geom__subr_8c_source_l00434}{g\+\_\+wither\+\_\+geom()}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{g__bde_8h_source_l00142}{g\+\_\+bde\+\_\+softc\+::key}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00103}{mp}}, \mbox{\hyperlink{geom_8h_source_l00095}{g\+\_\+class\+::name}}, \mbox{\hyperlink{geom_8h_source_l00132}{g\+\_\+geom\+::name}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{geom_8h_source_l00150}{g\+\_\+geom\+::softc}}, and \mbox{\hyperlink{g__bde_8h_source_l00140}{g\+\_\+bde\+\_\+softc\+::worklist\+\_\+mutex}}.



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00269}{g\+\_\+bde\+\_\+ctlreq()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/df5/g__bde_8c_afaf8d7c64a12b72028fc3cfe0ebf4b6f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=316pt]{d4/df5/g__bde_8c_afaf8d7c64a12b72028fc3cfe0ebf4b6f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8c_a446788b7589f4db0ea76a54f08f19d9b}\label{g__bde_8c_a446788b7589f4db0ea76a54f08f19d9b}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_orphan@{g\_bde\_orphan}}
\index{g\_bde\_orphan@{g\_bde\_orphan}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_orphan()}{g\_bde\_orphan()}}
{\footnotesize\ttfamily static void g\+\_\+bde\+\_\+orphan (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$}]{cp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00077}{77}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{geom_8h_source_l00151}{g\+\_\+geom\+::flags}}, \mbox{\hyperlink{geom_8h_source_l00152}{G\+\_\+\+GEOM\+\_\+\+WITHER}}, \mbox{\hyperlink{geom_8h_source_l00248}{G\+\_\+\+T\+\_\+\+TOPOLOGY}}, \mbox{\hyperlink{geom_8h_source_l00403}{g\+\_\+topology\+\_\+assert}}, \mbox{\hyperlink{geom_8h_source_l00255}{g\+\_\+trace}}, \mbox{\hyperlink{geom__subr_8c_source_l00454}{g\+\_\+wither\+\_\+provider()}}, \mbox{\hyperlink{geom_8h_source_l00176}{g\+\_\+consumer\+::geom}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, and \mbox{\hyperlink{geom_8h_source_l00150}{g\+\_\+geom\+::softc}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/df5/g__bde_8c_a446788b7589f4db0ea76a54f08f19d9b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8c_a5f105fb1a61d8f90a3e63130fcbb8fb8}\label{g__bde_8c_a5f105fb1a61d8f90a3e63130fcbb8fb8}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_start@{g\_bde\_start}}
\index{g\_bde\_start@{g\_bde\_start}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_start()}{g\_bde\_start()}}
{\footnotesize\ttfamily static void g\+\_\+bde\+\_\+start (\begin{DoxyParamCaption}\item[{struct bio $\ast$}]{bp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8c_source_l00057}{57}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00274}{bp}}, \mbox{\hyperlink{g__bde__work_8c_source_l00752}{g\+\_\+bde\+\_\+start1()}}, and \mbox{\hyperlink{geom__io_8c_source_l00600}{g\+\_\+io\+\_\+deliver()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/df5/g__bde_8c_a5f105fb1a61d8f90a3e63130fcbb8fb8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8c_adda94aef565bdb82c766131e042f94fb}\label{g__bde_8c_adda94aef565bdb82c766131e042f94fb}} 
\index{g\_bde.c@{g\_bde.c}!MODULE\_VERSION@{MODULE\_VERSION}}
\index{MODULE\_VERSION@{MODULE\_VERSION}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_VERSION()}{MODULE\_VERSION()}}
{\footnotesize\ttfamily MODULE\+\_\+\+VERSION (\begin{DoxyParamCaption}\item[{geom\+\_\+bde}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{g__bde_8c_ad9fea2c8b7e4255f36a35d651e793c6f}\label{g__bde_8c_ad9fea2c8b7e4255f36a35d651e793c6f}} 
\index{g\_bde.c@{g\_bde.c}!g\_bde\_class@{g\_bde\_class}}
\index{g\_bde\_class@{g\_bde\_class}!g\_bde.c@{g\_bde.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_class}{g\_bde\_class}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} g\+\_\+bde\+\_\+class\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .name = \mbox{\hyperlink{g__bde_8c_ad9869f408e167e55675f8e270f3aa044}{BDE\_CLASS\_NAME}},}
\DoxyCodeLine{        .version = \mbox{\hyperlink{geom_8h_a33025dbc893de9dc049ba2f30283bc5a}{G\_VERSION}},}
\DoxyCodeLine{        .destroy\_geom = \mbox{\hyperlink{g__bde_8c_afaf8d7c64a12b72028fc3cfe0ebf4b6f}{g\_bde\_destroy\_geom}},}
\DoxyCodeLine{        .ctlreq = \mbox{\hyperlink{g__bde_8c_a0f372f258d26f7ee3f0c78b18301ad97}{g\_bde\_ctlreq}},}
\DoxyCodeLine{        .start = \mbox{\hyperlink{g__bde_8c_a5f105fb1a61d8f90a3e63130fcbb8fb8}{g\_bde\_start}},}
\DoxyCodeLine{        .orphan = \mbox{\hyperlink{g__bde_8c_a446788b7589f4db0ea76a54f08f19d9b}{g\_bde\_orphan}},}
\DoxyCodeLine{        .access = \mbox{\hyperlink{g__bde_8c_ab9ac96167be1b5900169f73ce3ebedf2}{g\_bde\_access}},}
\DoxyCodeLine{        .spoiled = \mbox{\hyperlink{geom_8h_ac8cee5c0bb693826291c30b6da85fd7a}{g\_std\_spoiled}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{g__bde_8c_source_l00287}{287}} of file \mbox{\hyperlink{g__bde_8c_source}{g\+\_\+bde.\+c}}.

