\hypertarget{md__promise_8c}{}\doxysection{geom/raid/md\+\_\+promise.c File Reference}
\label{md__promise_8c}\index{geom/raid/md\_promise.c@{geom/raid/md\_promise.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/bio.\+h$>$}\newline
{\ttfamily \#include $<$sys/endian.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/kobj.\+h$>$}\newline
{\ttfamily \#include $<$sys/limits.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$geom/geom.\+h$>$}\newline
{\ttfamily \#include $<$geom/geom\+\_\+dbg.\+h$>$}\newline
{\ttfamily \#include \char`\"{}geom/raid/g\+\_\+raid.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}g\+\_\+raid\+\_\+md\+\_\+if.\+h\char`\"{}}\newline
Include dependency graph for md\+\_\+promise.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d85/md__promise_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structpromise__raid__disk}{promise\+\_\+raid\+\_\+disk}}
\item 
struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}}
\item 
struct \mbox{\hyperlink{structg__raid__md__promise__perdisk}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk}}
\item 
struct \mbox{\hyperlink{structg__raid__md__promise__pervolume}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{md__promise_8c_a6043ecc0cea629458c18b11a0f79d913}{PROMISE\+\_\+\+MAX\+\_\+\+DISKS}}~8
\item 
\#define \mbox{\hyperlink{md__promise_8c_a1071bebcee9243fc289d40361d4793a6}{PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS}}~2
\item 
\#define \mbox{\hyperlink{md__promise_8c_a77d6d528e35f43d5d45a031e3bf99406}{PROMISE\+\_\+\+META\+\_\+\+OFFSET}}~14
\item 
\#define \mbox{\hyperlink{md__promise_8c_ace5b0dcdd7f2899d4ff25e0e06bf0d4c}{PROMISE\+\_\+\+F\+\_\+\+VALID}}~0x01
\item 
\#define \mbox{\hyperlink{md__promise_8c_ac42df4956dd3764bd65643979d08322f}{PROMISE\+\_\+\+F\+\_\+\+ONLINE}}~0x02
\item 
\#define \mbox{\hyperlink{md__promise_8c_af4d7a54dec02bc72a70beba68a64b22a}{PROMISE\+\_\+\+F\+\_\+\+ASSIGNED}}~0x04
\item 
\#define \mbox{\hyperlink{md__promise_8c_a6b9b7233425401b727727ee7ef693662}{PROMISE\+\_\+\+F\+\_\+\+SPARE}}~0x08
\item 
\#define \mbox{\hyperlink{md__promise_8c_a33bf50ef28d207d12fb42314516f1f87}{PROMISE\+\_\+\+F\+\_\+\+DUPLICATE}}~0x10
\item 
\#define \mbox{\hyperlink{md__promise_8c_aa4244066795df910826a3ef954f8e87e}{PROMISE\+\_\+\+F\+\_\+\+REDIR}}~0x20
\item 
\#define \mbox{\hyperlink{md__promise_8c_aa59a43a69b8ab9246e5c0462bc23d89e}{PROMISE\+\_\+\+F\+\_\+\+DOWN}}~0x40
\item 
\#define \mbox{\hyperlink{md__promise_8c_a5d1e2e7e16092a0be16bf825562485ba}{PROMISE\+\_\+\+F\+\_\+\+READY}}~0x80
\item 
\#define \mbox{\hyperlink{md__promise_8c_a29077fb14589c94c01d6d5f3b0a0ed28}{PROMISE\+\_\+\+MAGIC}}~\char`\"{}Promise Technology, Inc.\char`\"{}
\item 
\#define \mbox{\hyperlink{md__promise_8c_ac52e4556c81c5932f43ba8dd5a9f5ab9}{FREEBSD\+\_\+\+MAGIC}}~\char`\"{}Free\+BSD ATA driver RAID \char`\"{}
\item 
\#define \mbox{\hyperlink{md__promise_8c_ae2a5cb175f80f17ed047239424c217ef}{PROMISE\+\_\+\+MAGIC0}}(x)
\item 
\#define \mbox{\hyperlink{md__promise_8c_aa488a845dca778997126c4c91984f6b8}{PROMISE\+\_\+\+I\+\_\+\+VALID}}~0x00000080
\item 
\#define \mbox{\hyperlink{md__promise_8c_ad44d358a01c6b79c8f123a69ad27695c}{PROMISE\+\_\+\+S\+\_\+\+VALID}}~0x01
\item 
\#define \mbox{\hyperlink{md__promise_8c_a2043ed0b7cd044475360e18bb3c50184}{PROMISE\+\_\+\+S\+\_\+\+ONLINE}}~0x02
\item 
\#define \mbox{\hyperlink{md__promise_8c_ad8501769df5f20d9bfe51343aa4d8562}{PROMISE\+\_\+\+S\+\_\+\+INITED}}~0x04
\item 
\#define \mbox{\hyperlink{md__promise_8c_a4a3523744c245ded29aca407b04d6fa4}{PROMISE\+\_\+\+S\+\_\+\+READY}}~0x08
\item 
\#define \mbox{\hyperlink{md__promise_8c_a7881eac97bc2dd90e115467cca0e31ac}{PROMISE\+\_\+\+S\+\_\+\+DEGRADED}}~0x10
\item 
\#define \mbox{\hyperlink{md__promise_8c_a99ac63c32805a449e275affeceec5704}{PROMISE\+\_\+\+S\+\_\+\+MARKED}}~0x20
\item 
\#define \mbox{\hyperlink{md__promise_8c_a44de585fc754ca46eb89026c8a0b0c43}{PROMISE\+\_\+\+S\+\_\+\+MIGRATING}}~0x40
\item 
\#define \mbox{\hyperlink{md__promise_8c_af5aecd7aa35e0e2c0798f2700d56c86e}{PROMISE\+\_\+\+S\+\_\+\+FUNCTIONAL}}~0x80
\item 
\#define \mbox{\hyperlink{md__promise_8c_a91fac4d6c0b9f0871f07a481a0ee596c}{PROMISE\+\_\+\+T\+\_\+\+RAID0}}~0x00
\item 
\#define \mbox{\hyperlink{md__promise_8c_a93bd586a834fc2937ea745d4facac00f}{PROMISE\+\_\+\+T\+\_\+\+RAID1}}~0x01
\item 
\#define \mbox{\hyperlink{md__promise_8c_a80b741a47ab70d65b8c35a69bbefa717}{PROMISE\+\_\+\+T\+\_\+\+RAID3}}~0x02
\item 
\#define \mbox{\hyperlink{md__promise_8c_afb8464fdc81351fa1c9bc98846405951}{PROMISE\+\_\+\+T\+\_\+\+RAID5}}~0x04
\item 
\#define \mbox{\hyperlink{md__promise_8c_af4bc13398f46db47579bc5e3fef8c096}{PROMISE\+\_\+\+T\+\_\+\+SPAN}}~0x08
\item 
\#define \mbox{\hyperlink{md__promise_8c_a0f7ef635ed5f29cfdb8d26f6dfae4323}{PROMISE\+\_\+\+T\+\_\+\+JBOD}}~0x10
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{md__promise_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static \mbox{\hyperlink{md__promise_8c_a1282c78ceea4c7415b77efba7262cbac}{MALLOC\+\_\+\+DEFINE}} (M\+\_\+\+MD\+\_\+\+PROMISE, \char`\"{}md\+\_\+promise\+\_\+data\char`\"{}, \char`\"{}GEOM\+\_\+\+RAID Promise metadata\char`\"{})
\item 
static void \mbox{\hyperlink{md__promise_8c_adc9e23d231b12a99259b8ea7d2d79b24}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+print}} (struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$meta)
\item 
static struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$ \mbox{\hyperlink{md__promise_8c_a0e997a4fd6d7be64d723864e1bc69aed}{promise\+\_\+meta\+\_\+copy}} (struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$meta)
\item 
static int \mbox{\hyperlink{md__promise_8c_a6ef59af68b8cc76c1b2ca32836d08c78}{promise\+\_\+meta\+\_\+find\+\_\+disk}} (struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$meta, uint64\+\_\+t id)
\item 
static int \mbox{\hyperlink{md__promise_8c_aecb311da502fea619e83c249c483e0c2}{promise\+\_\+meta\+\_\+unused\+\_\+range}} (struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$$\ast$metaarr, int nsd, off\+\_\+t sectors, off\+\_\+t $\ast$off, off\+\_\+t $\ast$size)
\item 
static int \mbox{\hyperlink{md__promise_8c_ae78c674b460edb2aa59af8ec82bf15f6}{promise\+\_\+meta\+\_\+translate\+\_\+disk}} (struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_aaa46aabd2a891668d71cec64e90b4848}{vol}}, int md\+\_\+disk\+\_\+pos)
\item 
static void \mbox{\hyperlink{md__promise_8c_ab1c86b805bb9e87a864967f50af774de}{promise\+\_\+meta\+\_\+get\+\_\+name}} (struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$meta, char $\ast$\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}})
\item 
static void \mbox{\hyperlink{md__promise_8c_a22407168babfbed0f7893dd05df93d2a}{promise\+\_\+meta\+\_\+put\+\_\+name}} (struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$meta, char $\ast$\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}})
\item 
static int \mbox{\hyperlink{md__promise_8c_a83d8a8fa64db01a2e4c75914e9e29013}{promise\+\_\+meta\+\_\+read}} (struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a3d8e3ec9f529e77fa46f92363b115a01}{cp}}, struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$$\ast$metaarr)
\item 
static int \mbox{\hyperlink{md__promise_8c_a6707745e52b7e36ab54cda898768c4f8}{promise\+\_\+meta\+\_\+write}} (struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a3d8e3ec9f529e77fa46f92363b115a01}{cp}}, struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$$\ast$metaarr, int nsd)
\item 
static int \mbox{\hyperlink{md__promise_8c_a313b2317debd09249a3cfb3b0697b87e}{promise\+\_\+meta\+\_\+erase}} (struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a3d8e3ec9f529e77fa46f92363b115a01}{cp}})
\item 
static int \mbox{\hyperlink{md__promise_8c_aaca73179df3140e5d531d7c76e8db9f2}{promise\+\_\+meta\+\_\+write\+\_\+spare}} (struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a3d8e3ec9f529e77fa46f92363b115a01}{cp}})
\item 
static struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$ \mbox{\hyperlink{md__promise_8c_a7ec6b8e35a71a1982c3feb3e234661dd}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+get\+\_\+volume}} (struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$sc, uint64\+\_\+t id)
\item 
static int \mbox{\hyperlink{md__promise_8c_a07e21cd261f1a1ee4981de958094c073}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+volumes}} (struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$sc)
\item 
static int \mbox{\hyperlink{md__promise_8c_a15d123072f3eb970e226da92c7d02b4b}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+disks}} (struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$sc)
\item 
static int \mbox{\hyperlink{md__promise_8c_a70b54911e536ffa263b866d57b1563ed}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+supported}} (int level, int qual, int disks, int force)
\item 
static int \mbox{\hyperlink{md__promise_8c_a1be257df9ee481a1aef9991dfd3bf676}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk}} (struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$\mbox{\hyperlink{structdisk}{disk}}, int sdn, struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_aaa46aabd2a891668d71cec64e90b4848}{vol}})
\item 
static void \mbox{\hyperlink{md__promise_8c_a44c9bc67c1ca436f79c903575a666c9f}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill}} (struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$sc)
\item 
static void \mbox{\hyperlink{md__promise_8c_aee62d33c03c9865094aff6647aa3af4f}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start}} (struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_aaa46aabd2a891668d71cec64e90b4848}{vol}})
\item 
static void \mbox{\hyperlink{md__promise_8c_ad46291bd73b6e20369e072094b4e0b69}{g\+\_\+raid\+\_\+promise\+\_\+go}} (void $\ast$arg)
\item 
static void \mbox{\hyperlink{md__promise_8c_a691f8ee19483db4bce71ae2cb37a85f1}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk}} (struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$\mbox{\hyperlink{structdisk}{disk}})
\item 
static int \mbox{\hyperlink{md__promise_8c_a8dab2de948398816553ebd07bd9765ed}{g\+\_\+raid\+\_\+md\+\_\+create\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, 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$$\ast$\mbox{\hyperlink{g__raid__md__if_8m_a2e19b314cc992e25ba4ea6cddd4b36aa}{gp}})
\item 
static int \mbox{\hyperlink{md__promise_8c_ac220d0eb7fffab787703d6376bf2ece5}{g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_a3d8e3ec9f529e77fa46f92363b115a01}{cp}}, struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}} $\ast$$\ast$\mbox{\hyperlink{g__raid__md__if_8m_a2e19b314cc992e25ba4ea6cddd4b36aa}{gp}})
\item 
static int \mbox{\hyperlink{md__promise_8c_a76255366beebc70cf0b84483d8e321a9}{g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$\mbox{\hyperlink{structdisk}{disk}}, u\+\_\+int \mbox{\hyperlink{g__raid__tr__if_8m_a683a43faabf5ffc974caacd425b678d0}{event}})
\item 
static int \mbox{\hyperlink{md__promise_8c_ae435f408340dbdd6d677af2e25635e53}{g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_aaa46aabd2a891668d71cec64e90b4848}{vol}}, u\+\_\+int \mbox{\hyperlink{g__raid__tr__if_8m_a683a43faabf5ffc974caacd425b678d0}{event}})
\item 
static int \mbox{\hyperlink{md__promise_8c_acdf9cb507db4001aef8b0f0d50835e09}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_ac3f02080343d005bc245831006856ea4}{req}})
\item 
static int \mbox{\hyperlink{md__promise_8c_a2503543e13587d8cc287200ec7b61209}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$tvol, struct \mbox{\hyperlink{structg__raid__subdisk}{g\+\_\+raid\+\_\+subdisk}} $\ast$tsd, struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$tdisk)
\item 
static int \mbox{\hyperlink{md__promise_8c_a9bb6ed815d37a28127e509ae8422b4d0}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__raid__subdisk}{g\+\_\+raid\+\_\+subdisk}} $\ast$tsd, struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$tdisk)
\item 
static int \mbox{\hyperlink{md__promise_8c_a32012a5d8e1a888af3600167e0b21972}{g\+\_\+raid\+\_\+md\+\_\+free\+\_\+disk\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$\mbox{\hyperlink{structdisk}{disk}})
\item 
static int \mbox{\hyperlink{md__promise_8c_a22a9ac8faf3c4fd11a7e968660963159}{g\+\_\+raid\+\_\+md\+\_\+free\+\_\+volume\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md, struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$\mbox{\hyperlink{g__raid__md__if_8m_aaa46aabd2a891668d71cec64e90b4848}{vol}})
\item 
static int \mbox{\hyperlink{md__promise_8c_a5d0559936596b509a6a3212f366b8412}{g\+\_\+raid\+\_\+md\+\_\+free\+\_\+promise}} (struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$md)
\item 
\mbox{\hyperlink{md__promise_8c_a2ad8bd0da14b169efe78c7d6462f69d8}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+DECLARE}} (promise, \char`\"{}Promise\char`\"{})
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structpromise__raid__disk}{promise\+\_\+raid\+\_\+disk}} \mbox{\hyperlink{md__promise_8c_a9da00a1c85e29640b43e72e814ff687a}{\+\_\+\+\_\+packed}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+create\+\_\+t \mbox{\hyperlink{md__promise_8c_a17e455a67782328d7cce25522a1538cb}{g\+\_\+raid\+\_\+md\+\_\+create\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+t \mbox{\hyperlink{md__promise_8c_af0c5d4a1a757fc2e2f9eb804ff105c10}{g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+event\+\_\+t \mbox{\hyperlink{md__promise_8c_a297a1874012686e4504431289c642268}{g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+t \mbox{\hyperlink{md__promise_8c_aece57ece2029e92483664415f94eb9b5}{g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+t \mbox{\hyperlink{md__promise_8c_a9010499762f52acd716141d483b9c2b8}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+write\+\_\+t \mbox{\hyperlink{md__promise_8c_aa84eb5d0f9c789e4d981e01fbababb63}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+t \mbox{\hyperlink{md__promise_8c_a9c2c5b4a6166ec33c5b3469c58692be0}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+free\+\_\+disk\+\_\+t \mbox{\hyperlink{md__promise_8c_a3c8423b7d0228bda25c1a262c24db1e9}{g\+\_\+raid\+\_\+md\+\_\+free\+\_\+disk\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+free\+\_\+volume\+\_\+t \mbox{\hyperlink{md__promise_8c_aeb9a5fa31424ef3bf4212b3a9cc9cbfc}{g\+\_\+raid\+\_\+md\+\_\+free\+\_\+volume\+\_\+promise}}
\item 
static g\+\_\+raid\+\_\+md\+\_\+free\+\_\+t \mbox{\hyperlink{md__promise_8c_afe12d0e175b23122f5362748008d044f}{g\+\_\+raid\+\_\+md\+\_\+free\+\_\+promise}}
\item 
static kobj\+\_\+method\+\_\+t \mbox{\hyperlink{md__promise_8c_a53f1e936e6ed021cbd45afe85d5839b6}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static struct \mbox{\hyperlink{structg__raid__md__class}{g\+\_\+raid\+\_\+md\+\_\+class}} \mbox{\hyperlink{md__promise_8c_aaf13f2599af4d1d974965d7b400f7fff}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+class}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{md__promise_8c_ac52e4556c81c5932f43ba8dd5a9f5ab9}\label{md__promise_8c_ac52e4556c81c5932f43ba8dd5a9f5ab9}} 
\index{md\_promise.c@{md\_promise.c}!FREEBSD\_MAGIC@{FREEBSD\_MAGIC}}
\index{FREEBSD\_MAGIC@{FREEBSD\_MAGIC}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{FREEBSD\_MAGIC}{FREEBSD\_MAGIC}}
{\footnotesize\ttfamily \#define FREEBSD\+\_\+\+MAGIC~\char`\"{}Free\+BSD ATA driver RAID \char`\"{}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00074}{74}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_af4d7a54dec02bc72a70beba68a64b22a}\label{md__promise_8c_af4d7a54dec02bc72a70beba68a64b22a}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_ASSIGNED@{PROMISE\_F\_ASSIGNED}}
\index{PROMISE\_F\_ASSIGNED@{PROMISE\_F\_ASSIGNED}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_ASSIGNED}{PROMISE\_F\_ASSIGNED}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+ASSIGNED~0x04}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00058}{58}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aa59a43a69b8ab9246e5c0462bc23d89e}\label{md__promise_8c_aa59a43a69b8ab9246e5c0462bc23d89e}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_DOWN@{PROMISE\_F\_DOWN}}
\index{PROMISE\_F\_DOWN@{PROMISE\_F\_DOWN}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_DOWN}{PROMISE\_F\_DOWN}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+DOWN~0x40}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00062}{62}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a33bf50ef28d207d12fb42314516f1f87}\label{md__promise_8c_a33bf50ef28d207d12fb42314516f1f87}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_DUPLICATE@{PROMISE\_F\_DUPLICATE}}
\index{PROMISE\_F\_DUPLICATE@{PROMISE\_F\_DUPLICATE}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_DUPLICATE}{PROMISE\_F\_DUPLICATE}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+DUPLICATE~0x10}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00060}{60}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_ac42df4956dd3764bd65643979d08322f}\label{md__promise_8c_ac42df4956dd3764bd65643979d08322f}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_ONLINE@{PROMISE\_F\_ONLINE}}
\index{PROMISE\_F\_ONLINE@{PROMISE\_F\_ONLINE}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_ONLINE}{PROMISE\_F\_ONLINE}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+ONLINE~0x02}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00057}{57}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a5d1e2e7e16092a0be16bf825562485ba}\label{md__promise_8c_a5d1e2e7e16092a0be16bf825562485ba}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_READY@{PROMISE\_F\_READY}}
\index{PROMISE\_F\_READY@{PROMISE\_F\_READY}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_READY}{PROMISE\_F\_READY}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+READY~0x80}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00063}{63}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aa4244066795df910826a3ef954f8e87e}\label{md__promise_8c_aa4244066795df910826a3ef954f8e87e}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_REDIR@{PROMISE\_F\_REDIR}}
\index{PROMISE\_F\_REDIR@{PROMISE\_F\_REDIR}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_REDIR}{PROMISE\_F\_REDIR}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+REDIR~0x20}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00061}{61}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a6b9b7233425401b727727ee7ef693662}\label{md__promise_8c_a6b9b7233425401b727727ee7ef693662}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_SPARE@{PROMISE\_F\_SPARE}}
\index{PROMISE\_F\_SPARE@{PROMISE\_F\_SPARE}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_SPARE}{PROMISE\_F\_SPARE}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+SPARE~0x08}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00059}{59}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_ace5b0dcdd7f2899d4ff25e0e06bf0d4c}\label{md__promise_8c_ace5b0dcdd7f2899d4ff25e0e06bf0d4c}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_F\_VALID@{PROMISE\_F\_VALID}}
\index{PROMISE\_F\_VALID@{PROMISE\_F\_VALID}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_F\_VALID}{PROMISE\_F\_VALID}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+F\+\_\+\+VALID~0x01}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00056}{56}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aa488a845dca778997126c4c91984f6b8}\label{md__promise_8c_aa488a845dca778997126c4c91984f6b8}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_I\_VALID@{PROMISE\_I\_VALID}}
\index{PROMISE\_I\_VALID@{PROMISE\_I\_VALID}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_I\_VALID}{PROMISE\_I\_VALID}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+I\+\_\+\+VALID~0x00000080}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00085}{85}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a29077fb14589c94c01d6d5f3b0a0ed28}\label{md__promise_8c_a29077fb14589c94c01d6d5f3b0a0ed28}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_MAGIC@{PROMISE\_MAGIC}}
\index{PROMISE\_MAGIC@{PROMISE\_MAGIC}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_MAGIC}{PROMISE\_MAGIC}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+MAGIC~\char`\"{}Promise Technology, Inc.\char`\"{}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00073}{73}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_ae2a5cb175f80f17ed047239424c217ef}\label{md__promise_8c_ae2a5cb175f80f17ed047239424c217ef}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_MAGIC0@{PROMISE\_MAGIC0}}
\index{PROMISE\_MAGIC0@{PROMISE\_MAGIC0}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_MAGIC0}{PROMISE\_MAGIC0}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+MAGIC0(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                                (((uint64\_t)(x.channel) << 48) | \(\backslash\)}
\DoxyCodeLine{                                ((uint64\_t)(x.device != 0) << 56))}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{md__promise_8c_source_l00078}{78}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a6043ecc0cea629458c18b11a0f79d913}\label{md__promise_8c_a6043ecc0cea629458c18b11a0f79d913}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_MAX\_DISKS@{PROMISE\_MAX\_DISKS}}
\index{PROMISE\_MAX\_DISKS@{PROMISE\_MAX\_DISKS}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_MAX\_DISKS}{PROMISE\_MAX\_DISKS}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+MAX\+\_\+\+DISKS~8}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00050}{50}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a1071bebcee9243fc289d40361d4793a6}\label{md__promise_8c_a1071bebcee9243fc289d40361d4793a6}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_MAX\_SUBDISKS@{PROMISE\_MAX\_SUBDISKS}}
\index{PROMISE\_MAX\_SUBDISKS@{PROMISE\_MAX\_SUBDISKS}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_MAX\_SUBDISKS}{PROMISE\_MAX\_SUBDISKS}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS~2}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00051}{51}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a77d6d528e35f43d5d45a031e3bf99406}\label{md__promise_8c_a77d6d528e35f43d5d45a031e3bf99406}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_META\_OFFSET@{PROMISE\_META\_OFFSET}}
\index{PROMISE\_META\_OFFSET@{PROMISE\_META\_OFFSET}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_META\_OFFSET}{PROMISE\_META\_OFFSET}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+META\+\_\+\+OFFSET~14}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00052}{52}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a7881eac97bc2dd90e115467cca0e31ac}\label{md__promise_8c_a7881eac97bc2dd90e115467cca0e31ac}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_DEGRADED@{PROMISE\_S\_DEGRADED}}
\index{PROMISE\_S\_DEGRADED@{PROMISE\_S\_DEGRADED}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_DEGRADED}{PROMISE\_S\_DEGRADED}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+DEGRADED~0x10}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00097}{97}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_af5aecd7aa35e0e2c0798f2700d56c86e}\label{md__promise_8c_af5aecd7aa35e0e2c0798f2700d56c86e}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_FUNCTIONAL@{PROMISE\_S\_FUNCTIONAL}}
\index{PROMISE\_S\_FUNCTIONAL@{PROMISE\_S\_FUNCTIONAL}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_FUNCTIONAL}{PROMISE\_S\_FUNCTIONAL}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+FUNCTIONAL~0x80}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00100}{100}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_ad8501769df5f20d9bfe51343aa4d8562}\label{md__promise_8c_ad8501769df5f20d9bfe51343aa4d8562}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_INITED@{PROMISE\_S\_INITED}}
\index{PROMISE\_S\_INITED@{PROMISE\_S\_INITED}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_INITED}{PROMISE\_S\_INITED}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+INITED~0x04}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00095}{95}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a99ac63c32805a449e275affeceec5704}\label{md__promise_8c_a99ac63c32805a449e275affeceec5704}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_MARKED@{PROMISE\_S\_MARKED}}
\index{PROMISE\_S\_MARKED@{PROMISE\_S\_MARKED}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_MARKED}{PROMISE\_S\_MARKED}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+MARKED~0x20}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00098}{98}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a44de585fc754ca46eb89026c8a0b0c43}\label{md__promise_8c_a44de585fc754ca46eb89026c8a0b0c43}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_MIGRATING@{PROMISE\_S\_MIGRATING}}
\index{PROMISE\_S\_MIGRATING@{PROMISE\_S\_MIGRATING}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_MIGRATING}{PROMISE\_S\_MIGRATING}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+MIGRATING~0x40}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00099}{99}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a2043ed0b7cd044475360e18bb3c50184}\label{md__promise_8c_a2043ed0b7cd044475360e18bb3c50184}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_ONLINE@{PROMISE\_S\_ONLINE}}
\index{PROMISE\_S\_ONLINE@{PROMISE\_S\_ONLINE}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_ONLINE}{PROMISE\_S\_ONLINE}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+ONLINE~0x02}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00094}{94}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a4a3523744c245ded29aca407b04d6fa4}\label{md__promise_8c_a4a3523744c245ded29aca407b04d6fa4}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_READY@{PROMISE\_S\_READY}}
\index{PROMISE\_S\_READY@{PROMISE\_S\_READY}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_READY}{PROMISE\_S\_READY}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+READY~0x08}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00096}{96}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_ad44d358a01c6b79c8f123a69ad27695c}\label{md__promise_8c_ad44d358a01c6b79c8f123a69ad27695c}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_S\_VALID@{PROMISE\_S\_VALID}}
\index{PROMISE\_S\_VALID@{PROMISE\_S\_VALID}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_S\_VALID}{PROMISE\_S\_VALID}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+S\+\_\+\+VALID~0x01}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00093}{93}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a0f7ef635ed5f29cfdb8d26f6dfae4323}\label{md__promise_8c_a0f7ef635ed5f29cfdb8d26f6dfae4323}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_T\_JBOD@{PROMISE\_T\_JBOD}}
\index{PROMISE\_T\_JBOD@{PROMISE\_T\_JBOD}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_T\_JBOD}{PROMISE\_T\_JBOD}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+T\+\_\+\+JBOD~0x10}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00108}{108}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a91fac4d6c0b9f0871f07a481a0ee596c}\label{md__promise_8c_a91fac4d6c0b9f0871f07a481a0ee596c}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_T\_RAID0@{PROMISE\_T\_RAID0}}
\index{PROMISE\_T\_RAID0@{PROMISE\_T\_RAID0}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_T\_RAID0}{PROMISE\_T\_RAID0}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+T\+\_\+\+RAID0~0x00}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00103}{103}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a93bd586a834fc2937ea745d4facac00f}\label{md__promise_8c_a93bd586a834fc2937ea745d4facac00f}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_T\_RAID1@{PROMISE\_T\_RAID1}}
\index{PROMISE\_T\_RAID1@{PROMISE\_T\_RAID1}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_T\_RAID1}{PROMISE\_T\_RAID1}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+T\+\_\+\+RAID1~0x01}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00104}{104}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a80b741a47ab70d65b8c35a69bbefa717}\label{md__promise_8c_a80b741a47ab70d65b8c35a69bbefa717}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_T\_RAID3@{PROMISE\_T\_RAID3}}
\index{PROMISE\_T\_RAID3@{PROMISE\_T\_RAID3}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_T\_RAID3}{PROMISE\_T\_RAID3}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+T\+\_\+\+RAID3~0x02}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00105}{105}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_afb8464fdc81351fa1c9bc98846405951}\label{md__promise_8c_afb8464fdc81351fa1c9bc98846405951}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_T\_RAID5@{PROMISE\_T\_RAID5}}
\index{PROMISE\_T\_RAID5@{PROMISE\_T\_RAID5}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_T\_RAID5}{PROMISE\_T\_RAID5}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+T\+\_\+\+RAID5~0x04}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00106}{106}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_af4bc13398f46db47579bc5e3fef8c096}\label{md__promise_8c_af4bc13398f46db47579bc5e3fef8c096}} 
\index{md\_promise.c@{md\_promise.c}!PROMISE\_T\_SPAN@{PROMISE\_T\_SPAN}}
\index{PROMISE\_T\_SPAN@{PROMISE\_T\_SPAN}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{PROMISE\_T\_SPAN}{PROMISE\_T\_SPAN}}
{\footnotesize\ttfamily \#define PROMISE\+\_\+\+T\+\_\+\+SPAN~0x08}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00107}{107}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{md__promise_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{md__promise_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{md\_promise.c@{md\_promise.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{md__promise_8c_a8dab2de948398816553ebd07bd9765ed}\label{md__promise_8c_a8dab2de948398816553ebd07bd9765ed}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_create\_promise@{g\_raid\_md\_create\_promise}}
\index{g\_raid\_md\_create\_promise@{g\_raid\_md\_create\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_create\_promise()}{g\_raid\_md\_create\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+create\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$}]{mp,  }\item[{struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}} $\ast$$\ast$}]{gp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01066}{1066}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid_8c_source_l01873}{g\+\_\+raid\+\_\+create\+\_\+node()}}, \mbox{\hyperlink{g__raid__md__if_8m_a462421bd5367102456b64943db520823}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+TASTE\+\_\+\+EXISTING}}, \mbox{\hyperlink{g__raid__md__if_8m_ae3e40a1a8689841d6d6f54a441d53d43}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+TASTE\+\_\+\+FAIL}}, \mbox{\hyperlink{g__raid__md__if_8m_aa5340dcca98f524650a3aa3675073120}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+TASTE\+\_\+\+NEW}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{g__raid_8h_source_l00325}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+class}}, \mbox{\hyperlink{g__raid_8h_source_l00326}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+softc}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00103}{mp}}, \mbox{\hyperlink{g__raid_8h_source_l00295}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+geom}}, \mbox{\hyperlink{g__raid_8h_source_l00294}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+md}}, \mbox{\hyperlink{g__raid_8h_source_l00304}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+stopping}}, 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]{dd/d9b/md__promise_8c_a8dab2de948398816553ebd07bd9765ed_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_acdf9cb507db4001aef8b0f0d50835e09}\label{md__promise_8c_acdf9cb507db4001aef8b0f0d50835e09}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_ctl\_promise@{g\_raid\_md\_ctl\_promise}}
\index{g\_raid\_md\_ctl\_promise@{g\_raid\_md\_ctl\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_ctl\_promise()}{g\_raid\_md\_ctl\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structgctl__req}{gctl\+\_\+req}} $\ast$}]{req }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01260}{1260}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{geom_8h_source_l00425}{\+\_\+\+PATH\+\_\+\+DEV}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{geom_8h_source_l00212}{g\+\_\+provider\+::error}}, \mbox{\hyperlink{g__raid_8c_source_l00563}{g\+\_\+raid\+\_\+change\+\_\+disk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8c_source_l00575}{g\+\_\+raid\+\_\+change\+\_\+subdisk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8c_source_l01971}{g\+\_\+raid\+\_\+create\+\_\+disk()}}, \mbox{\hyperlink{g__raid_8c_source_l01916}{g\+\_\+raid\+\_\+create\+\_\+volume()}}, \mbox{\hyperlink{g__raid_8h_source_l00066}{G\+\_\+\+RAID\+\_\+\+DEBUG1}}, \mbox{\hyperlink{g__raid_8c_source_l02128}{g\+\_\+raid\+\_\+destroy\+\_\+disk()}}, \mbox{\hyperlink{g__raid_8c_source_l02024}{g\+\_\+raid\+\_\+destroy\+\_\+node()}}, \mbox{\hyperlink{g__raid_8c_source_l02075}{g\+\_\+raid\+\_\+destroy\+\_\+volume()}}, \mbox{\hyperlink{g__raid_8h_source_l00124}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8h_source_l00117}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+NONE}}, \mbox{\hyperlink{g__raid_8h_source_l00122}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+SPARE}}, \mbox{\hyperlink{g__raid_8c_source_l00152}{g\+\_\+raid\+\_\+disk\+\_\+state2str()}}, \mbox{\hyperlink{g__raid_8c_source_l00614}{g\+\_\+raid\+\_\+event\+\_\+send()}}, \mbox{\hyperlink{g__raid_8h_source_l00107}{G\+\_\+\+RAID\+\_\+\+EVENT\+\_\+\+SUBDISK}}, \mbox{\hyperlink{g__raid_8h_source_l00106}{G\+\_\+\+RAID\+\_\+\+EVENT\+\_\+\+VOLUME}}, \mbox{\hyperlink{g__raid_8c_source_l00498}{g\+\_\+raid\+\_\+get\+\_\+disk\+\_\+info()}}, \mbox{\hyperlink{md__promise_8c_source_l00165}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise}}, \mbox{\hyperlink{md__promise_8c_source_l00578}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+disks()}}, \mbox{\hyperlink{md__promise_8c_source_l00554}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+volumes()}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, \mbox{\hyperlink{md__promise_8c_source_l00618}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+supported()}}, \mbox{\hyperlink{md__promise_8c_source_l00164}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}, \mbox{\hyperlink{g__raid_8c_source_l00706}{g\+\_\+raid\+\_\+ndisks()}}, \mbox{\hyperlink{g__raid_8c_source_l00813}{g\+\_\+raid\+\_\+nopens()}}, \mbox{\hyperlink{g__raid_8c_source_l00771}{g\+\_\+raid\+\_\+open\+\_\+consumer()}}, \mbox{\hyperlink{g__raid_8c_source_l01984}{g\+\_\+raid\+\_\+start\+\_\+volume()}}, \mbox{\hyperlink{g__raid_8h_source_l00152}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+E\+\_\+\+NEW}}, \mbox{\hyperlink{g__raid_8h_source_l00150}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8h_source_l00195}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+E\+\_\+\+START}}, \mbox{\hyperlink{g__raid_8h_source_l00207}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+CONCAT}}, \mbox{\hyperlink{g__raid_8h_source_l00198}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID0}}, \mbox{\hyperlink{g__raid_8h_source_l00199}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1}}, \mbox{\hyperlink{g__raid_8h_source_l00205}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1E}}, \mbox{\hyperlink{g__raid_8h_source_l00200}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID3}}, \mbox{\hyperlink{g__raid_8h_source_l00202}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID5}}, \mbox{\hyperlink{g__raid_8h_source_l00206}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+SINGLE}}, \mbox{\hyperlink{g__raid_8c_source_l00370}{g\+\_\+raid\+\_\+volume\+\_\+str2level()}}, \mbox{\hyperlink{geom_8h_source_l00389}{g\+\_\+topology\+\_\+lock}}, \mbox{\hyperlink{geom_8h_source_l00396}{g\+\_\+topology\+\_\+unlock}}, \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\+\_\+error()}}, \mbox{\hyperlink{geom__ctl_8c_source_l00395}{gctl\+\_\+get\+\_\+asciiparam()}}, \mbox{\hyperlink{geom__ctl_8c_source_l00388}{gctl\+\_\+get\+\_\+param()}}, \mbox{\hyperlink{geom__ctl_8c_source_l00429}{gctl\+\_\+get\+\_\+paraml()}}, \mbox{\hyperlink{g__raid_8h_source_l00326}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+softc}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{geom_8h_source_l00190}{g\+\_\+consumer\+::private}}, \mbox{\hyperlink{md__promise_8c_source_l00050}{PROMISE\+\_\+\+MAX\+\_\+\+DISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00051}{PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00494}{promise\+\_\+meta\+\_\+erase()}}, \mbox{\hyperlink{md__promise_8c_source_l00264}{promise\+\_\+meta\+\_\+unused\+\_\+range()}}, \mbox{\hyperlink{md__promise_8c_source_l00516}{promise\+\_\+meta\+\_\+write\+\_\+spare()}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, \mbox{\hyperlink{md__promise_8c_source_l00153}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+generation}}, \mbox{\hyperlink{md__promise_8c_source_l00152}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__part__if_8m_source_l00225}{req}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00147}{sd}}, \mbox{\hyperlink{g__raid_8h_source_l00166}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+disk}}, \mbox{\hyperlink{g__raid_8h_source_l00168}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+offset}}, \mbox{\hyperlink{g__raid_8h_source_l00169}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+size}}, \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00284}{g\+\_\+raid\+\_\+volume\+::v\+\_\+global\+\_\+id}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00271}{g\+\_\+raid\+\_\+volume\+::v\+\_\+mediasize}}, \mbox{\hyperlink{g__raid_8h_source_l00257}{g\+\_\+raid\+\_\+volume\+::v\+\_\+name}}, \mbox{\hyperlink{g__raid_8h_source_l00252}{g\+\_\+raid\+\_\+volume\+::v\+\_\+provider}}, \mbox{\hyperlink{g__raid_8h_source_l00283}{g\+\_\+raid\+\_\+volume\+::v\+\_\+provider\+\_\+open}}, \mbox{\hyperlink{g__raid_8h_source_l00260}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level}}, \mbox{\hyperlink{g__raid_8h_source_l00261}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level\+\_\+qualifier}}, \mbox{\hyperlink{g__raid_8h_source_l00270}{g\+\_\+raid\+\_\+volume\+::v\+\_\+sectorsize}}, \mbox{\hyperlink{g__raid_8h_source_l00267}{g\+\_\+raid\+\_\+volume\+::v\+\_\+strip\+\_\+size}}, \mbox{\hyperlink{g__raid_8h_source_l00253}{g\+\_\+raid\+\_\+volume\+::v\+\_\+subdisks}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_acdf9cb507db4001aef8b0f0d50835e09_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a2ad8bd0da14b169efe78c7d6462f69d8}\label{md__promise_8c_a2ad8bd0da14b169efe78c7d6462f69d8}} 
\index{md\_promise.c@{md\_promise.c}!G\_RAID\_MD\_DECLARE@{G\_RAID\_MD\_DECLARE}}
\index{G\_RAID\_MD\_DECLARE@{G\_RAID\_MD\_DECLARE}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{G\_RAID\_MD\_DECLARE()}{G\_RAID\_MD\_DECLARE()}}
{\footnotesize\ttfamily G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+DECLARE (\begin{DoxyParamCaption}\item[{promise}]{,  }\item[{\char`\"{}Promise\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{md__promise_8c_a76255366beebc70cf0b84483d8e321a9}\label{md__promise_8c_a76255366beebc70cf0b84483d8e321a9}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_event\_promise@{g\_raid\_md\_event\_promise}}
\index{g\_raid\_md\_event\_promise@{g\_raid\_md\_event\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_event\_promise()}{g\_raid\_md\_event\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$}]{disk,  }\item[{u\+\_\+int}]{event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01215}{1215}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00130}{event}}, \mbox{\hyperlink{g__raid_8c_source_l00563}{g\+\_\+raid\+\_\+change\+\_\+disk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8c_source_l02128}{g\+\_\+raid\+\_\+destroy\+\_\+disk()}}, \mbox{\hyperlink{g__raid_8c_source_l02024}{g\+\_\+raid\+\_\+destroy\+\_\+node()}}, \mbox{\hyperlink{g__raid_8h_source_l00126}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+E\+\_\+\+DISCONNECTED}}, \mbox{\hyperlink{g__raid_8h_source_l00117}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+NONE}}, \mbox{\hyperlink{md__promise_8c_source_l00554}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+volumes()}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, \mbox{\hyperlink{md__promise_8c_source_l00164}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}, \mbox{\hyperlink{g__raid_8c_source_l00706}{g\+\_\+raid\+\_\+ndisks()}}, and \mbox{\hyperlink{g__raid_8h_source_l00326}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+softc}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a76255366beebc70cf0b84483d8e321a9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a9bb6ed815d37a28127e509ae8422b4d0}\label{md__promise_8c_a9bb6ed815d37a28127e509ae8422b4d0}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_fail\_disk\_promise@{g\_raid\_md\_fail\_disk\_promise}}
\index{g\_raid\_md\_fail\_disk\_promise@{g\_raid\_md\_fail\_disk\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_fail\_disk\_promise()}{g\_raid\_md\_fail\_disk\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__raid__subdisk}{g\+\_\+raid\+\_\+subdisk}} $\ast$}]{tsd,  }\item[{struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$}]{tdisk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01908}{1908}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid_8h_source_l00130}{g\+\_\+raid\+\_\+disk\+::d\+\_\+consumer}}, \mbox{\hyperlink{g__raid_8h_source_l00131}{g\+\_\+raid\+\_\+disk\+::d\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00134}{g\+\_\+raid\+\_\+disk\+::d\+\_\+state}}, \mbox{\hyperlink{md__promise_8c_source_l00087}{promise\+\_\+raid\+\_\+conf\+::disk}}, \mbox{\hyperlink{md__promise_8c_source_l00119}{promise\+\_\+raid\+\_\+conf\+::disks}}, \mbox{\hyperlink{md__promise_8c_source_l00055}{promise\+\_\+raid\+\_\+disk\+::flags}}, \mbox{\hyperlink{g__raid_8c_source_l00563}{g\+\_\+raid\+\_\+change\+\_\+disk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8c_source_l00575}{g\+\_\+raid\+\_\+change\+\_\+subdisk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8h_source_l00064}{G\+\_\+\+RAID\+\_\+\+DEBUG}}, \mbox{\hyperlink{g__raid_8h_source_l00124}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8h_source_l00120}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8c_source_l00614}{g\+\_\+raid\+\_\+event\+\_\+send()}}, \mbox{\hyperlink{g__raid_8h_source_l00107}{G\+\_\+\+RAID\+\_\+\+EVENT\+\_\+\+SUBDISK}}, \mbox{\hyperlink{g__raid_8c_source_l00489}{g\+\_\+raid\+\_\+get\+\_\+diskname()}}, \mbox{\hyperlink{md__promise_8c_source_l00193}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+print()}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, \mbox{\hyperlink{md__promise_8c_source_l00164}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}, \mbox{\hyperlink{g__raid_8h_source_l00153}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+E\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8h_source_l00144}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8h_source_l00326}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+softc}}, \mbox{\hyperlink{md__promise_8c_source_l00065}{promise\+\_\+raid\+\_\+disk\+::number}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00062}{PROMISE\+\_\+\+F\+\_\+\+DOWN}}, \mbox{\hyperlink{md__promise_8c_source_l00061}{PROMISE\+\_\+\+F\+\_\+\+REDIR}}, \mbox{\hyperlink{md__promise_8c_source_l00050}{PROMISE\+\_\+\+MAX\+\_\+\+DISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00431}{promise\+\_\+meta\+\_\+write()}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00147}{sd}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a9bb6ed815d37a28127e509ae8422b4d0_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a32012a5d8e1a888af3600167e0b21972}\label{md__promise_8c_a32012a5d8e1a888af3600167e0b21972}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_free\_disk\_promise@{g\_raid\_md\_free\_disk\_promise}}
\index{g\_raid\_md\_free\_disk\_promise@{g\_raid\_md\_free\_disk\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_free\_disk\_promise()}{g\_raid\_md\_free\_disk\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+free\+\_\+disk\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$}]{disk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01961}{1961}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, and \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}.

\mbox{\Hypertarget{md__promise_8c_a5d0559936596b509a6a3212f366b8412}\label{md__promise_8c_a5d0559936596b509a6a3212f366b8412}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_free\_promise@{g\_raid\_md\_free\_promise}}
\index{g\_raid\_md\_free\_promise@{g\_raid\_md\_free\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_free\_promise()}{g\_raid\_md\_free\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+free\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l02000}{2000}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a22a9ac8faf3c4fd11a7e968660963159}\label{md__promise_8c_a22a9ac8faf3c4fd11a7e968660963159}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_free\_volume\_promise@{g\_raid\_md\_free\_volume\_promise}}
\index{g\_raid\_md\_free\_volume\_promise@{g\_raid\_md\_free\_volume\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_free\_volume\_promise()}{g\_raid\_md\_free\_volume\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+free\+\_\+volume\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$}]{vol }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01980}{1980}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{md__promise_8c_source_l00151}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00156}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+start\+\_\+co}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.

\mbox{\Hypertarget{md__promise_8c_a7ec6b8e35a71a1982c3feb3e234661dd}\label{md__promise_8c_a7ec6b8e35a71a1982c3feb3e234661dd}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_get\_volume@{g\_raid\_md\_promise\_get\_volume}}
\index{g\_raid\_md\_promise\_get\_volume@{g\_raid\_md\_promise\_get\_volume}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_get\_volume()}{g\_raid\_md\_promise\_get\_volume()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$ g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+get\+\_\+volume (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$}]{sc,  }\item[{uint64\+\_\+t}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00540}{540}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00152}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+id}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, and \mbox{\hyperlink{md__promise_8c_source_l00578}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+disks()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a7ec6b8e35a71a1982c3feb3e234661dd_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a691f8ee19483db4bce71ae2cb37a85f1}\label{md__promise_8c_a691f8ee19483db4bce71ae2cb37a85f1}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_new\_disk@{g\_raid\_md\_promise\_new\_disk}}
\index{g\_raid\_md\_promise\_new\_disk@{g\_raid\_md\_promise\_new\_disk}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_new\_disk()}{g\_raid\_md\_promise\_new\_disk()}}
{\footnotesize\ttfamily static void g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$}]{disk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00985}{985}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00113}{promise\+\_\+raid\+\_\+conf\+::array\+\_\+number}}, \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{g__raid_8c_source_l00563}{g\+\_\+raid\+\_\+change\+\_\+disk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8c_source_l01916}{g\+\_\+raid\+\_\+create\+\_\+volume()}}, \mbox{\hyperlink{g__raid_8h_source_l00066}{G\+\_\+\+RAID\+\_\+\+DEBUG1}}, \mbox{\hyperlink{g__raid_8h_source_l00122}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+SPARE}}, \mbox{\hyperlink{md__promise_8c_source_l00540}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+get\+\_\+volume()}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, \mbox{\hyperlink{md__promise_8c_source_l00896}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start()}}, \mbox{\hyperlink{md__promise_8c_source_l00667}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00164}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}, \mbox{\hyperlink{md__promise_8c_source_l00968}{g\+\_\+raid\+\_\+promise\+\_\+go()}}, \mbox{\hyperlink{g__raid_8c_source_l00072}{g\+\_\+raid\+\_\+start\+\_\+timeout}}, \mbox{\hyperlink{md__promise_8c_source_l00091}{promise\+\_\+raid\+\_\+conf\+::generation}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00242}{promise\+\_\+meta\+\_\+copy()}}, \mbox{\hyperlink{md__promise_8c_source_l00314}{promise\+\_\+meta\+\_\+get\+\_\+name()}}, \mbox{\hyperlink{md__promise_8c_source_l00154}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+disks\+\_\+present}}, \mbox{\hyperlink{md__promise_8c_source_l00153}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+generation}}, \mbox{\hyperlink{md__promise_8c_source_l00152}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00151}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00156}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+start\+\_\+co}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00294}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+md}}, \mbox{\hyperlink{md__promise_8c_source_l00110}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+disks}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01098}{g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a691f8ee19483db4bce71ae2cb37a85f1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a691f8ee19483db4bce71ae2cb37a85f1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_adc9e23d231b12a99259b8ea7d2d79b24}\label{md__promise_8c_adc9e23d231b12a99259b8ea7d2d79b24}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_print@{g\_raid\_md\_promise\_print}}
\index{g\_raid\_md\_promise\_print@{g\_raid\_md\_promise\_print}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_print()}{g\_raid\_md\_promise\_print()}}
{\footnotesize\ttfamily static void g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+print (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$}]{meta }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00193}{193}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00113}{promise\+\_\+raid\+\_\+conf\+::array\+\_\+number}}, \mbox{\hyperlink{md__promise_8c_source_l00112}{promise\+\_\+raid\+\_\+conf\+::array\+\_\+width}}, \mbox{\hyperlink{md__promise_8c_source_l00133}{promise\+\_\+raid\+\_\+conf\+::backup\+\_\+time}}, \mbox{\hyperlink{md__promise_8c_source_l00066}{promise\+\_\+raid\+\_\+disk\+::channel}}, \mbox{\hyperlink{md__promise_8c_source_l00115}{promise\+\_\+raid\+\_\+conf\+::cylinders}}, \mbox{\hyperlink{md__promise_8c_source_l00067}{promise\+\_\+raid\+\_\+disk\+::device}}, \mbox{\hyperlink{md__promise_8c_source_l00087}{promise\+\_\+raid\+\_\+conf\+::disk}}, \mbox{\hyperlink{md__promise_8c_source_l00088}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00090}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild}}, \mbox{\hyperlink{md__promise_8c_source_l00137}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00119}{promise\+\_\+raid\+\_\+conf\+::disks}}, \mbox{\hyperlink{md__promise_8c_source_l00055}{promise\+\_\+raid\+\_\+disk\+::flags}}, \mbox{\hyperlink{g__raid_8c_source_l00065}{g\+\_\+raid\+\_\+debug}}, \mbox{\hyperlink{md__promise_8c_source_l00091}{promise\+\_\+raid\+\_\+conf\+::generation}}, \mbox{\hyperlink{md__promise_8c_source_l00116}{promise\+\_\+raid\+\_\+conf\+::heads}}, \mbox{\hyperlink{md__promise_8c_source_l00124}{promise\+\_\+raid\+\_\+conf\+::magic\+\_\+3}}, \mbox{\hyperlink{md__promise_8c_source_l00126}{promise\+\_\+raid\+\_\+conf\+::magic\+\_\+4}}, \mbox{\hyperlink{md__promise_8c_source_l00127}{promise\+\_\+raid\+\_\+conf\+::magic\+\_\+5}}, \mbox{\hyperlink{md__promise_8c_source_l00121}{promise\+\_\+raid\+\_\+conf\+::name}}, \mbox{\hyperlink{md__promise_8c_source_l00065}{promise\+\_\+raid\+\_\+disk\+::number}}, \mbox{\hyperlink{md__promise_8c_source_l00072}{promise\+\_\+raid\+\_\+conf\+::promise\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00050}{PROMISE\+\_\+\+MAX\+\_\+\+DISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00125}{promise\+\_\+raid\+\_\+conf\+::rebuild\+\_\+lba64}}, \mbox{\hyperlink{md__promise_8c_source_l00130}{promise\+\_\+raid\+\_\+conf\+::sector\+\_\+size}}, \mbox{\hyperlink{md__promise_8c_source_l00117}{promise\+\_\+raid\+\_\+conf\+::sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00092}{promise\+\_\+raid\+\_\+conf\+::status}}, \mbox{\hyperlink{md__promise_8c_source_l00111}{promise\+\_\+raid\+\_\+conf\+::stripe\+\_\+shift}}, \mbox{\hyperlink{md__promise_8c_source_l00110}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+disks}}, \mbox{\hyperlink{md__promise_8c_source_l00114}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00128}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors\+\_\+high}}, and \mbox{\hyperlink{md__promise_8c_source_l00102}{promise\+\_\+raid\+\_\+conf\+::type}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01908}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l01098}{g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise()}}, and \mbox{\hyperlink{md__promise_8c_source_l01696}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_adc9e23d231b12a99259b8ea7d2d79b24_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a15d123072f3eb970e226da92c7d02b4b}\label{md__promise_8c_a15d123072f3eb970e226da92c7d02b4b}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_purge\_disks@{g\_raid\_md\_promise\_purge\_disks}}
\index{g\_raid\_md\_promise\_purge\_disks@{g\_raid\_md\_promise\_purge\_disks}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_purge\_disks()}{g\_raid\_md\_promise\_purge\_disks()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+disks (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00578}{578}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{g__raid_8c_source_l02128}{g\+\_\+raid\+\_\+destroy\+\_\+disk()}}, \mbox{\hyperlink{g__raid_8h_source_l00122}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+SPARE}}, \mbox{\hyperlink{md__promise_8c_source_l00540}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+get\+\_\+volume()}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00145}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+updated}}, \mbox{\hyperlink{md__promise_8c_source_l00494}{promise\+\_\+meta\+\_\+erase()}}, \mbox{\hyperlink{g__raid_8h_source_l00282}{g\+\_\+raid\+\_\+volume\+::v\+\_\+stopping}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a15d123072f3eb970e226da92c7d02b4b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a15d123072f3eb970e226da92c7d02b4b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a07e21cd261f1a1ee4981de958094c073}\label{md__promise_8c_a07e21cd261f1a1ee4981de958094c073}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_purge\_volumes@{g\_raid\_md\_promise\_purge\_volumes}}
\index{g\_raid\_md\_promise\_purge\_volumes@{g\_raid\_md\_promise\_purge\_volumes}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_purge\_volumes()}{g\_raid\_md\_promise\_purge\_volumes()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+volumes (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00554}{554}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid_8c_source_l02075}{g\+\_\+raid\+\_\+destroy\+\_\+volume()}}, \mbox{\hyperlink{g__raid_8h_source_l00143}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+NONE}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00171}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+state}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00282}{g\+\_\+raid\+\_\+volume\+::v\+\_\+stopping}}, \mbox{\hyperlink{g__raid_8h_source_l00253}{g\+\_\+raid\+\_\+volume\+::v\+\_\+subdisks}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}, and \mbox{\hyperlink{md__promise_8c_source_l01215}{g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a07e21cd261f1a1ee4981de958094c073_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a07e21cd261f1a1ee4981de958094c073_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a44c9bc67c1ca436f79c903575a666c9f}\label{md__promise_8c_a44c9bc67c1ca436f79c903575a666c9f}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_refill@{g\_raid\_md\_promise\_refill}}
\index{g\_raid\_md\_promise\_refill@{g\_raid\_md\_promise\_refill}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_refill()}{g\_raid\_md\_promise\_refill()}}
{\footnotesize\ttfamily static void g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__softc}{g\+\_\+raid\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00832}{832}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{g__raid_8h_source_l00066}{G\+\_\+\+RAID\+\_\+\+DEBUG1}}, \mbox{\hyperlink{g__raid_8h_source_l00122}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+SPARE}}, \mbox{\hyperlink{md__promise_8c_source_l00667}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00164}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}, \mbox{\hyperlink{g__raid_8h_source_l00144}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8h_source_l00143}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+NONE}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00051}{PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00294}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+md}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00147}{sd}}, \mbox{\hyperlink{g__raid_8h_source_l00166}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+disk}}, \mbox{\hyperlink{g__raid_8h_source_l00171}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+state}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00257}{g\+\_\+raid\+\_\+volume\+::v\+\_\+name}}, \mbox{\hyperlink{g__raid_8h_source_l00282}{g\+\_\+raid\+\_\+volume\+::v\+\_\+stopping}}, \mbox{\hyperlink{g__raid_8h_source_l00253}{g\+\_\+raid\+\_\+volume\+::v\+\_\+subdisks}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l01215}{g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l01908}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, and \mbox{\hyperlink{md__promise_8c_source_l00896}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a44c9bc67c1ca436f79c903575a666c9f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a44c9bc67c1ca436f79c903575a666c9f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_aee62d33c03c9865094aff6647aa3af4f}\label{md__promise_8c_aee62d33c03c9865094aff6647aa3af4f}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_start@{g\_raid\_md\_promise\_start}}
\index{g\_raid\_md\_promise\_start@{g\_raid\_md\_promise\_start}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_start()}{g\_raid\_md\_promise\_start()}}
{\footnotesize\ttfamily static void g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$}]{vol }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00896}{896}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00112}{promise\+\_\+raid\+\_\+conf\+::array\+\_\+width}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{md__promise_8c_source_l00088}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{g__raid_8h_source_l00066}{G\+\_\+\+RAID\+\_\+\+DEBUG1}}, \mbox{\hyperlink{g__raid_8c_source_l00614}{g\+\_\+raid\+\_\+event\+\_\+send()}}, \mbox{\hyperlink{g__raid_8h_source_l00106}{G\+\_\+\+RAID\+\_\+\+EVENT\+\_\+\+VOLUME}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, \mbox{\hyperlink{md__promise_8c_source_l00667}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00164}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise}}, \mbox{\hyperlink{g__raid_8c_source_l01984}{g\+\_\+raid\+\_\+start\+\_\+volume()}}, \mbox{\hyperlink{g__raid_8h_source_l00195}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+E\+\_\+\+START}}, \mbox{\hyperlink{g__raid_8h_source_l00207}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+CONCAT}}, \mbox{\hyperlink{g__raid_8h_source_l00198}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID0}}, \mbox{\hyperlink{g__raid_8h_source_l00199}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1}}, \mbox{\hyperlink{g__raid_8h_source_l00205}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1E}}, \mbox{\hyperlink{g__raid_8h_source_l00200}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID3}}, \mbox{\hyperlink{g__raid_8h_source_l00202}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID5}}, \mbox{\hyperlink{g__raid_8h_source_l00206}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+SINGLE}}, \mbox{\hyperlink{g__raid_8h_source_l00211}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+UNKNOWN}}, \mbox{\hyperlink{g__raid_8h_source_l00213}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RLQ\+\_\+\+NONE}}, \mbox{\hyperlink{g__raid_8h_source_l00222}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RLQ\+\_\+\+R5\+LA}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00108}{PROMISE\+\_\+\+T\+\_\+\+JBOD}}, \mbox{\hyperlink{md__promise_8c_source_l00103}{PROMISE\+\_\+\+T\+\_\+\+RAID0}}, \mbox{\hyperlink{md__promise_8c_source_l00104}{PROMISE\+\_\+\+T\+\_\+\+RAID1}}, \mbox{\hyperlink{md__promise_8c_source_l00105}{PROMISE\+\_\+\+T\+\_\+\+RAID3}}, \mbox{\hyperlink{md__promise_8c_source_l00106}{PROMISE\+\_\+\+T\+\_\+\+RAID5}}, \mbox{\hyperlink{md__promise_8c_source_l00107}{PROMISE\+\_\+\+T\+\_\+\+SPAN}}, \mbox{\hyperlink{md__promise_8c_source_l00151}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00156}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+start\+\_\+co}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00294}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+md}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00147}{sd}}, \mbox{\hyperlink{g__raid_8h_source_l00168}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+offset}}, \mbox{\hyperlink{g__raid_8h_source_l00169}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+size}}, \mbox{\hyperlink{md__promise_8c_source_l00130}{promise\+\_\+raid\+\_\+conf\+::sector\+\_\+size}}, \mbox{\hyperlink{md__promise_8c_source_l00111}{promise\+\_\+raid\+\_\+conf\+::stripe\+\_\+shift}}, \mbox{\hyperlink{md__promise_8c_source_l00110}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+disks}}, \mbox{\hyperlink{md__promise_8c_source_l00114}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00128}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00102}{promise\+\_\+raid\+\_\+conf\+::type}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00271}{g\+\_\+raid\+\_\+volume\+::v\+\_\+mediasize}}, \mbox{\hyperlink{g__raid_8h_source_l00260}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level}}, \mbox{\hyperlink{g__raid_8h_source_l00261}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level\+\_\+qualifier}}, \mbox{\hyperlink{g__raid_8h_source_l00270}{g\+\_\+raid\+\_\+volume\+::v\+\_\+sectorsize}}, \mbox{\hyperlink{g__raid_8h_source_l00251}{g\+\_\+raid\+\_\+volume\+::v\+\_\+softc}}, \mbox{\hyperlink{g__raid_8h_source_l00267}{g\+\_\+raid\+\_\+volume\+::v\+\_\+strip\+\_\+size}}, \mbox{\hyperlink{g__raid_8h_source_l00253}{g\+\_\+raid\+\_\+volume\+::v\+\_\+subdisks}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, and \mbox{\hyperlink{md__promise_8c_source_l01244}{g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+promise()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_aee62d33c03c9865094aff6647aa3af4f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_aee62d33c03c9865094aff6647aa3af4f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a1be257df9ee481a1aef9991dfd3bf676}\label{md__promise_8c_a1be257df9ee481a1aef9991dfd3bf676}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_start\_disk@{g\_raid\_md\_promise\_start\_disk}}
\index{g\_raid\_md\_promise\_start\_disk@{g\_raid\_md\_promise\_start\_disk}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_start\_disk()}{g\_raid\_md\_promise\_start\_disk()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$}]{disk,  }\item[{int}]{sdn,  }\item[{struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$}]{vol }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00667}{667}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{md__promise_8c_source_l00087}{promise\+\_\+raid\+\_\+conf\+::disk}}, \mbox{\hyperlink{md__promise_8c_source_l00088}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00090}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild}}, \mbox{\hyperlink{md__promise_8c_source_l00137}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00119}{promise\+\_\+raid\+\_\+conf\+::disks}}, \mbox{\hyperlink{md__promise_8c_source_l00055}{promise\+\_\+raid\+\_\+disk\+::flags}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{g__raid_8c_source_l00563}{g\+\_\+raid\+\_\+change\+\_\+disk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8c_source_l00575}{g\+\_\+raid\+\_\+change\+\_\+subdisk\+\_\+state()}}, \mbox{\hyperlink{g__raid_8h_source_l00066}{G\+\_\+\+RAID\+\_\+\+DEBUG1}}, \mbox{\hyperlink{g__raid_8h_source_l00124}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8h_source_l00120}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8h_source_l00122}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+SPARE}}, \mbox{\hyperlink{g__raid_8h_source_l00121}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+STALE\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8c_source_l00614}{g\+\_\+raid\+\_\+event\+\_\+send()}}, \mbox{\hyperlink{g__raid_8h_source_l00107}{G\+\_\+\+RAID\+\_\+\+EVENT\+\_\+\+SUBDISK}}, \mbox{\hyperlink{g__raid_8c_source_l00489}{g\+\_\+raid\+\_\+get\+\_\+diskname()}}, \mbox{\hyperlink{g__raid_8h_source_l00152}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+E\+\_\+\+NEW}}, \mbox{\hyperlink{g__raid_8h_source_l00150}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8h_source_l00144}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8h_source_l00145}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+NEW}}, \mbox{\hyperlink{g__raid_8h_source_l00143}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+NONE}}, \mbox{\hyperlink{g__raid_8h_source_l00146}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+REBUILD}}, \mbox{\hyperlink{g__raid_8h_source_l00148}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+STALE}}, \mbox{\hyperlink{g__raid_8h_source_l00207}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+CONCAT}}, \mbox{\hyperlink{md__promise_8c_source_l00091}{promise\+\_\+raid\+\_\+conf\+::generation}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00062}{PROMISE\+\_\+\+F\+\_\+\+DOWN}}, \mbox{\hyperlink{md__promise_8c_source_l00057}{PROMISE\+\_\+\+F\+\_\+\+ONLINE}}, \mbox{\hyperlink{md__promise_8c_source_l00061}{PROMISE\+\_\+\+F\+\_\+\+REDIR}}, \mbox{\hyperlink{md__promise_8c_source_l00252}{promise\+\_\+meta\+\_\+find\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00300}{promise\+\_\+meta\+\_\+translate\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00264}{promise\+\_\+meta\+\_\+unused\+\_\+range()}}, \mbox{\hyperlink{md__promise_8c_source_l00098}{PROMISE\+\_\+\+S\+\_\+\+MARKED}}, \mbox{\hyperlink{md__promise_8c_source_l00151}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00147}{sd}}, \mbox{\hyperlink{g__raid_8h_source_l00166}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+disk}}, \mbox{\hyperlink{g__raid_8h_source_l00168}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+offset}}, \mbox{\hyperlink{g__raid_8h_source_l00172}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+rebuild\+\_\+pos}}, \mbox{\hyperlink{g__raid_8h_source_l00169}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+size}}, \mbox{\hyperlink{g__raid_8h_source_l00171}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+state}}, \mbox{\hyperlink{md__promise_8c_source_l00092}{promise\+\_\+raid\+\_\+conf\+::status}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00257}{g\+\_\+raid\+\_\+volume\+::v\+\_\+name}}, \mbox{\hyperlink{g__raid_8h_source_l00260}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level}}, \mbox{\hyperlink{g__raid_8h_source_l00253}{g\+\_\+raid\+\_\+volume\+::v\+\_\+subdisks}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, and \mbox{\hyperlink{md__promise_8c_source_l00896}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a1be257df9ee481a1aef9991dfd3bf676_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a1be257df9ee481a1aef9991dfd3bf676_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a70b54911e536ffa263b866d57b1563ed}\label{md__promise_8c_a70b54911e536ffa263b866d57b1563ed}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_supported@{g\_raid\_md\_promise\_supported}}
\index{g\_raid\_md\_promise\_supported@{g\_raid\_md\_promise\_supported}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_supported()}{g\_raid\_md\_promise\_supported()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+supported (\begin{DoxyParamCaption}\item[{int}]{level,  }\item[{int}]{qual,  }\item[{int}]{disks,  }\item[{int}]{force }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00618}{618}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid_8h_source_l00207}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+CONCAT}}, \mbox{\hyperlink{g__raid_8h_source_l00198}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID0}}, \mbox{\hyperlink{g__raid_8h_source_l00199}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1}}, \mbox{\hyperlink{g__raid_8h_source_l00205}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1E}}, \mbox{\hyperlink{g__raid_8h_source_l00202}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID5}}, \mbox{\hyperlink{g__raid_8h_source_l00206}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+SINGLE}}, \mbox{\hyperlink{g__raid_8h_source_l00213}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RLQ\+\_\+\+NONE}}, \mbox{\hyperlink{g__raid_8h_source_l00222}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RLQ\+\_\+\+R5\+LA}}, and \mbox{\hyperlink{md__promise_8c_source_l00050}{PROMISE\+\_\+\+MAX\+\_\+\+DISKS}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a70b54911e536ffa263b866d57b1563ed_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_ac220d0eb7fffab787703d6376bf2ece5}\label{md__promise_8c_ac220d0eb7fffab787703d6376bf2ece5}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_taste\_promise@{g\_raid\_md\_taste\_promise}}
\index{g\_raid\_md\_taste\_promise@{g\_raid\_md\_taste\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_taste\_promise()}{g\_raid\_md\_taste\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__class}{g\+\_\+class}} $\ast$}]{mp,  }\item[{struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$}]{cp,  }\item[{struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}} $\ast$$\ast$}]{gp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01098}{1098}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{geom_8h_source_l00181}{g\+\_\+consumer\+::flags}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{geom__subr_8c_source_l00944}{g\+\_\+access()}}, \mbox{\hyperlink{geom__subr_8c_source_l00889}{g\+\_\+attach()}}, \mbox{\hyperlink{geom_8h_source_l00185}{G\+\_\+\+CF\+\_\+\+DIRECT\+\_\+\+RECEIVE}}, \mbox{\hyperlink{geom__io_8c_source_l00284}{g\+\_\+io\+\_\+getattr()}}, \mbox{\hyperlink{geom__subr_8c_source_l00521}{g\+\_\+new\+\_\+consumer()}}, \mbox{\hyperlink{g__raid_8c_source_l00062}{g\+\_\+raid\+\_\+aggressive\+\_\+spare}}, \mbox{\hyperlink{g__raid_8c_source_l01971}{g\+\_\+raid\+\_\+create\+\_\+disk()}}, \mbox{\hyperlink{g__raid_8c_source_l01873}{g\+\_\+raid\+\_\+create\+\_\+node()}}, \mbox{\hyperlink{g__raid_8h_source_l00064}{G\+\_\+\+RAID\+\_\+\+DEBUG}}, \mbox{\hyperlink{g__raid_8c_source_l00498}{g\+\_\+raid\+\_\+get\+\_\+disk\+\_\+info()}}, \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00193}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+print()}}, \mbox{\hyperlink{g__raid__md__if_8m_a462421bd5367102456b64943db520823}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+TASTE\+\_\+\+EXISTING}}, \mbox{\hyperlink{g__raid__md__if_8m_ae3e40a1a8689841d6d6f54a441d53d43}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+TASTE\+\_\+\+FAIL}}, \mbox{\hyperlink{g__raid__md__if_8m_aa5340dcca98f524650a3aa3675073120}{G\+\_\+\+RAID\+\_\+\+MD\+\_\+\+TASTE\+\_\+\+NEW}}, \mbox{\hyperlink{geom_8h_source_l00389}{g\+\_\+topology\+\_\+lock}}, \mbox{\hyperlink{geom_8h_source_l00396}{g\+\_\+topology\+\_\+unlock}}, \mbox{\hyperlink{geom_8h_source_l00209}{g\+\_\+provider\+::geom}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{g__raid_8h_source_l00325}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+class}}, \mbox{\hyperlink{g__raid_8h_source_l00326}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+softc}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00103}{mp}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{g__part__if_8m_source_l00209}{name}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{geom_8h_source_l00190}{g\+\_\+consumer\+::private}}, \mbox{\hyperlink{md__promise_8c_source_l00058}{PROMISE\+\_\+\+F\+\_\+\+ASSIGNED}}, \mbox{\hyperlink{md__promise_8c_source_l00336}{promise\+\_\+meta\+\_\+read()}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, \mbox{\hyperlink{geom_8h_source_l00138}{g\+\_\+geom\+::rank}}, \mbox{\hyperlink{g__raid_8h_source_l00295}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+geom}}, \mbox{\hyperlink{g__raid_8h_source_l00299}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+lock}}, \mbox{\hyperlink{g__raid_8h_source_l00294}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+md}}, \mbox{\hyperlink{g__raid_8h_source_l00304}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+stopping}}, 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]{dd/d9b/md__promise_8c_ac220d0eb7fffab787703d6376bf2ece5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_ae435f408340dbdd6d677af2e25635e53}\label{md__promise_8c_ae435f408340dbdd6d677af2e25635e53}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_volume\_event\_promise@{g\_raid\_md\_volume\_event\_promise}}
\index{g\_raid\_md\_volume\_event\_promise@{g\_raid\_md\_volume\_event\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_volume\_event\_promise()}{g\_raid\_md\_volume\_event\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$}]{vol,  }\item[{u\+\_\+int}]{event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01244}{1244}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid__md__if_8m_source_l00130}{event}}, \mbox{\hyperlink{md__promise_8c_source_l00896}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start()}}, \mbox{\hyperlink{g__raid_8h_source_l00196}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+E\+\_\+\+STARTMD}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_ae435f408340dbdd6d677af2e25635e53_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a2503543e13587d8cc287200ec7b61209}\label{md__promise_8c_a2503543e13587d8cc287200ec7b61209}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_write\_promise@{g\_raid\_md\_write\_promise}}
\index{g\_raid\_md\_write\_promise@{g\_raid\_md\_write\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_write\_promise()}{g\_raid\_md\_write\_promise()}}
{\footnotesize\ttfamily static int g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__md__object}{g\+\_\+raid\+\_\+md\+\_\+object}} $\ast$}]{md,  }\item[{struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$}]{tvol,  }\item[{struct \mbox{\hyperlink{structg__raid__subdisk}{g\+\_\+raid\+\_\+subdisk}} $\ast$}]{tsd,  }\item[{struct \mbox{\hyperlink{structg__raid__disk}{g\+\_\+raid\+\_\+disk}} $\ast$}]{tdisk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l01696}{1696}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00113}{promise\+\_\+raid\+\_\+conf\+::array\+\_\+number}}, \mbox{\hyperlink{md__promise_8c_source_l00112}{promise\+\_\+raid\+\_\+conf\+::array\+\_\+width}}, \mbox{\hyperlink{md__promise_8c_source_l00115}{promise\+\_\+raid\+\_\+conf\+::cylinders}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00132}{disk}}, \mbox{\hyperlink{md__promise_8c_source_l00087}{promise\+\_\+raid\+\_\+conf\+::disk}}, \mbox{\hyperlink{md__promise_8c_source_l00088}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00090}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild}}, \mbox{\hyperlink{md__promise_8c_source_l00137}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00119}{promise\+\_\+raid\+\_\+conf\+::disks}}, \mbox{\hyperlink{md__promise_8c_source_l00076}{promise\+\_\+raid\+\_\+conf\+::dummy\+\_\+0}}, \mbox{\hyperlink{md__promise_8c_source_l00055}{promise\+\_\+raid\+\_\+disk\+::flags}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{g__raid_8h_source_l00064}{G\+\_\+\+RAID\+\_\+\+DEBUG}}, \mbox{\hyperlink{g__raid_8h_source_l00437}{G\+\_\+\+RAID\+\_\+\+DESTROY\+\_\+\+HARD}}, \mbox{\hyperlink{g__raid_8h_source_l00124}{G\+\_\+\+RAID\+\_\+\+DISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8c_source_l00489}{g\+\_\+raid\+\_\+get\+\_\+diskname()}}, \mbox{\hyperlink{md__promise_8c_source_l00193}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+print()}}, \mbox{\hyperlink{g__raid_8h_source_l00150}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+ACTIVE}}, \mbox{\hyperlink{g__raid_8h_source_l00144}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+FAILED}}, \mbox{\hyperlink{g__raid_8h_source_l00143}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+NONE}}, \mbox{\hyperlink{g__raid_8h_source_l00146}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+REBUILD}}, \mbox{\hyperlink{g__raid_8h_source_l00149}{G\+\_\+\+RAID\+\_\+\+SUBDISK\+\_\+\+S\+\_\+\+RESYNC}}, \mbox{\hyperlink{g__raid_8h_source_l00207}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+CONCAT}}, \mbox{\hyperlink{g__raid_8h_source_l00198}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID0}}, \mbox{\hyperlink{g__raid_8h_source_l00199}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1}}, \mbox{\hyperlink{g__raid_8h_source_l00205}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1E}}, \mbox{\hyperlink{g__raid_8h_source_l00200}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID3}}, \mbox{\hyperlink{g__raid_8h_source_l00202}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID5}}, \mbox{\hyperlink{g__raid_8h_source_l00206}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+SINGLE}}, \mbox{\hyperlink{g__raid_8h_source_l00182}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+S\+\_\+\+DEGRADED}}, \mbox{\hyperlink{md__promise_8c_source_l00091}{promise\+\_\+raid\+\_\+conf\+::generation}}, \mbox{\hyperlink{md__promise_8c_source_l00116}{promise\+\_\+raid\+\_\+conf\+::heads}}, \mbox{\hyperlink{md__promise_8c_source_l00084}{promise\+\_\+raid\+\_\+conf\+::integrity}}, \mbox{\hyperlink{md__promise_8c_source_l00124}{promise\+\_\+raid\+\_\+conf\+::magic\+\_\+3}}, \mbox{\hyperlink{md__promise_8c_source_l00126}{promise\+\_\+raid\+\_\+conf\+::magic\+\_\+4}}, \mbox{\hyperlink{g__raid_8h_source_l00326}{g\+\_\+raid\+\_\+md\+\_\+object\+::mdo\+\_\+softc}}, \mbox{\hyperlink{md__promise_8c_source_l00065}{promise\+\_\+raid\+\_\+disk\+::number}}, \mbox{\hyperlink{md__promise_8c_source_l00147}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00146}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+subdisks}}, \mbox{\hyperlink{md__promise_8c_source_l00145}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+perdisk\+::pd\+\_\+updated}}, \mbox{\hyperlink{md__promise_8c_source_l00058}{PROMISE\+\_\+\+F\+\_\+\+ASSIGNED}}, \mbox{\hyperlink{md__promise_8c_source_l00062}{PROMISE\+\_\+\+F\+\_\+\+DOWN}}, \mbox{\hyperlink{md__promise_8c_source_l00057}{PROMISE\+\_\+\+F\+\_\+\+ONLINE}}, \mbox{\hyperlink{md__promise_8c_source_l00061}{PROMISE\+\_\+\+F\+\_\+\+REDIR}}, \mbox{\hyperlink{md__promise_8c_source_l00056}{PROMISE\+\_\+\+F\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00085}{PROMISE\+\_\+\+I\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00072}{promise\+\_\+raid\+\_\+conf\+::promise\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00073}{PROMISE\+\_\+\+MAGIC}}, \mbox{\hyperlink{md__promise_8c_source_l00242}{promise\+\_\+meta\+\_\+copy()}}, \mbox{\hyperlink{md__promise_8c_source_l00328}{promise\+\_\+meta\+\_\+put\+\_\+name()}}, \mbox{\hyperlink{md__promise_8c_source_l00300}{promise\+\_\+meta\+\_\+translate\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00431}{promise\+\_\+meta\+\_\+write()}}, \mbox{\hyperlink{md__promise_8c_source_l00097}{PROMISE\+\_\+\+S\+\_\+\+DEGRADED}}, \mbox{\hyperlink{md__promise_8c_source_l00095}{PROMISE\+\_\+\+S\+\_\+\+INITED}}, \mbox{\hyperlink{md__promise_8c_source_l00098}{PROMISE\+\_\+\+S\+\_\+\+MARKED}}, \mbox{\hyperlink{md__promise_8c_source_l00094}{PROMISE\+\_\+\+S\+\_\+\+ONLINE}}, \mbox{\hyperlink{md__promise_8c_source_l00096}{PROMISE\+\_\+\+S\+\_\+\+READY}}, \mbox{\hyperlink{md__promise_8c_source_l00093}{PROMISE\+\_\+\+S\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00108}{PROMISE\+\_\+\+T\+\_\+\+JBOD}}, \mbox{\hyperlink{md__promise_8c_source_l00103}{PROMISE\+\_\+\+T\+\_\+\+RAID0}}, \mbox{\hyperlink{md__promise_8c_source_l00104}{PROMISE\+\_\+\+T\+\_\+\+RAID1}}, \mbox{\hyperlink{md__promise_8c_source_l00105}{PROMISE\+\_\+\+T\+\_\+\+RAID3}}, \mbox{\hyperlink{md__promise_8c_source_l00106}{PROMISE\+\_\+\+T\+\_\+\+RAID5}}, \mbox{\hyperlink{md__promise_8c_source_l00107}{PROMISE\+\_\+\+T\+\_\+\+SPAN}}, \mbox{\hyperlink{md__promise_8c_source_l00153}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+generation}}, \mbox{\hyperlink{md__promise_8c_source_l00152}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00151}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+meta}}, \mbox{\hyperlink{md__promise_8c_source_l00125}{promise\+\_\+raid\+\_\+conf\+::rebuild\+\_\+lba64}}, \mbox{\hyperlink{g__raid_8h_source_l00304}{g\+\_\+raid\+\_\+softc\+::sc\+\_\+stopping}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00147}{sd}}, \mbox{\hyperlink{g__raid_8h_source_l00166}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+disk}}, \mbox{\hyperlink{g__raid_8h_source_l00168}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+offset}}, \mbox{\hyperlink{g__raid_8h_source_l00172}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+rebuild\+\_\+pos}}, \mbox{\hyperlink{g__raid_8h_source_l00169}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+size}}, \mbox{\hyperlink{g__raid_8h_source_l00171}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+state}}, \mbox{\hyperlink{g__raid_8h_source_l00167}{g\+\_\+raid\+\_\+subdisk\+::sd\+\_\+volume}}, \mbox{\hyperlink{md__promise_8c_source_l00130}{promise\+\_\+raid\+\_\+conf\+::sector\+\_\+size}}, \mbox{\hyperlink{md__promise_8c_source_l00117}{promise\+\_\+raid\+\_\+conf\+::sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00092}{promise\+\_\+raid\+\_\+conf\+::status}}, \mbox{\hyperlink{md__promise_8c_source_l00111}{promise\+\_\+raid\+\_\+conf\+::stripe\+\_\+shift}}, \mbox{\hyperlink{md__promise_8c_source_l00110}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+disks}}, \mbox{\hyperlink{md__promise_8c_source_l00114}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00128}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00102}{promise\+\_\+raid\+\_\+conf\+::type}}, \mbox{\hyperlink{g__raid_8h_source_l00276}{g\+\_\+raid\+\_\+volume\+::v\+\_\+dirty}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00284}{g\+\_\+raid\+\_\+volume\+::v\+\_\+global\+\_\+id}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00271}{g\+\_\+raid\+\_\+volume\+::v\+\_\+mediasize}}, \mbox{\hyperlink{g__raid_8h_source_l00257}{g\+\_\+raid\+\_\+volume\+::v\+\_\+name}}, \mbox{\hyperlink{g__raid_8h_source_l00260}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level}}, \mbox{\hyperlink{g__raid_8h_source_l00270}{g\+\_\+raid\+\_\+volume\+::v\+\_\+sectorsize}}, \mbox{\hyperlink{g__raid_8h_source_l00259}{g\+\_\+raid\+\_\+volume\+::v\+\_\+state}}, \mbox{\hyperlink{g__raid_8h_source_l00282}{g\+\_\+raid\+\_\+volume\+::v\+\_\+stopping}}, \mbox{\hyperlink{g__raid_8h_source_l00267}{g\+\_\+raid\+\_\+volume\+::v\+\_\+strip\+\_\+size}}, \mbox{\hyperlink{g__raid_8h_source_l00253}{g\+\_\+raid\+\_\+volume\+::v\+\_\+subdisks}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a2503543e13587d8cc287200ec7b61209_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_ad46291bd73b6e20369e072094b4e0b69}\label{md__promise_8c_ad46291bd73b6e20369e072094b4e0b69}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_promise\_go@{g\_raid\_promise\_go}}
\index{g\_raid\_promise\_go@{g\_raid\_promise\_go}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_promise\_go()}{g\_raid\_promise\_go()}}
{\footnotesize\ttfamily static void g\+\_\+raid\+\_\+promise\+\_\+go (\begin{DoxyParamCaption}\item[{void $\ast$}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00968}{968}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid_8h_source_l00066}{G\+\_\+\+RAID\+\_\+\+DEBUG1}}, \mbox{\hyperlink{g__raid_8c_source_l00614}{g\+\_\+raid\+\_\+event\+\_\+send()}}, \mbox{\hyperlink{g__raid_8h_source_l00106}{G\+\_\+\+RAID\+\_\+\+EVENT\+\_\+\+VOLUME}}, \mbox{\hyperlink{g__raid_8h_source_l00196}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+E\+\_\+\+STARTMD}}, \mbox{\hyperlink{md__promise_8c_source_l00155}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+pervolume\+::pv\+\_\+started}}, \mbox{\hyperlink{g__raid_8h_source_l00255}{g\+\_\+raid\+\_\+volume\+::v\+\_\+md\+\_\+data}}, \mbox{\hyperlink{g__raid_8h_source_l00251}{g\+\_\+raid\+\_\+volume\+::v\+\_\+softc}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_ad46291bd73b6e20369e072094b4e0b69_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_ad46291bd73b6e20369e072094b4e0b69_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a1282c78ceea4c7415b77efba7262cbac}\label{md__promise_8c_a1282c78ceea4c7415b77efba7262cbac}} 
\index{md\_promise.c@{md\_promise.c}!MALLOC\_DEFINE@{MALLOC\_DEFINE}}
\index{MALLOC\_DEFINE@{MALLOC\_DEFINE}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{MALLOC\_DEFINE()}{MALLOC\_DEFINE()}}
{\footnotesize\ttfamily static MALLOC\+\_\+\+DEFINE (\begin{DoxyParamCaption}\item[{M\+\_\+\+MD\+\_\+\+PROMISE}]{,  }\item[{\char`\"{}md\+\_\+promise\+\_\+data\char`\"{}}]{,  }\item[{\char`\"{}GEOM\+\_\+\+RAID Promise metadata\char`\"{}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{md__promise_8c_a0e997a4fd6d7be64d723864e1bc69aed}\label{md__promise_8c_a0e997a4fd6d7be64d723864e1bc69aed}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_copy@{promise\_meta\_copy}}
\index{promise\_meta\_copy@{promise\_meta\_copy}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_copy()}{promise\_meta\_copy()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$ promise\+\_\+meta\+\_\+copy (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$}]{meta }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00242}{242}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, and \mbox{\hyperlink{md__promise_8c_source_l01696}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a0e997a4fd6d7be64d723864e1bc69aed_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a313b2317debd09249a3cfb3b0697b87e}\label{md__promise_8c_a313b2317debd09249a3cfb3b0697b87e}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_erase@{promise\_meta\_erase}}
\index{promise\_meta\_erase@{promise\_meta\_erase}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_erase()}{promise\_meta\_erase()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+erase (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$}]{cp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00494}{494}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{geom_8h_source_l00212}{g\+\_\+provider\+::error}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{g__raid_8h_source_l00064}{G\+\_\+\+RAID\+\_\+\+DEBUG}}, \mbox{\hyperlink{geom__io_8c_source_l00928}{g\+\_\+write\+\_\+data()}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{md__promise_8c_source_l00051}{PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00052}{PROMISE\+\_\+\+META\+\_\+\+OFFSET}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, and \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}, and \mbox{\hyperlink{md__promise_8c_source_l00578}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+purge\+\_\+disks()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a313b2317debd09249a3cfb3b0697b87e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a313b2317debd09249a3cfb3b0697b87e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a6ef59af68b8cc76c1b2ca32836d08c78}\label{md__promise_8c_a6ef59af68b8cc76c1b2ca32836d08c78}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_find\_disk@{promise\_meta\_find\_disk}}
\index{promise\_meta\_find\_disk@{promise\_meta\_find\_disk}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_find\_disk()}{promise\_meta\_find\_disk()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+find\+\_\+disk (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$}]{meta,  }\item[{uint64\+\_\+t}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00252}{252}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00119}{promise\+\_\+raid\+\_\+conf\+::disks}}, and \mbox{\hyperlink{md__promise_8c_source_l00110}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+disks}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00667}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a6ef59af68b8cc76c1b2ca32836d08c78_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_ab1c86b805bb9e87a864967f50af774de}\label{md__promise_8c_ab1c86b805bb9e87a864967f50af774de}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_get\_name@{promise\_meta\_get\_name}}
\index{promise\_meta\_get\_name@{promise\_meta\_get\_name}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_get\_name()}{promise\_meta\_get\_name()}}
{\footnotesize\ttfamily static void promise\+\_\+meta\+\_\+get\+\_\+name (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$}]{meta,  }\item[{char $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00314}{314}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, and \mbox{\hyperlink{md__promise_8c_source_l00121}{promise\+\_\+raid\+\_\+conf\+::name}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_ab1c86b805bb9e87a864967f50af774de_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a22407168babfbed0f7893dd05df93d2a}\label{md__promise_8c_a22407168babfbed0f7893dd05df93d2a}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_put\_name@{promise\_meta\_put\_name}}
\index{promise\_meta\_put\_name@{promise\_meta\_put\_name}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_put\_name()}{promise\_meta\_put\_name()}}
{\footnotesize\ttfamily static void promise\+\_\+meta\+\_\+put\+\_\+name (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$}]{meta,  }\item[{char $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00328}{328}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, and \mbox{\hyperlink{md__promise_8c_source_l00121}{promise\+\_\+raid\+\_\+conf\+::name}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01696}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a22407168babfbed0f7893dd05df93d2a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a83d8a8fa64db01a2e4c75914e9e29013}\label{md__promise_8c_a83d8a8fa64db01a2e4c75914e9e29013}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_read@{promise\_meta\_read}}
\index{promise\_meta\_read@{promise\_meta\_read}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_read()}{promise\_meta\_read()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+read (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$}]{cp,  }\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$$\ast$}]{metaarr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00336}{336}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00133}{promise\+\_\+raid\+\_\+conf\+::backup\+\_\+time}}, \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, \mbox{\hyperlink{md__promise_8c_source_l00141}{promise\+\_\+raid\+\_\+conf\+::checksum}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00090}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild}}, \mbox{\hyperlink{md__promise_8c_source_l00137}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{md__promise_8c_source_l00074}{FREEBSD\+\_\+\+MAGIC}}, \mbox{\hyperlink{geom_8h_source_l00376}{g\+\_\+free()}}, \mbox{\hyperlink{g__raid_8h_source_l00064}{G\+\_\+\+RAID\+\_\+\+DEBUG}}, \mbox{\hyperlink{geom__io_8c_source_l00870}{g\+\_\+read\+\_\+data()}}, \mbox{\hyperlink{md__promise_8c_source_l00084}{promise\+\_\+raid\+\_\+conf\+::integrity}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{md__promise_8c_source_l00085}{PROMISE\+\_\+\+I\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00072}{promise\+\_\+raid\+\_\+conf\+::promise\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00073}{PROMISE\+\_\+\+MAGIC}}, \mbox{\hyperlink{md__promise_8c_source_l00050}{PROMISE\+\_\+\+MAX\+\_\+\+DISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00051}{PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00052}{PROMISE\+\_\+\+META\+\_\+\+OFFSET}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, \mbox{\hyperlink{md__promise_8c_source_l00125}{promise\+\_\+raid\+\_\+conf\+::rebuild\+\_\+lba64}}, \mbox{\hyperlink{md__promise_8c_source_l00130}{promise\+\_\+raid\+\_\+conf\+::sector\+\_\+size}}, \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}, \mbox{\hyperlink{md__promise_8c_source_l00110}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+disks}}, and \mbox{\hyperlink{md__promise_8c_source_l00128}{promise\+\_\+raid\+\_\+conf\+::total\+\_\+sectors\+\_\+high}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01098}{g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a83d8a8fa64db01a2e4c75914e9e29013_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a83d8a8fa64db01a2e4c75914e9e29013_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_ae78c674b460edb2aa59af8ec82bf15f6}\label{md__promise_8c_ae78c674b460edb2aa59af8ec82bf15f6}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_translate\_disk@{promise\_meta\_translate\_disk}}
\index{promise\_meta\_translate\_disk@{promise\_meta\_translate\_disk}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_translate\_disk()}{promise\_meta\_translate\_disk()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+translate\+\_\+disk (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__raid__volume}{g\+\_\+raid\+\_\+volume}} $\ast$}]{vol,  }\item[{int}]{md\+\_\+disk\+\_\+pos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00300}{300}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__raid_8h_source_l00205}{G\+\_\+\+RAID\+\_\+\+VOLUME\+\_\+\+RL\+\_\+\+RAID1E}}, \mbox{\hyperlink{g__raid_8h_source_l00262}{g\+\_\+raid\+\_\+volume\+::v\+\_\+disks\+\_\+count}}, \mbox{\hyperlink{g__raid_8h_source_l00260}{g\+\_\+raid\+\_\+volume\+::v\+\_\+raid\+\_\+level}}, and \mbox{\hyperlink{g__raid__md__if_8m_source_l00139}{vol}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l00667}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk()}}, and \mbox{\hyperlink{md__promise_8c_source_l01696}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_ae78c674b460edb2aa59af8ec82bf15f6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_aecb311da502fea619e83c249c483e0c2}\label{md__promise_8c_aecb311da502fea619e83c249c483e0c2}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_unused\_range@{promise\_meta\_unused\_range}}
\index{promise\_meta\_unused\_range@{promise\_meta\_unused\_range}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_unused\_range()}{promise\_meta\_unused\_range()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+unused\+\_\+range (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$$\ast$}]{metaarr,  }\item[{int}]{nsd,  }\item[{off\+\_\+t}]{sectors,  }\item[{off\+\_\+t $\ast$}]{off,  }\item[{off\+\_\+t $\ast$}]{size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00264}{264}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{md__promise_8c_source_l00088}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, and \mbox{\hyperlink{md__promise_8c_source_l00117}{promise\+\_\+raid\+\_\+conf\+::sectors}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l00667}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start\+\_\+disk()}}, and \mbox{\hyperlink{md__promise_8c_source_l00431}{promise\+\_\+meta\+\_\+write()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_aecb311da502fea619e83c249c483e0c2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_a6707745e52b7e36ab54cda898768c4f8}\label{md__promise_8c_a6707745e52b7e36ab54cda898768c4f8}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_write@{promise\_meta\_write}}
\index{promise\_meta\_write@{promise\_meta\_write}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_write()}{promise\_meta\_write()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+write (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$}]{cp,  }\item[{struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} $\ast$$\ast$}]{metaarr,  }\item[{int}]{nsd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00431}{431}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, \mbox{\hyperlink{md__promise_8c_source_l00141}{promise\+\_\+raid\+\_\+conf\+::checksum}}, \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{md__promise_8c_source_l00087}{promise\+\_\+raid\+\_\+conf\+::disk}}, \mbox{\hyperlink{md__promise_8c_source_l00088}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset}}, \mbox{\hyperlink{md__promise_8c_source_l00135}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+offset\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00090}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild}}, \mbox{\hyperlink{md__promise_8c_source_l00137}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00076}{promise\+\_\+raid\+\_\+conf\+::dummy\+\_\+0}}, \mbox{\hyperlink{md__promise_8c_source_l00055}{promise\+\_\+raid\+\_\+disk\+::flags}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{g__raid_8h_source_l00064}{G\+\_\+\+RAID\+\_\+\+DEBUG}}, \mbox{\hyperlink{geom__io_8c_source_l00928}{g\+\_\+write\+\_\+data()}}, \mbox{\hyperlink{md__promise_8c_source_l00084}{promise\+\_\+raid\+\_\+conf\+::integrity}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{geom_8h_source_l00207}{g\+\_\+provider\+::name}}, \mbox{\hyperlink{md__promise_8c_source_l00065}{promise\+\_\+raid\+\_\+disk\+::number}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{md__promise_8c_source_l00057}{PROMISE\+\_\+\+F\+\_\+\+ONLINE}}, \mbox{\hyperlink{md__promise_8c_source_l00056}{PROMISE\+\_\+\+F\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00085}{PROMISE\+\_\+\+I\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00072}{promise\+\_\+raid\+\_\+conf\+::promise\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00073}{PROMISE\+\_\+\+MAGIC}}, \mbox{\hyperlink{md__promise_8c_source_l00051}{PROMISE\+\_\+\+MAX\+\_\+\+SUBDISKS}}, \mbox{\hyperlink{md__promise_8c_source_l00052}{PROMISE\+\_\+\+META\+\_\+\+OFFSET}}, \mbox{\hyperlink{md__promise_8c_source_l00264}{promise\+\_\+meta\+\_\+unused\+\_\+range()}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, and \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01908}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l01696}{g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise()}}, and \mbox{\hyperlink{md__promise_8c_source_l00516}{promise\+\_\+meta\+\_\+write\+\_\+spare()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a6707745e52b7e36ab54cda898768c4f8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_a6707745e52b7e36ab54cda898768c4f8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{md__promise_8c_aaca73179df3140e5d531d7c76e8db9f2}\label{md__promise_8c_aaca73179df3140e5d531d7c76e8db9f2}} 
\index{md\_promise.c@{md\_promise.c}!promise\_meta\_write\_spare@{promise\_meta\_write\_spare}}
\index{promise\_meta\_write\_spare@{promise\_meta\_write\_spare}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{promise\_meta\_write\_spare()}{promise\_meta\_write\_spare()}}
{\footnotesize\ttfamily static int promise\+\_\+meta\+\_\+write\+\_\+spare (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$}]{cp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00516}{516}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00233}{cp}}, \mbox{\hyperlink{md__promise_8c_source_l00087}{promise\+\_\+raid\+\_\+conf\+::disk}}, \mbox{\hyperlink{md__promise_8c_source_l00090}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild}}, \mbox{\hyperlink{md__promise_8c_source_l00137}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+rebuild\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00089}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors}}, \mbox{\hyperlink{md__promise_8c_source_l00136}{promise\+\_\+raid\+\_\+conf\+::disk\+\_\+sectors\+\_\+high}}, \mbox{\hyperlink{md__promise_8c_source_l00076}{promise\+\_\+raid\+\_\+conf\+::dummy\+\_\+0}}, \mbox{\hyperlink{md__promise_8c_source_l00055}{promise\+\_\+raid\+\_\+disk\+::flags}}, \mbox{\hyperlink{g__raid__md__if_8m_source_l00171}{free}}, \mbox{\hyperlink{md__promise_8c_source_l00084}{promise\+\_\+raid\+\_\+conf\+::integrity}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{md__promise_8c_source_l00065}{promise\+\_\+raid\+\_\+disk\+::number}}, \mbox{\hyperlink{md__promise_8c_source_l00057}{PROMISE\+\_\+\+F\+\_\+\+ONLINE}}, \mbox{\hyperlink{md__promise_8c_source_l00059}{PROMISE\+\_\+\+F\+\_\+\+SPARE}}, \mbox{\hyperlink{md__promise_8c_source_l00056}{PROMISE\+\_\+\+F\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00085}{PROMISE\+\_\+\+I\+\_\+\+VALID}}, \mbox{\hyperlink{md__promise_8c_source_l00072}{promise\+\_\+raid\+\_\+conf\+::promise\+\_\+id}}, \mbox{\hyperlink{md__promise_8c_source_l00073}{PROMISE\+\_\+\+MAGIC}}, \mbox{\hyperlink{md__promise_8c_source_l00431}{promise\+\_\+meta\+\_\+write()}}, \mbox{\hyperlink{geom_8h_source_l00178}{g\+\_\+consumer\+::provider}}, and \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_aaca73179df3140e5d531d7c76e8db9f2_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d9b/md__promise_8c_aaca73179df3140e5d531d7c76e8db9f2_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{md__promise_8c_a9da00a1c85e29640b43e72e814ff687a}\label{md__promise_8c_a9da00a1c85e29640b43e72e814ff687a}} 
\index{md\_promise.c@{md\_promise.c}!\_\_packed@{\_\_packed}}
\index{\_\_packed@{\_\_packed}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{\_\_packed}{\_\_packed}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structpromise__raid__conf}{promise\+\_\+raid\+\_\+conf}} \+\_\+\+\_\+packed}

\mbox{\Hypertarget{md__promise_8c_a17e455a67782328d7cce25522a1538cb}\label{md__promise_8c_a17e455a67782328d7cce25522a1538cb}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_create\_promise@{g\_raid\_md\_create\_promise}}
\index{g\_raid\_md\_create\_promise@{g\_raid\_md\_create\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_create\_promise}{g\_raid\_md\_create\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+create\+\_\+t g\+\_\+raid\+\_\+md\+\_\+create\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00159}{159}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a9010499762f52acd716141d483b9c2b8}\label{md__promise_8c_a9010499762f52acd716141d483b9c2b8}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_ctl\_promise@{g\_raid\_md\_ctl\_promise}}
\index{g\_raid\_md\_ctl\_promise@{g\_raid\_md\_ctl\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_ctl\_promise}{g\_raid\_md\_ctl\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+t g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00163}{163}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a297a1874012686e4504431289c642268}\label{md__promise_8c_a297a1874012686e4504431289c642268}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_event\_promise@{g\_raid\_md\_event\_promise}}
\index{g\_raid\_md\_event\_promise@{g\_raid\_md\_event\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_event\_promise}{g\_raid\_md\_event\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+event\+\_\+t g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00161}{161}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a9c2c5b4a6166ec33c5b3469c58692be0}\label{md__promise_8c_a9c2c5b4a6166ec33c5b3469c58692be0}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_fail\_disk\_promise@{g\_raid\_md\_fail\_disk\_promise}}
\index{g\_raid\_md\_fail\_disk\_promise@{g\_raid\_md\_fail\_disk\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_fail\_disk\_promise}{g\_raid\_md\_fail\_disk\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+t g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00165}{165}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}.

\mbox{\Hypertarget{md__promise_8c_a3c8423b7d0228bda25c1a262c24db1e9}\label{md__promise_8c_a3c8423b7d0228bda25c1a262c24db1e9}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_free\_disk\_promise@{g\_raid\_md\_free\_disk\_promise}}
\index{g\_raid\_md\_free\_disk\_promise@{g\_raid\_md\_free\_disk\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_free\_disk\_promise}{g\_raid\_md\_free\_disk\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+free\+\_\+disk\+\_\+t g\+\_\+raid\+\_\+md\+\_\+free\+\_\+disk\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00166}{166}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_afe12d0e175b23122f5362748008d044f}\label{md__promise_8c_afe12d0e175b23122f5362748008d044f}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_free\_promise@{g\_raid\_md\_free\_promise}}
\index{g\_raid\_md\_free\_promise@{g\_raid\_md\_free\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_free\_promise}{g\_raid\_md\_free\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+free\+\_\+t g\+\_\+raid\+\_\+md\+\_\+free\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00168}{168}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aeb9a5fa31424ef3bf4212b3a9cc9cbfc}\label{md__promise_8c_aeb9a5fa31424ef3bf4212b3a9cc9cbfc}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_free\_volume\_promise@{g\_raid\_md\_free\_volume\_promise}}
\index{g\_raid\_md\_free\_volume\_promise@{g\_raid\_md\_free\_volume\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_free\_volume\_promise}{g\_raid\_md\_free\_volume\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+free\+\_\+volume\+\_\+t g\+\_\+raid\+\_\+md\+\_\+free\+\_\+volume\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00167}{167}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aaf13f2599af4d1d974965d7b400f7fff}\label{md__promise_8c_aaf13f2599af4d1d974965d7b400f7fff}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_class@{g\_raid\_md\_promise\_class}}
\index{g\_raid\_md\_promise\_class@{g\_raid\_md\_promise\_class}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_class}{g\_raid\_md\_promise\_class}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structg__raid__md__class}{g\+\_\+raid\+\_\+md\+\_\+class}} g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+class\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}Promise"{}},}
\DoxyCodeLine{        \mbox{\hyperlink{md__promise_8c_a53f1e936e6ed021cbd45afe85d5839b6}{g\_raid\_md\_promise\_methods}},}
\DoxyCodeLine{        \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structg__raid__md__object}{g\_raid\_md\_object}}),}
\DoxyCodeLine{        .mdc\_enable = 1,}
\DoxyCodeLine{        .mdc\_priority = 100}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{md__promise_8c_source_l00184}{184}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_a53f1e936e6ed021cbd45afe85d5839b6}\label{md__promise_8c_a53f1e936e6ed021cbd45afe85d5839b6}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_promise\_methods@{g\_raid\_md\_promise\_methods}}
\index{g\_raid\_md\_promise\_methods@{g\_raid\_md\_promise\_methods}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_promise\_methods}{g\_raid\_md\_promise\_methods}}
{\footnotesize\ttfamily kobj\+\_\+method\+\_\+t g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_create,    \mbox{\hyperlink{md__promise_8c_a17e455a67782328d7cce25522a1538cb}{g\_raid\_md\_create\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_taste,     \mbox{\hyperlink{md__promise_8c_af0c5d4a1a757fc2e2f9eb804ff105c10}{g\_raid\_md\_taste\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_event,     \mbox{\hyperlink{md__promise_8c_a297a1874012686e4504431289c642268}{g\_raid\_md\_event\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_volume\_event,      \mbox{\hyperlink{md__promise_8c_aece57ece2029e92483664415f94eb9b5}{g\_raid\_md\_volume\_event\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_ctl,       \mbox{\hyperlink{md__promise_8c_a9010499762f52acd716141d483b9c2b8}{g\_raid\_md\_ctl\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_write,     \mbox{\hyperlink{md__promise_8c_aa84eb5d0f9c789e4d981e01fbababb63}{g\_raid\_md\_write\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_fail\_disk, \mbox{\hyperlink{md__promise_8c_a9c2c5b4a6166ec33c5b3469c58692be0}{g\_raid\_md\_fail\_disk\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_free\_disk, \mbox{\hyperlink{md__promise_8c_a3c8423b7d0228bda25c1a262c24db1e9}{g\_raid\_md\_free\_disk\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_free\_volume,       \mbox{\hyperlink{md__promise_8c_aeb9a5fa31424ef3bf4212b3a9cc9cbfc}{g\_raid\_md\_free\_volume\_promise}}),}
\DoxyCodeLine{        KOBJMETHOD(g\_raid\_md\_free,      \mbox{\hyperlink{md__promise_8c_afe12d0e175b23122f5362748008d044f}{g\_raid\_md\_free\_promise}}),}
\DoxyCodeLine{        \{ 0, 0 \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{md__promise_8c_source_l00170}{170}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_af0c5d4a1a757fc2e2f9eb804ff105c10}\label{md__promise_8c_af0c5d4a1a757fc2e2f9eb804ff105c10}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_taste\_promise@{g\_raid\_md\_taste\_promise}}
\index{g\_raid\_md\_taste\_promise@{g\_raid\_md\_taste\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_taste\_promise}{g\_raid\_md\_taste\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+t g\+\_\+raid\+\_\+md\+\_\+taste\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00160}{160}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aece57ece2029e92483664415f94eb9b5}\label{md__promise_8c_aece57ece2029e92483664415f94eb9b5}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_volume\_event\_promise@{g\_raid\_md\_volume\_event\_promise}}
\index{g\_raid\_md\_volume\_event\_promise@{g\_raid\_md\_volume\_event\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_volume\_event\_promise}{g\_raid\_md\_volume\_event\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+t g\+\_\+raid\+\_\+md\+\_\+volume\+\_\+event\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00162}{162}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.

\mbox{\Hypertarget{md__promise_8c_aa84eb5d0f9c789e4d981e01fbababb63}\label{md__promise_8c_aa84eb5d0f9c789e4d981e01fbababb63}} 
\index{md\_promise.c@{md\_promise.c}!g\_raid\_md\_write\_promise@{g\_raid\_md\_write\_promise}}
\index{g\_raid\_md\_write\_promise@{g\_raid\_md\_write\_promise}!md\_promise.c@{md\_promise.c}}
\doxysubsubsection{\texorpdfstring{g\_raid\_md\_write\_promise}{g\_raid\_md\_write\_promise}}
{\footnotesize\ttfamily g\+\_\+raid\+\_\+md\+\_\+write\+\_\+t g\+\_\+raid\+\_\+md\+\_\+write\+\_\+promise\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{md__promise_8c_source_l00164}{164}} of file \mbox{\hyperlink{md__promise_8c_source}{md\+\_\+promise.\+c}}.



Referenced by \mbox{\hyperlink{md__promise_8c_source_l01260}{g\+\_\+raid\+\_\+md\+\_\+ctl\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l01215}{g\+\_\+raid\+\_\+md\+\_\+event\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l01908}{g\+\_\+raid\+\_\+md\+\_\+fail\+\_\+disk\+\_\+promise()}}, \mbox{\hyperlink{md__promise_8c_source_l00985}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+new\+\_\+disk()}}, \mbox{\hyperlink{md__promise_8c_source_l00832}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+refill()}}, and \mbox{\hyperlink{md__promise_8c_source_l00896}{g\+\_\+raid\+\_\+md\+\_\+promise\+\_\+start()}}.

