\hypertarget{g__part_8c_source}{}\doxysection{g\+\_\+part.\+c}
\label{g__part_8c_source}\index{geom/part/g\_part.c@{geom/part/g\_part.c}}
\mbox{\hyperlink{g__part_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2002, 2005-\/2009 Marcel Moolenaar}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00005}00005 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00010}00010 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00011}00011 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00012}00012 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00013}00013 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00014}00014 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00015}00015 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00016}00016 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00017}00017 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00019}00019 \textcolor{comment}{ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00020}00020 \textcolor{comment}{ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00021}00021 \textcolor{comment}{ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00022}00022 \textcolor{comment}{ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00023}00023 \textcolor{comment}{ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00024}00024 \textcolor{comment}{ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00025}00025 \textcolor{comment}{ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00026}00026 \textcolor{comment}{ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00029}00029 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00030}\mbox{\hyperlink{g__part_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00030}} \mbox{\hyperlink{g__part_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00031}00031 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <sys/bio.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/endian.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/kobj.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/limits.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00039}00039 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/sbuf.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/uuid.h>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{geom_8h}{geom/geom.h}}>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{geom__ctl_8h}{geom/geom\_ctl.h}}>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{geom__int_8h}{geom/geom\_int.h}}>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{g__part_8h}{geom/part/g\_part.h}}>}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00051}00051 \textcolor{preprocessor}{\#include "{}g\_part\_if.h"{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00053}\mbox{\hyperlink{g__part_8c_adec5567743b3e53634dd3222f279a4d5}{00053}} \textcolor{keyword}{static} kobj\_method\_t \mbox{\hyperlink{g__part_8c_adec5567743b3e53634dd3222f279a4d5}{g\_part\_null\_methods}}[] = \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00054}00054         \{ 0, 0 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00055}00055 \};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00056}00056 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00057}\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{00057}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} \mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}} = \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00058}00058         \textcolor{stringliteral}{"{}(none)"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00059}00059         \mbox{\hyperlink{g__part_8c_adec5567743b3e53634dd3222f279a4d5}{g\_part\_null\_methods}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00060}00060         \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}}),}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00061}00061 \};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00062}00062 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00063}\mbox{\hyperlink{g__part_8c_ab69844b1ee060a996d598dda1fa9167a}{00063}} \mbox{\hyperlink{g__part_8c_ab69844b1ee060a996d598dda1fa9167a}{TAILQ\_HEAD}}(, \mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}}) g\_part\_schemes =}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00064}00064     TAILQ\_HEAD\_INITIALIZER(g\_part\_schemes);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00066}00066 \textcolor{keyword}{struct }\mbox{\hyperlink{g__part_8c_a4405f7693637eb442454d035c4abc5bb}{g\_part\_alias\_list}} \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00067}00067         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *lexeme;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00068}00068         \textcolor{keyword}{enum} \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fb}{g\_part\_alias}} alias;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00069}\mbox{\hyperlink{g__part_8c_a4405f7693637eb442454d035c4abc5bb}{00069}} \} \mbox{\hyperlink{g__part_8c_a4405f7693637eb442454d035c4abc5bb}{g\_part\_alias\_list}}[\mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbafaf6b6588c4e453c64aef3de1dadbd72}{G\_PART\_ALIAS\_COUNT}}] = \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00070}00070         \{ \textcolor{stringliteral}{"{}apple-\/apfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbafb9934ca1bcbf05e0fcbc46e46bedf9a}{G\_PART\_ALIAS\_APPLE\_APFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00071}00071         \{ \textcolor{stringliteral}{"{}apple-\/boot"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba92aedc55399b87044ce2d08c49b52e32}{G\_PART\_ALIAS\_APPLE\_BOOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00072}00072         \{ \textcolor{stringliteral}{"{}apple-\/core-\/storage"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba00dc32bf68eb2616e3ce8e02957f7dc3}{G\_PART\_ALIAS\_APPLE\_CORE\_STORAGE}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00073}00073         \{ \textcolor{stringliteral}{"{}apple-\/hfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbadb95a5e2b53c2c685075ca2228253d55}{G\_PART\_ALIAS\_APPLE\_HFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00074}00074         \{ \textcolor{stringliteral}{"{}apple-\/label"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbae26f85c78b2aebc1122f47dc218f685e}{G\_PART\_ALIAS\_APPLE\_LABEL}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00075}00075         \{ \textcolor{stringliteral}{"{}apple-\/raid"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba50dba36e7be853d51e827bd73197c5ab}{G\_PART\_ALIAS\_APPLE\_RAID}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00076}00076         \{ \textcolor{stringliteral}{"{}apple-\/raid-\/offline"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbada04a22139c8bda1cadcce6cbdd5725f}{G\_PART\_ALIAS\_APPLE\_RAID\_OFFLINE}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00077}00077         \{ \textcolor{stringliteral}{"{}apple-\/tv-\/recovery"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbab37a8e1f0c1f370106cd88ba2fcc9ff7}{G\_PART\_ALIAS\_APPLE\_TV\_RECOVERY}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00078}00078         \{ \textcolor{stringliteral}{"{}apple-\/ufs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbad0b0fe47b9ccb2173f0e23c43ad9ac4a}{G\_PART\_ALIAS\_APPLE\_UFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00079}00079         \{ \textcolor{stringliteral}{"{}apple-\/zfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba7b8e33b4c5a3f5d81adaf3a76a3cd437}{G\_PART\_ALIAS\_APPLE\_ZFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00080}00080         \{ \textcolor{stringliteral}{"{}bios-\/boot"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba610f799f943cebaeeeb02ec0b81c1006}{G\_PART\_ALIAS\_BIOS\_BOOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00081}00081         \{ \textcolor{stringliteral}{"{}chromeos-\/firmware"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbadb10375733cff30bff00a2b05a7c14ef}{G\_PART\_ALIAS\_CHROMEOS\_FIRMWARE}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00082}00082         \{ \textcolor{stringliteral}{"{}chromeos-\/kernel"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbab71f89fbc7726361b8558ae4e9f319f8}{G\_PART\_ALIAS\_CHROMEOS\_KERNEL}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00083}00083         \{ \textcolor{stringliteral}{"{}chromeos-\/reserved"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba3356a11fe314c9c7a3956d9f6e66c5fd}{G\_PART\_ALIAS\_CHROMEOS\_RESERVED}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00084}00084         \{ \textcolor{stringliteral}{"{}chromeos-\/root"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba3b324ec72b10d03f3c4a884e72a73566}{G\_PART\_ALIAS\_CHROMEOS\_ROOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00085}00085         \{ \textcolor{stringliteral}{"{}dragonfly-\/ccd"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbadc0641dee56a3fc16b5b39f412955c2e}{G\_PART\_ALIAS\_DFBSD\_CCD}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00086}00086         \{ \textcolor{stringliteral}{"{}dragonfly-\/hammer"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba77f969ec7bd3617c3ff4268feb53f9fb}{G\_PART\_ALIAS\_DFBSD\_HAMMER}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00087}00087         \{ \textcolor{stringliteral}{"{}dragonfly-\/hammer2"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba5ea3420c7d66c6e4d86d2d8d32320280}{G\_PART\_ALIAS\_DFBSD\_HAMMER2}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00088}00088         \{ \textcolor{stringliteral}{"{}dragonfly-\/label32"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaefc582ea7370943921b801f093c013d4}{G\_PART\_ALIAS\_DFBSD}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00089}00089         \{ \textcolor{stringliteral}{"{}dragonfly-\/label64"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba4bee09f6ed3f474abf644ea49cbe88aa}{G\_PART\_ALIAS\_DFBSD64}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00090}00090         \{ \textcolor{stringliteral}{"{}dragonfly-\/legacy"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba3beabe280c42ba35a58e7db6b855e453}{G\_PART\_ALIAS\_DFBSD\_LEGACY}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00091}00091         \{ \textcolor{stringliteral}{"{}dragonfly-\/swap"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba65da2aaab1a2853d57210b81d0d2b04c}{G\_PART\_ALIAS\_DFBSD\_SWAP}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00092}00092         \{ \textcolor{stringliteral}{"{}dragonfly-\/ufs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba8292a3596852a093fcd457ab4bafb4ac}{G\_PART\_ALIAS\_DFBSD\_UFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00093}00093         \{ \textcolor{stringliteral}{"{}dragonfly-\/vinum"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba6eeb26aafcc4e6b4502ed668bd6688a6}{G\_PART\_ALIAS\_DFBSD\_VINUM}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00094}00094         \{ \textcolor{stringliteral}{"{}ebr"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba205f680b8f44006d232724d0321152a1}{G\_PART\_ALIAS\_EBR}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00095}00095         \{ \textcolor{stringliteral}{"{}efi"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba7b4070bea5b0e6962a12892e5246f0f4}{G\_PART\_ALIAS\_EFI}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00096}00096         \{ \textcolor{stringliteral}{"{}fat16"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba90484258d5aaf25edf185285a3354291}{G\_PART\_ALIAS\_MS\_FAT16}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00097}00097         \{ \textcolor{stringliteral}{"{}fat32"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba9fc89f1733752a94f052dba777398cdf}{G\_PART\_ALIAS\_MS\_FAT32}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00098}00098         \{ \textcolor{stringliteral}{"{}fat32lba"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba58b10390d272835f855fe618483a2da5}{G\_PART\_ALIAS\_MS\_FAT32LBA}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00099}00099         \{ \textcolor{stringliteral}{"{}freebsd"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba5a1b6ef56ffb2ca63c6090c043c09434}{G\_PART\_ALIAS\_FREEBSD}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00100}00100         \{ \textcolor{stringliteral}{"{}freebsd-\/boot"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba0b86d70f7363e2b36952db543a0bc264}{G\_PART\_ALIAS\_FREEBSD\_BOOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00101}00101         \{ \textcolor{stringliteral}{"{}freebsd-\/nandfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba8a6adc68aa1d4e885d9d7f6c7a95b229}{G\_PART\_ALIAS\_FREEBSD\_NANDFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00102}00102         \{ \textcolor{stringliteral}{"{}freebsd-\/swap"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba85b766f7be4fb08c7c8e8beeb5ca8ac6}{G\_PART\_ALIAS\_FREEBSD\_SWAP}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00103}00103         \{ \textcolor{stringliteral}{"{}freebsd-\/ufs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbad13ec1baa4a93569a10970d2d4e2322f}{G\_PART\_ALIAS\_FREEBSD\_UFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00104}00104         \{ \textcolor{stringliteral}{"{}freebsd-\/vinum"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaf5371975d479c62f48e2703a43ccc2ad}{G\_PART\_ALIAS\_FREEBSD\_VINUM}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00105}00105         \{ \textcolor{stringliteral}{"{}freebsd-\/zfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaea1794ef53ca052eb2a0d423aa99278c}{G\_PART\_ALIAS\_FREEBSD\_ZFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00106}00106         \{ \textcolor{stringliteral}{"{}hifive-\/fsbl"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaaed42d8b06b3c0f3a455c6d062dd32a0}{G\_PART\_ALIAS\_HIFIVE\_FSBL}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00107}00107         \{ \textcolor{stringliteral}{"{}hifive-\/bbl"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbae17401a1d59b56934a79c9a2b64035d5}{G\_PART\_ALIAS\_HIFIVE\_BBL}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00108}00108         \{ \textcolor{stringliteral}{"{}linux-\/data"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba90949fa4834fc43ae2d00a472b1d9425}{G\_PART\_ALIAS\_LINUX\_DATA}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00109}00109         \{ \textcolor{stringliteral}{"{}linux-\/lvm"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbab14430d234bfa0a63e732210553fe83f}{G\_PART\_ALIAS\_LINUX\_LVM}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00110}00110         \{ \textcolor{stringliteral}{"{}linux-\/raid"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbac7afc0b8c09a13583895ec8bacacbca3}{G\_PART\_ALIAS\_LINUX\_RAID}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00111}00111         \{ \textcolor{stringliteral}{"{}linux-\/swap"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba70898edc1a36e6e6c87d162d62bf8f39}{G\_PART\_ALIAS\_LINUX\_SWAP}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00112}00112         \{ \textcolor{stringliteral}{"{}mbr"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaa17049f5f8cbd5fc87b73d0470c68afa}{G\_PART\_ALIAS\_MBR}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00113}00113         \{ \textcolor{stringliteral}{"{}ms-\/basic-\/data"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba6542722bbdf7b81fa68ad04da77895f4}{G\_PART\_ALIAS\_MS\_BASIC\_DATA}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00114}00114         \{ \textcolor{stringliteral}{"{}ms-\/ldm-\/data"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba0f2eb06ec83371b4db0cee890cfa752a}{G\_PART\_ALIAS\_MS\_LDM\_DATA}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00115}00115         \{ \textcolor{stringliteral}{"{}ms-\/ldm-\/metadata"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba91602e1129ca73ae483c6bf7e55aa446}{G\_PART\_ALIAS\_MS\_LDM\_METADATA}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00116}00116         \{ \textcolor{stringliteral}{"{}ms-\/recovery"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba83cf9c098e319fadb0c5a5100998dee6}{G\_PART\_ALIAS\_MS\_RECOVERY}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00117}00117         \{ \textcolor{stringliteral}{"{}ms-\/reserved"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba7d538e8413fc9de5ca5d864882b23144}{G\_PART\_ALIAS\_MS\_RESERVED}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00118}00118         \{ \textcolor{stringliteral}{"{}ms-\/spaces"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba35f52bf392b64b6731be351925172816}{G\_PART\_ALIAS\_MS\_SPACES}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00119}00119         \{ \textcolor{stringliteral}{"{}netbsd-\/ccd"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba9382fba37e4a1c97ffd63d97c13b6920}{G\_PART\_ALIAS\_NETBSD\_CCD}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00120}00120         \{ \textcolor{stringliteral}{"{}netbsd-\/cgd"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbafa8112c607b50ea1e6fbbc77bdbaae71}{G\_PART\_ALIAS\_NETBSD\_CGD}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00121}00121         \{ \textcolor{stringliteral}{"{}netbsd-\/ffs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba55c776720e503230e2bcdb34d3cc447c}{G\_PART\_ALIAS\_NETBSD\_FFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00122}00122         \{ \textcolor{stringliteral}{"{}netbsd-\/lfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba40d395bcb0016d82eae751b9342a9331}{G\_PART\_ALIAS\_NETBSD\_LFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00123}00123         \{ \textcolor{stringliteral}{"{}netbsd-\/raid"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbae55af7b49774f6563486695f60d546e6}{G\_PART\_ALIAS\_NETBSD\_RAID}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00124}00124         \{ \textcolor{stringliteral}{"{}netbsd-\/swap"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba680037ed3e1665f8cd2cec3f79bcb239}{G\_PART\_ALIAS\_NETBSD\_SWAP}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00125}00125         \{ \textcolor{stringliteral}{"{}ntfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaad51db36a92e9870b9d91df8e87e4115}{G\_PART\_ALIAS\_MS\_NTFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00126}00126         \{ \textcolor{stringliteral}{"{}openbsd-\/data"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba28f55ed01a2351005f0644d8b1ace226}{G\_PART\_ALIAS\_OPENBSD\_DATA}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00127}00127         \{ \textcolor{stringliteral}{"{}prep-\/boot"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba8898b481e3959730c7950bb368f5ca3f}{G\_PART\_ALIAS\_PREP\_BOOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00128}00128         \{ \textcolor{stringliteral}{"{}solaris-\/boot"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba8fb81d45a345385710b490c57dfbf4f8}{G\_PART\_ALIAS\_SOLARIS\_BOOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00129}00129         \{ \textcolor{stringliteral}{"{}solaris-\/root"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba3805b5f9807e1925a73da675d6ea80b2}{G\_PART\_ALIAS\_SOLARIS\_ROOT}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00130}00130         \{ \textcolor{stringliteral}{"{}solaris-\/swap"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba98a08e21b703c5abd0082325174cd173}{G\_PART\_ALIAS\_SOLARIS\_SWAP}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00131}00131         \{ \textcolor{stringliteral}{"{}solaris-\/backup"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba16954315c6978d7095d6258dc5946ed1}{G\_PART\_ALIAS\_SOLARIS\_BACKUP}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00132}00132         \{ \textcolor{stringliteral}{"{}solaris-\/var"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbac46a4dc08dfc6cba06b4fba57fcd6c85}{G\_PART\_ALIAS\_SOLARIS\_VAR}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00133}00133         \{ \textcolor{stringliteral}{"{}solaris-\/home"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaef5a70dc142cf732be98c4b581ce7c08}{G\_PART\_ALIAS\_SOLARIS\_HOME}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00134}00134         \{ \textcolor{stringliteral}{"{}solaris-\/altsec"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbab7f2833dbaa010c0a6cddde3ae0e22b8}{G\_PART\_ALIAS\_SOLARIS\_ALTSEC}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00135}00135         \{ \textcolor{stringliteral}{"{}solaris-\/reserved"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbae94f1aa2d4bade72a60e6a1ea459c441}{G\_PART\_ALIAS\_SOLARIS\_RESERVED}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00136}00136         \{ \textcolor{stringliteral}{"{}vmware-\/reserved"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbaa40a17a08b1cbc9fe38359485dc6f2d6}{G\_PART\_ALIAS\_VMRESERVED}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00137}00137         \{ \textcolor{stringliteral}{"{}vmware-\/vmfs"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba61bba4cbc13c24102e6a8e366cebb808}{G\_PART\_ALIAS\_VMFS}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00138}00138         \{ \textcolor{stringliteral}{"{}vmware-\/vmkdiag"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba2f806de9c2a27b9616e56d2d8fc66482}{G\_PART\_ALIAS\_VMKDIAG}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00139}00139         \{ \textcolor{stringliteral}{"{}vmware-\/vsanhdr"{}}, \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fba85449ae645d07b179e57781017edac45}{G\_PART\_ALIAS\_VMVSANHDR}} \},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00140}00140 \};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00141}00141 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00142}\mbox{\hyperlink{g__part_8c_a1e69eaa2ef6048550eaeebcf775a3d0f}{00142}} \mbox{\hyperlink{g__part_8c_a1e69eaa2ef6048550eaeebcf775a3d0f}{SYSCTL\_DECL}}(\_kern\_geom);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00143}\mbox{\hyperlink{g__part_8c_a065b2c36c9bbbc1a6c5cd75a3a4820d7}{00143}} \mbox{\hyperlink{g__part_8c_a065b2c36c9bbbc1a6c5cd75a3a4820d7}{SYSCTL\_NODE}}(\_kern\_geom, OID\_AUTO, part, CTLFLAG\_RW | CTLFLAG\_MPSAFE, 0,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00144}00144     \textcolor{stringliteral}{"{}GEOM\_PART stuff"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00145}\mbox{\hyperlink{g__part_8c_a2ade1e27c2824f4bf382c9d34915c298}{00145}} u\_int \mbox{\hyperlink{g__part_8c_a2ade1e27c2824f4bf382c9d34915c298}{geom\_part\_check\_integrity}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00146}\mbox{\hyperlink{g__part_8c_a4caae146c493e5e604dd30cc9fb96a7a}{00146}} \mbox{\hyperlink{g__part_8c_a4caae146c493e5e604dd30cc9fb96a7a}{SYSCTL\_UINT}}(\_kern\_geom\_part, OID\_AUTO, check\_integrity,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00147}00147     CTLFLAG\_RWTUN, \&\mbox{\hyperlink{g__part_8c_a2ade1e27c2824f4bf382c9d34915c298}{geom\_part\_check\_integrity}}, 1,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00148}00148     \textcolor{stringliteral}{"{}Enable integrity checking"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00149}\mbox{\hyperlink{g__part_8c_a147af6ccbdf67596ea0f9de68923e489}{00149}} \textcolor{keyword}{static} u\_int \mbox{\hyperlink{g__part_8c_a147af6ccbdf67596ea0f9de68923e489}{auto\_resize}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00150}\mbox{\hyperlink{g__part_8c_abdfcb4cd43ba4a61b74fa5b1ecf860c9}{00150}} \mbox{\hyperlink{g__part_8c_a4caae146c493e5e604dd30cc9fb96a7a}{SYSCTL\_UINT}}(\_kern\_geom\_part, OID\_AUTO, \mbox{\hyperlink{g__part_8c_a147af6ccbdf67596ea0f9de68923e489}{auto\_resize}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00151}00151     CTLFLAG\_RWTUN, \&\mbox{\hyperlink{g__part_8c_a147af6ccbdf67596ea0f9de68923e489}{auto\_resize}}, 1,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00152}00152     \textcolor{stringliteral}{"{}Enable auto resize"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00153}\mbox{\hyperlink{g__part_8c_a882638cfc0fdefe0c0685917774244b6}{00153}} \textcolor{keyword}{static} u\_int \mbox{\hyperlink{g__part_8c_a882638cfc0fdefe0c0685917774244b6}{allow\_nesting}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00154}\mbox{\hyperlink{g__part_8c_a35854d08db5e53b3e30572a95ddae43c}{00154}} \mbox{\hyperlink{g__part_8c_a4caae146c493e5e604dd30cc9fb96a7a}{SYSCTL\_UINT}}(\_kern\_geom\_part, OID\_AUTO, \mbox{\hyperlink{g__part_8c_a882638cfc0fdefe0c0685917774244b6}{allow\_nesting}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00155}00155     CTLFLAG\_RWTUN, \&\mbox{\hyperlink{g__part_8c_a882638cfc0fdefe0c0685917774244b6}{allow\_nesting}}, 0,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00156}00156     \textcolor{stringliteral}{"{}Allow additional levels of nesting"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00157}\mbox{\hyperlink{g__part_8c_a5efbd475532c8f9a41e7224ee9867b5f}{00157}} \textcolor{keywordtype}{char} \mbox{\hyperlink{g__part_8c_a5efbd475532c8f9a41e7224ee9867b5f}{g\_part\_separator}}[MAXPATHLEN] = \textcolor{stringliteral}{"{}"{}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00158}\mbox{\hyperlink{g__part_8c_a5031801c076f46adaa32771efd0bf0fe}{00158}} \mbox{\hyperlink{g__part_8c_a5031801c076f46adaa32771efd0bf0fe}{SYSCTL\_STRING}}(\_kern\_geom\_part, OID\_AUTO, separator,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00159}00159     CTLFLAG\_RDTUN, \&\mbox{\hyperlink{g__part_8c_a5efbd475532c8f9a41e7224ee9867b5f}{g\_part\_separator}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{g__part_8c_a5efbd475532c8f9a41e7224ee9867b5f}{g\_part\_separator}}),}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00160}00160     \textcolor{stringliteral}{"{}Partition name separator"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00161}00161 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00162}00162 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00163}00163 \textcolor{comment}{ * The GEOM partitioning class.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00164}00164 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00165}\mbox{\hyperlink{g__part_8c_a6ebe0889f7e7266712b70da8b296a1b3}{00165}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a98129532a3f4d0845714f8b272b9da8a}{g\_ctl\_req\_t}} \mbox{\hyperlink{g__part_8c_a6ebe0889f7e7266712b70da8b296a1b3}{g\_part\_ctlreq}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00166}\mbox{\hyperlink{g__part_8c_ac987da7a226eaf11c8ac0d1e772785a3}{00166}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a2baa59f23394427341e5311df530abb1}{g\_ctl\_destroy\_geom\_t}} \mbox{\hyperlink{g__part_8c_ac987da7a226eaf11c8ac0d1e772785a3}{g\_part\_destroy\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00167}\mbox{\hyperlink{g__part_8c_ae96a8c84de747bb7d93ca2bcfc9bbda6}{00167}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a68776dca1cdc8d9d0da8c47635295b51}{g\_fini\_t}} \mbox{\hyperlink{g__part_8c_ae96a8c84de747bb7d93ca2bcfc9bbda6}{g\_part\_fini}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00168}\mbox{\hyperlink{g__part_8c_a23fe82acea7b7ce79065471be32a8931}{00168}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a09dc421fa3e0bcccdf6ba9154976971d}{g\_init\_t}} \mbox{\hyperlink{g__part_8c_a23fe82acea7b7ce79065471be32a8931}{g\_part\_init}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00169}\mbox{\hyperlink{g__part_8c_ab7b9796f3c3bf923f35e881aa075ae56}{00169}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a631656592e7bd0d9b508904254e8e7a7}{g\_taste\_t}} \mbox{\hyperlink{g__part_8c_ab7b9796f3c3bf923f35e881aa075ae56}{g\_part\_taste}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00170}00170 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00171}\mbox{\hyperlink{g__part_8c_a2d02633444c7029570435aad22ea51d6}{00171}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a68544c65a4d728ce733305aeba2f335b}{g\_access\_t}} \mbox{\hyperlink{g__part_8c_a2d02633444c7029570435aad22ea51d6}{g\_part\_access}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00172}\mbox{\hyperlink{g__part_8c_ab34acccc61d4eaae892030944206e9c2}{00172}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_afdb390a9279523d96cb700a712939f76}{g\_dumpconf\_t}} \mbox{\hyperlink{g__part_8c_ab34acccc61d4eaae892030944206e9c2}{g\_part\_dumpconf}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00173}\mbox{\hyperlink{g__part_8c_a5c3314d3ee36762b67df251d2ba86131}{00173}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_aa5c4a4aeb29f435dd74719b92e830c89}{g\_orphan\_t}} \mbox{\hyperlink{g__part_8c_a5c3314d3ee36762b67df251d2ba86131}{g\_part\_orphan}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00174}\mbox{\hyperlink{g__part_8c_a65d3efc7fd8b98148e0413799e105a45}{00174}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a753663c8f49c698ad63740b64c0df94b}{g\_spoiled\_t}} \mbox{\hyperlink{g__part_8c_a65d3efc7fd8b98148e0413799e105a45}{g\_part\_spoiled}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00175}\mbox{\hyperlink{g__part_8c_afba7d6bc6e0ccd47ab46fdaf9a25afee}{00175}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a2a6559adb145f83df6a58cfbc2be6759}{g\_start\_t}} \mbox{\hyperlink{g__part_8c_afba7d6bc6e0ccd47ab46fdaf9a25afee}{g\_part\_start}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00176}\mbox{\hyperlink{g__part_8c_a8a5b9fa2481c947e1fa2486f11c77f17}{00176}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a3c5b058637985c6eb4ef8d442e69e173}{g\_resize\_t}} \mbox{\hyperlink{g__part_8c_a8a5b9fa2481c947e1fa2486f11c77f17}{g\_part\_resize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00177}\mbox{\hyperlink{g__part_8c_a913a5c0cc682633926038d218833a969}{00177}} \textcolor{keyword}{static} \mbox{\hyperlink{geom_8h_a4e861d65dc955326d8a286b98c17b65a}{g\_ioctl\_t}} \mbox{\hyperlink{g__part_8c_a913a5c0cc682633926038d218833a969}{g\_part\_ioctl}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00178}00178 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00179}\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{00179}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__class}{g\_class}} \mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}} = \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00180}00180         .\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}} = \textcolor{stringliteral}{"{}PART"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00181}00181         .version = \mbox{\hyperlink{geom_8h_a33025dbc893de9dc049ba2f30283bc5a}{G\_VERSION}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00182}00182         \textcolor{comment}{/* Class methods. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00183}00183         .ctlreq = \mbox{\hyperlink{g__part_8c_a6ebe0889f7e7266712b70da8b296a1b3}{g\_part\_ctlreq}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00184}00184         .destroy\_geom = \mbox{\hyperlink{g__part_8c_ac987da7a226eaf11c8ac0d1e772785a3}{g\_part\_destroy\_geom}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00185}00185         .fini = \mbox{\hyperlink{g__part_8c_ae96a8c84de747bb7d93ca2bcfc9bbda6}{g\_part\_fini}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00186}00186         .init = \mbox{\hyperlink{g__part_8c_a23fe82acea7b7ce79065471be32a8931}{g\_part\_init}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00187}00187         .taste = \mbox{\hyperlink{g__part_8c_ab7b9796f3c3bf923f35e881aa075ae56}{g\_part\_taste}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00188}00188         \textcolor{comment}{/* Geom methods. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00189}00189         .access = \mbox{\hyperlink{g__part_8c_a2d02633444c7029570435aad22ea51d6}{g\_part\_access}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00190}00190         .dumpconf = \mbox{\hyperlink{g__part_8c_ab34acccc61d4eaae892030944206e9c2}{g\_part\_dumpconf}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00191}00191         .orphan = \mbox{\hyperlink{g__part_8c_a5c3314d3ee36762b67df251d2ba86131}{g\_part\_orphan}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00192}00192         .spoiled = \mbox{\hyperlink{g__part_8c_a65d3efc7fd8b98148e0413799e105a45}{g\_part\_spoiled}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00193}00193         .start = \mbox{\hyperlink{g__part_8c_afba7d6bc6e0ccd47ab46fdaf9a25afee}{g\_part\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00194}00194         .resize = \mbox{\hyperlink{g__part_8c_a8a5b9fa2481c947e1fa2486f11c77f17}{g\_part\_resize}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00195}00195         .ioctl = \mbox{\hyperlink{g__part_8c_a913a5c0cc682633926038d218833a969}{g\_part\_ioctl}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00196}00196 \};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00197}00197 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00198}\mbox{\hyperlink{g__part_8c_a4f5956a35fb3522d5b130a5a74d64657}{00198}} \mbox{\hyperlink{g__part_8c_a4f5956a35fb3522d5b130a5a74d64657}{DECLARE\_GEOM\_CLASS}}(\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}}, \mbox{\hyperlink{g__part__if_8m_afabfaf55911fcdb5004693527a22fb00}{g\_part}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00199}\mbox{\hyperlink{g__part_8c_a8a58b1d190edee52ffd38482fc1c023c}{00199}} \mbox{\hyperlink{g__part_8c_a8a58b1d190edee52ffd38482fc1c023c}{MODULE\_VERSION}}(\mbox{\hyperlink{g__part__if_8m_afabfaf55911fcdb5004693527a22fb00}{g\_part}}, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00200}00200 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00201}00201 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00202}00202 \textcolor{comment}{ * Support functions.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00203}00203 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00204}00204 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00205}00205 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *, \textcolor{keywordtype}{int});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00206}00206 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00207}00207 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00208}\mbox{\hyperlink{g__part_8c_a458397c9a8faf94592039e34134837dc}{00208}} \mbox{\hyperlink{g__part_8c_a458397c9a8faf94592039e34134837dc}{g\_part\_alias\_name}}(\textcolor{keyword}{enum} \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fb}{g\_part\_alias}} alias)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00209}00209 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00210}00210         \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00211}00211 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00212}00212         \textcolor{keywordflow}{for} (i = 0; i < \mbox{\hyperlink{g__part_8h_a19b7e9a64cde5cffbdf337cc286615fbafaf6b6588c4e453c64aef3de1dadbd72}{G\_PART\_ALIAS\_COUNT}}; i++) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00213}00213                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part_8c_a4405f7693637eb442454d035c4abc5bb}{g\_part\_alias\_list}}[i].alias != alias)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00214}00214                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00215}00215                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{g__part_8c_a4405f7693637eb442454d035c4abc5bb}{g\_part\_alias\_list}}[i].lexeme);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00216}00216         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00217}00217 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00218}00218         \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00219}00219 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00220}00220 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00221}00221 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00222}\mbox{\hyperlink{g__part_8c_a107b24cbd5a66afc40731be7ec41c4bb}{00222}} \mbox{\hyperlink{g__part_8c_a107b24cbd5a66afc40731be7ec41c4bb}{g\_part\_geometry\_heads}}(off\_t blocks, u\_int sectors, off\_t *bestchs,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00223}00223     u\_int *bestheads)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00224}00224 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00225}00225         \textcolor{keyword}{static} u\_int candidate\_heads[] = \{ 1, 2, 16, 32, 64, 128, 255, 0 \};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00226}00226         off\_t chs, cylinders;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00227}00227         u\_int heads;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00228}00228         \textcolor{keywordtype}{int} idx;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00229}00229 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00230}00230         *bestchs = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00231}00231         *bestheads = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00232}00232         \textcolor{keywordflow}{for} (idx = 0; candidate\_heads[idx] != 0; idx++) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00233}00233                 heads = candidate\_heads[idx];}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00234}00234                 cylinders = blocks / heads / sectors;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00235}00235                 \textcolor{keywordflow}{if} (cylinders < heads || cylinders < sectors)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00236}00236                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00237}00237                 \textcolor{keywordflow}{if} (cylinders > 1023)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00238}00238                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00239}00239                 chs = cylinders * heads * sectors;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00240}00240                 \textcolor{keywordflow}{if} (chs > *bestchs || (chs == *bestchs \&\& *bestheads == 1)) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00241}00241                         *bestchs = chs;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00242}00242                         *bestheads = heads;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00243}00243                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00244}00244         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00245}00245 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00246}00246 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00247}00247 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00248}\mbox{\hyperlink{g__part_8c_a8804d8da982b7167b5e26a4667840fb0}{00248}} \mbox{\hyperlink{g__part_8c_a8804d8da982b7167b5e26a4667840fb0}{g\_part\_geometry}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00249}00249     off\_t blocks)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00250}00250 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00251}00251         \textcolor{keyword}{static} u\_int candidate\_sectors[] = \{ 1, 9, 17, 33, 63, 0 \};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00252}00252         off\_t chs, bestchs;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00253}00253         u\_int heads, sectors;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00254}00254         \textcolor{keywordtype}{int} idx;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00255}00255 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00256}00256         \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{g\_getattr}}(\textcolor{stringliteral}{"{}GEOM::fwsectors"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&sectors) != 0 || sectors == 0 ||}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00257}00257             \mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{g\_getattr}}(\textcolor{stringliteral}{"{}GEOM::fwheads"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&heads) != 0 || heads == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00258}00258                 table-\/>\mbox{\hyperlink{structg__part__table_a8ceff629d753812441cd14001b2ff4e2}{gpt\_fixgeom}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00259}00259                 table-\/>\mbox{\hyperlink{structg__part__table_a37be862f028201612aaa673c1e501d9b}{gpt\_heads}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00260}00260                 table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00261}00261                 bestchs = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00262}00262                 \textcolor{keywordflow}{for} (idx = 0; candidate\_sectors[idx] != 0; idx++) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00263}00263                         sectors = candidate\_sectors[idx];}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00264}00264                         \mbox{\hyperlink{g__part_8c_a107b24cbd5a66afc40731be7ec41c4bb}{g\_part\_geometry\_heads}}(blocks, sectors, \&chs, \&heads);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00265}00265                         \textcolor{keywordflow}{if} (chs == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00266}00266                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00267}00267                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00268}00268 \textcolor{comment}{                         * Prefer a geometry with sectors > 1, but only if}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00269}00269 \textcolor{comment}{                         * it doesn't bump down the number of heads to 1.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00270}00270 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00271}00271                         \textcolor{keywordflow}{if} (chs > bestchs || (chs == bestchs \&\& heads > 1 \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00272}00272                             table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}} == 1)) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00273}00273                                 bestchs = chs;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00274}00274                                 table-\/>\mbox{\hyperlink{structg__part__table_a37be862f028201612aaa673c1e501d9b}{gpt\_heads}} = heads;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00275}00275                                 table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}} = sectors;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00276}00276                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00277}00277                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00278}00278                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00279}00279 \textcolor{comment}{                 * If we didn't find a geometry at all, then the disk is}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00280}00280 \textcolor{comment}{                 * too big. This means we can use the maximum number of}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00281}00281 \textcolor{comment}{                 * heads and sectors.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00282}00282 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00283}00283                 \textcolor{keywordflow}{if} (bestchs == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00284}00284                         table-\/>\mbox{\hyperlink{structg__part__table_a37be862f028201612aaa673c1e501d9b}{gpt\_heads}} = 255;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00285}00285                         table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}} = 63;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00286}00286                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00287}00287         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00288}00288                 table-\/>\mbox{\hyperlink{structg__part__table_a8ceff629d753812441cd14001b2ff4e2}{gpt\_fixgeom}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00289}00289                 table-\/>\mbox{\hyperlink{structg__part__table_a37be862f028201612aaa673c1e501d9b}{gpt\_heads}} = heads;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00290}00290                 table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}} = sectors;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00291}00291         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00292}00292 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00293}00293 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00294}00294 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00295}\mbox{\hyperlink{g__part_8c_a99130490ee4d0b2f81f99dd2136e9950}{00295}} \mbox{\hyperlink{g__part_8c_a99130490ee4d0b2f81f99dd2136e9950}{g\_part\_get\_physpath\_done}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00296}00296 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00297}00297         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00298}00298         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00299}00299         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00300}00300         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00301}00301         \textcolor{keyword}{struct }bio *pbp;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00302}00302 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00303}00303         pbp = \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_parent;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00304}00304         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = pbp-\/>bio\_to;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00305}00305         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_afe5c92b8a2a9e4cdf1cab6daa96923c1}{geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00306}00306         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00307}00307         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00308}00308 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00309}00309         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_error == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00310}00310                 \textcolor{keywordtype}{char} *end;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00311}00311                 \textcolor{keywordtype}{size\_t} len, remainder;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00312}00312                 len = strlcat(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_data, \textcolor{stringliteral}{"{}/"{}}, \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_length);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00313}00313                 \textcolor{keywordflow}{if} (len < bp-\/>bio\_length) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00314}00314                         end = \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_data + len;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00315}00315                         remainder = \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_length -\/ len;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00316}00316                         G\_PART\_NAME(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, end, remainder);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00317}00317                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00318}00318         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00319}00319         \mbox{\hyperlink{geom_8h_a3b40808daecd7db79de16471ac14397a}{g\_std\_done}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00320}00320 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00321}00321 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00322}\mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{00322}} \textcolor{preprocessor}{\#define DPRINTF(...)    if (bootverbose) \{      \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00323}00323 \textcolor{preprocessor}{        printf("{}GEOM\_PART: "{}} \_\_VA\_ARGS\_\_);      \(\backslash\)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00324}00324 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00325}00325 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00326}00326 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00327}\mbox{\hyperlink{g__part_8c_a950ff8b1c652a2b2f087829405790d5b}{00327}} \mbox{\hyperlink{g__part_8c_a950ff8b1c652a2b2f087829405790d5b}{g\_part\_check\_integrity}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00328}00328 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00329}00329         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *e1, *e2;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00330}00330         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00331}00331         off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00332}00332         \textcolor{keywordtype}{int} failed;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00333}00333 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00334}00334         failed = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00335}00335         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00336}00336         \textcolor{keywordflow}{if} (table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}} < table-\/>\mbox{\hyperlink{structg__part__table_a20e1ef23449d8669abc2d1737bd04eb7}{gpt\_first}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00337}00337                 \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}last LBA is below first LBA: \%jd < \%jd\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00338}00338                     (intmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}}, (intmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_a20e1ef23449d8669abc2d1737bd04eb7}{gpt\_first}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00339}00339                 failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00340}00340         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00341}00341         \textcolor{keywordflow}{if} (table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}} > \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} / \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} -\/ 1) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00342}00342                 \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}last LBA extends beyond mediasize: "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00343}00343                     \textcolor{stringliteral}{"{}\%jd > \%jd\(\backslash\)n"{}}, (intmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00344}00344                     (intmax\_t)\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} / \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} -\/ 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00345}00345                 failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00346}00346         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00347}00347         LIST\_FOREACH(e1, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00348}00348                 \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || e1-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00349}00349                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00350}00350                 \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} < table-\/>\mbox{\hyperlink{structg__part__table_a20e1ef23449d8669abc2d1737bd04eb7}{gpt\_first}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00351}00351                         \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d has start offset below first "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00352}00352                             \textcolor{stringliteral}{"{}LBA: \%jd < \%jd\(\backslash\)n"{}}, e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00353}00353                             (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00354}00354                             (intmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_a20e1ef23449d8669abc2d1737bd04eb7}{gpt\_first}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00355}00355                         failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00356}00356                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00357}00357                 \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} > table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00358}00358                         \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d has start offset beyond last "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00359}00359                             \textcolor{stringliteral}{"{}LBA: \%jd > \%jd\(\backslash\)n"{}}, e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00360}00360                             (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00361}00361                             (intmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00362}00362                         failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00363}00363                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00364}00364                 \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} < e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00365}00365                         \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d has end offset below start "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00366}00366                             \textcolor{stringliteral}{"{}offset: \%jd < \%jd\(\backslash\)n"{}}, e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00367}00367                             (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00368}00368                             (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00369}00369                         failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00370}00370                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00371}00371                 \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} > table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00372}00372                         \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d has end offset beyond last "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00373}00373                             \textcolor{stringliteral}{"{}LBA: \%jd > \%jd\(\backslash\)n"{}}, e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00374}00374                             (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00375}00375                             (intmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00376}00376                         failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00377}00377                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00378}00378                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}} > 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00379}00379                         \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}} = e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} * \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00380}00380                         \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}} > \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00381}00381                                 \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}} = e1-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00382}00382                         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}} + \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{stripeoffset}}) \% \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00383}00383                                 \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d on (\%s, \%s) is not "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00384}00384                                     \textcolor{stringliteral}{"{}aligned on \%ju bytes\(\backslash\)n"{}}, e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00385}00385                                     \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}, table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>name,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00386}00386                                     (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00387}00387                                 \textcolor{comment}{/* Don't treat this as a critical failure */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00388}00388                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00389}00389                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00390}00390                 e2 = e1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00391}00391                 \textcolor{keywordflow}{while} ((e2 = LIST\_NEXT(e2, gpe\_entry)) != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00392}00392                         \textcolor{keywordflow}{if} (e2-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || e2-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00393}00393                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00394}00394                         \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} >= e2-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00395}00395                             e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} <= e2-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00396}00396                                 \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d has start offset inside "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00397}00397                                     \textcolor{stringliteral}{"{}partition \%d: start[\%d] \%jd >= start[\%d] "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00398}00398                                     \textcolor{stringliteral}{"{}\%jd <= end[\%d] \%jd\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00399}00399                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00400}00400                                     e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e2-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00401}00401                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00402}00402                                     e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e2-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00403}00403                                 failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00404}00404                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00405}00405                         \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} >= e2-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00406}00406                             e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} <= e2-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00407}00407                                 \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d has end offset inside "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00408}00408                                     \textcolor{stringliteral}{"{}partition \%d: start[\%d] \%jd >= end[\%d] "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00409}00409                                     \textcolor{stringliteral}{"{}\%jd <= end[\%d] \%jd\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00410}00410                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00411}00411                                     e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e2-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00412}00412                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00413}00413                                     e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e2-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00414}00414                                 failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00415}00415                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00416}00416                         \textcolor{keywordflow}{if} (e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} < e2-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00417}00417                             e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} > e2-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00418}00418                                 \mbox{\hyperlink{g__part_8c_aa786fc43d4857c3ab9f2c777b4e6f9c5}{DPRINTF}}(\textcolor{stringliteral}{"{}partition \%d contains partition \%d: "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00419}00419                                     \textcolor{stringliteral}{"{}start[\%d] \%jd > start[\%d] \%jd, end[\%d] "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00420}00420                                     \textcolor{stringliteral}{"{}\%jd < end[\%d] \%jd\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00421}00421                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00422}00422                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00423}00423                                     e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e2-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00424}00424                                     e2-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e2-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00425}00425                                     e1-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}}, (intmax\_t)e1-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00426}00426                                 failed++;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00427}00427                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00428}00428                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00429}00429         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00430}00430         \textcolor{keywordflow}{if} (failed != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00431}00431                 printf(\textcolor{stringliteral}{"{}GEOM\_PART: integrity check failed (\%s, \%s)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00432}00432                     \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}, table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>name);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00433}00433                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part_8c_a2ade1e27c2824f4bf382c9d34915c298}{geom\_part\_check\_integrity}} != 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00434}00434                         \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00435}00435                 table-\/>\mbox{\hyperlink{structg__part__table_a5ce1d4b26c04182b18781f8b501a4927}{gpt\_corrupt}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00436}00436         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00437}00437         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00438}00438 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00439}00439 \textcolor{preprocessor}{\#undef  DPRINTF}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00440}00440 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00441}00441 \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00442}\mbox{\hyperlink{g__part_8c_a010bc380adf72e4e075c5339c3b10f4e}{00442}} \mbox{\hyperlink{g__part_8c_a010bc380adf72e4e075c5339c3b10f4e}{g\_part\_new\_entry}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table, \textcolor{keywordtype}{int} index, quad\_t \mbox{\hyperlink{g__raid__tr__if_8m_a17b9425cc13d593841ed2c2054a14e26}{start}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00443}00443     quad\_t end)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00444}00444 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00445}00445         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, *last;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00446}00446 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00447}00447         last = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00448}00448         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00449}00449                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == index)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00450}00450                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00451}00451                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} > index) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00452}00452                         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00453}00453                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00454}00454                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00455}00455                 last = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00456}00456         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00457}00457         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00458}00458                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = \mbox{\hyperlink{geom_8h_a0f190247baa73dc863a79fea9d5f6b4f}{g\_malloc}}(table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>\mbox{\hyperlink{structg__part__scheme_ab3dc58855695f78baadf476ea7f1f0e9}{gps\_entrysz}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00459}00459                     M\_WAITOK | M\_ZERO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00460}00460                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} = index;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00461}00461                 \textcolor{keywordflow}{if} (last == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00462}00462                         LIST\_INSERT\_HEAD(\&table-\/>gpt\_entry, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00463}00463                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00464}00464                         LIST\_INSERT\_AFTER(last, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00465}00465         \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00466}00466                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00467}00467         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} = \mbox{\hyperlink{g__raid__tr__if_8m_a17b9425cc13d593841ed2c2054a14e26}{start}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00468}00468         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} = end;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00469}00469         \textcolor{keywordflow}{return} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00470}00470 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00471}00471 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00472}00472 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00473}\mbox{\hyperlink{g__part_8c_ae97739950e4cf680bc292bcf4cf5f94b}{00473}} \mbox{\hyperlink{g__part_8c_ae97739950e4cf680bc292bcf4cf5f94b}{g\_part\_new\_provider}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00474}00474     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00475}00475 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00476}00476         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00477}00477         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00478}00478         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom__alias}{g\_geom\_alias}} *gap;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00479}00479         off\_t \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00480}00480 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00481}00481         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00482}00482         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00483}00483 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00484}00484         \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} * \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00485}00485         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}} < \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00486}00486                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}} = \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00487}00487 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00488}00488         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00489}00489                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}} = G\_PART\_NEW\_PROVIDER(table, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00490}00490                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00491}00491 \textcolor{comment}{                 * If our parent provider had any aliases, then copy them to our}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00492}00492 \textcolor{comment}{                 * provider so when geom DEV tastes things later, they will be}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00493}00493 \textcolor{comment}{                 * there for it to create the aliases with those name used in}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00494}00494 \textcolor{comment}{                 * place of the geom's name we use to create the provider. The}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00495}00495 \textcolor{comment}{                 * kobj interface that generates names makes this awkward.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00496}00496 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00497}00497                 LIST\_FOREACH(gap, \&\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>aliases, ga\_next)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00498}00498                         G\_PART\_ADD\_ALIAS(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gap-\/>\mbox{\hyperlink{structg__geom__alias_ae11849a176b7dadc248ec9231ba2a992}{ga\_alias}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00499}00499                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} |= \mbox{\hyperlink{geom_8h_a486656f757680c7ff0c7ca06b643eb2d}{G\_PF\_DIRECT\_SEND}} | \mbox{\hyperlink{geom_8h_a36e660dabad70e0fd2439be3ddca8d47}{G\_PF\_DIRECT\_RECEIVE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00500}00500                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};          \textcolor{comment}{/* Close the circle. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00501}00501         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00502}00502         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_af66d4470c5f372fdc0f71d66a65542be}{index}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} -\/ 1;      \textcolor{comment}{/* index is 1-\/based. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00503}00503         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} = (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} -\/ \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} + 1) *}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00504}00504             \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00505}00505         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} -\/= \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}} -\/ \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00506}00506         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00507}00507         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00508}00508         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{stripeoffset}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{stripeoffset}} + \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00509}00509         if (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}} > 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00510}00510                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{stripeoffset}} \%= \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00511}00511         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} |= \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2d2060ee918007b601780f93a39c30de}{flags}} \& \mbox{\hyperlink{geom_8h_a82547ff81813e6e37dd57c36e530c7e2}{G\_PF\_ACCEPT\_UNMAPPED}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00512}00512         \mbox{\hyperlink{geom_8h_a7a46b49361266e9bb4b1441aade2c48f}{g\_error\_provider}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00513}00513 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00514}00514 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00515}00515 \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}}*}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00516}\mbox{\hyperlink{g__part_8c_a86bda8581450f8974930f889670f57a4}{00516}} \mbox{\hyperlink{g__part_8c_a86bda8581450f8974930f889670f57a4}{g\_part\_find\_geom}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00517}00517 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00518}00518         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00519}00519         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \&\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}}.geom, geom) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00520}00520                 \textcolor{keywordflow}{if} ((\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_afa218bd6b4ead71e6238ecd0577e1cc9}{flags}} \& \mbox{\hyperlink{geom_8h_ac5e457264b1579081f1d544c1eceb256}{G\_GEOM\_WITHER}}) == 0 \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00521}00521                     strcmp(\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}) == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00522}00522                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00523}00523         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00524}00524         \textcolor{keywordflow}{return} (\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00525}00525 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00526}00526 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00527}00527 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00528}\mbox{\hyperlink{g__part_8c_aa68f38129bdbbdfc6100adbb9a96af2c}{00528}} \mbox{\hyperlink{g__part_8c_aa68f38129bdbbdfc6100adbb9a96af2c}{g\_part\_parm\_geom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} **v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00529}00529 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00530}00530         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00531}00531         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *gname;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00532}00532 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00533}00533         gname = \mbox{\hyperlink{geom_8h_ada33526012aac8ee446617bb3749a07c}{gctl\_get\_asciiparam}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00534}00534         \textcolor{keywordflow}{if} (gname == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00535}00535                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00536}00536         \textcolor{keywordflow}{if} (strncmp(gname, \mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{\_PATH\_DEV}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{\_PATH\_DEV}}) -\/ 1) == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00537}00537                 gname += \textcolor{keyword}{sizeof}(\mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{\_PATH\_DEV}}) -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00538}00538         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part_8c_a86bda8581450f8974930f889670f57a4}{g\_part\_find\_geom}}(gname);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00539}00539         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00540}00540                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%s'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, gname);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00541}00541                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00542}00542         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00543}00543         *v = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00544}00544         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00545}00545 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00546}00546 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00547}00547 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00548}\mbox{\hyperlink{g__part_8c_a019bf7b730b7dea4f3514cdafcad24df}{00548}} \mbox{\hyperlink{g__part_8c_a019bf7b730b7dea4f3514cdafcad24df}{g\_part\_parm\_provider}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00549}00549     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} **v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00550}00550 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00551}00551         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00552}00552         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *pname;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00553}00553 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00554}00554         pname = \mbox{\hyperlink{geom_8h_ada33526012aac8ee446617bb3749a07c}{gctl\_get\_asciiparam}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00555}00555         \textcolor{keywordflow}{if} (pname == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00556}00556                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00557}00557         \textcolor{keywordflow}{if} (strncmp(pname, \mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{\_PATH\_DEV}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{\_PATH\_DEV}}) -\/ 1) == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00558}00558                 pname += \textcolor{keyword}{sizeof}(\mbox{\hyperlink{geom_8h_a9e429780e6e3bb32284b54630bc60a0d}{\_PATH\_DEV}}) -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00559}00559         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{geom_8h_ad022ef529cc86a6c4ea72564de2e9ca2}{g\_provider\_by\_name}}(pname);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00560}00560         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00561}00561                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%s'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, pname);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00562}00562                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00563}00563         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00564}00564         *v = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00565}00565         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00566}00566 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00567}00567 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00568}00568 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00569}\mbox{\hyperlink{g__part_8c_ad01993ecd576af6235d41985bb880323}{00569}} \mbox{\hyperlink{g__part_8c_ad01993ecd576af6235d41985bb880323}{g\_part\_parm\_quad}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, quad\_t *v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00570}00570 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00571}00571         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00572}00572         \textcolor{keywordtype}{char} *x;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00573}00573         quad\_t q;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00574}00574 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00575}00575         p = \mbox{\hyperlink{geom_8h_ada33526012aac8ee446617bb3749a07c}{gctl\_get\_asciiparam}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00576}00576         \textcolor{keywordflow}{if} (p == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00577}00577                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00578}00578         q = strtoq(p, \&x, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00579}00579         \textcolor{keywordflow}{if} (*x != \textcolor{charliteral}{'\(\backslash\)0'} || q < 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00580}00580                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%s'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, p);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00581}00581                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00582}00582         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00583}00583         *v = q;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00584}00584         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00585}00585 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00586}00586 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00587}00587 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00588}\mbox{\hyperlink{g__part_8c_a0796bc987f3cb30141d488981b592c95}{00588}} \mbox{\hyperlink{g__part_8c_a0796bc987f3cb30141d488981b592c95}{g\_part\_parm\_scheme}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00589}00589     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} **v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00590}00590 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00591}00591         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} *s;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00592}00592         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00593}00593 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00594}00594         p = \mbox{\hyperlink{geom_8h_ada33526012aac8ee446617bb3749a07c}{gctl\_get\_asciiparam}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00595}00595         \textcolor{keywordflow}{if} (p == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00596}00596                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00597}00597         TAILQ\_FOREACH(s, \&g\_part\_schemes, scheme\_list) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00598}00598                 \textcolor{keywordflow}{if} (s == \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00599}00599                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00600}00600                 \textcolor{keywordflow}{if} (!strcasecmp(s-\/>name, p))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00601}00601                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00602}00602         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00603}00603         \textcolor{keywordflow}{if} (s == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00604}00604                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%s'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, p);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00605}00605                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00606}00606         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00607}00607         *v = s;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00608}00608         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00609}00609 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00610}00610 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00611}00611 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00612}\mbox{\hyperlink{g__part_8c_a666d7236f236da01c5c68ebbdf273f24}{00612}} \mbox{\hyperlink{g__part_8c_a666d7236f236da01c5c68ebbdf273f24}{g\_part\_parm\_str}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} **v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00613}00613 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00614}00614         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00615}00615 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00616}00616         p = \mbox{\hyperlink{geom_8h_ada33526012aac8ee446617bb3749a07c}{gctl\_get\_asciiparam}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00617}00617         \textcolor{keywordflow}{if} (p == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00618}00618                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00619}00619         \textcolor{comment}{/* An empty label is always valid. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00620}00620         \textcolor{keywordflow}{if} (strcmp(\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \textcolor{stringliteral}{"{}label"{}}) != 0 \&\& p[0] == \textcolor{charliteral}{'\(\backslash\)0'}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00621}00621                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%s'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, p);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00622}00622                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00623}00623         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00624}00624         *v = p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00625}00625         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00626}00626 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00627}00627 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00628}00628 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00629}\mbox{\hyperlink{g__part_8c_ac6402b91cb67de8fe7f718159f4391e2}{00629}} \mbox{\hyperlink{g__part_8c_ac6402b91cb67de8fe7f718159f4391e2}{g\_part\_parm\_intmax}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, u\_int *v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00630}00630 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00631}00631         \textcolor{keyword}{const} intmax\_t *p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00632}00632         \textcolor{keywordtype}{int} size;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00633}00633 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00634}00634         p = \mbox{\hyperlink{geom_8h_a3e3d6786258b3336d55a96607f9b8eb8}{gctl\_get\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \&size);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00635}00635         \textcolor{keywordflow}{if} (p == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00636}00636                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00637}00637         \textcolor{keywordflow}{if} (size != \textcolor{keyword}{sizeof}(*p) || *p < 0 || *p > INT\_MAX) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00638}00638                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%jd'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, *p);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00639}00639                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00640}00640         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00641}00641         *v = (u\_int)*p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00642}00642         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00643}00643 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00644}00644 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00645}00645 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00646}\mbox{\hyperlink{g__part_8c_ad121d30b4d685c464afcf1c57d218498}{00646}} \mbox{\hyperlink{g__part_8c_ad121d30b4d685c464afcf1c57d218498}{g\_part\_parm\_uint32}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, u\_int *v)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00647}00647 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00648}00648         \textcolor{keyword}{const} uint32\_t *p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00649}00649         \textcolor{keywordtype}{int} size;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00650}00650 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00651}00651         p = \mbox{\hyperlink{geom_8h_a3e3d6786258b3336d55a96607f9b8eb8}{gctl\_get\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \&size);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00652}00652         \textcolor{keywordflow}{if} (p == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00653}00653                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00654}00654         \textcolor{keywordflow}{if} (size != \textcolor{keyword}{sizeof}(*p) || *p > INT\_MAX) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00655}00655                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s '\%u'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, (\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int})*p);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00656}00656                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00657}00657         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00658}00658         *v = (u\_int)*p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00659}00659         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00660}00660 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00661}00661 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00662}00662 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00663}\mbox{\hyperlink{g__part_8c_ac3fa48bc08fe9c72e3b159dcd787f050}{00663}} \mbox{\hyperlink{g__part_8c_ac3fa48bc08fe9c72e3b159dcd787f050}{g\_part\_parm\_bootcode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \textcolor{keyword}{const} \textcolor{keywordtype}{void} **v,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00664}00664     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} *s)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00665}00665 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00666}00666         \textcolor{keyword}{const} \textcolor{keywordtype}{void} *p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00667}00667         \textcolor{keywordtype}{int} size;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00668}00668 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00669}00669         p = \mbox{\hyperlink{geom_8h_a3e3d6786258b3336d55a96607f9b8eb8}{gctl\_get\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}, \&size);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00670}00670         \textcolor{keywordflow}{if} (p == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00671}00671                 \textcolor{keywordflow}{return} (ENOATTR);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00672}00672         *v = p;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00673}00673         *s = size;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00674}00674         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00675}00675 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00676}00676 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00677}00677 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00678}\mbox{\hyperlink{g__part_8c_af9edeef8af7e4a9bbe5604ef2bcd1266}{00678}} \mbox{\hyperlink{g__part_8c_af9edeef8af7e4a9bbe5604ef2bcd1266}{g\_part\_probe}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keywordtype}{int} depth)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00679}00679 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00680}00680         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} *iter, *scheme;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00681}00681         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00682}00682         \textcolor{keywordtype}{int} pri, \mbox{\hyperlink{g__part__if_8m_a54a77b26466d6439404f7203d7f51e80}{probe}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00683}00683 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00684}00684         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00685}00685         scheme = (table != NULL) ? table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} : NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00686}00686         pri = (scheme != NULL) ? G\_PART\_PROBE(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}) : INT\_MIN;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00687}00687         \textcolor{keywordflow}{if} (pri == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00688}00688                 \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00689}00689         \textcolor{keywordflow}{if} (pri > 0) \{  \textcolor{comment}{/* error */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00690}00690                 scheme = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00691}00691                 pri = INT\_MIN;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00692}00692         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00693}00693 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00694}00694         TAILQ\_FOREACH(iter, \&g\_part\_schemes, scheme\_list) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00695}00695                 \textcolor{keywordflow}{if} (iter == \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00696}00696                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00697}00697                 table = (\textcolor{keywordtype}{void} *)kobj\_create((kobj\_class\_t)iter, M\_GEOM,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00698}00698                     M\_WAITOK);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00699}00699                 table-\/>\mbox{\hyperlink{structg__part__table_a0dad02eb728a87c70f5100f6c5a704d1}{gpt\_gp}} = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00700}00700                 table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} = iter;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00701}00701                 table-\/>\mbox{\hyperlink{structg__part__table_afaa3c76b7cd3ca91b64f6f04409d4b98}{gpt\_depth}} = depth;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00702}00702                 \mbox{\hyperlink{g__part__if_8m_a54a77b26466d6439404f7203d7f51e80}{probe}} = G\_PART\_PROBE(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00703}00703                 \textcolor{keywordflow}{if} (probe <= 0 \&\& probe > pri) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00704}00704                         pri = \mbox{\hyperlink{g__part__if_8m_a54a77b26466d6439404f7203d7f51e80}{probe}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00705}00705                         scheme = iter;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00706}00706                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}} != NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00707}00707                                 kobj\_delete((kobj\_t)\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}}, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00708}00708                         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}} = table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00709}00709                         \textcolor{keywordflow}{if} (pri == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00710}00710                                 \textcolor{keywordflow}{goto} done;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00711}00711                 \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00712}00712                         kobj\_delete((kobj\_t)table, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00713}00713         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00714}00714 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00715}00715 done:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00716}00716         \textcolor{keywordflow}{return} ((scheme == NULL) ? ENXIO : 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00717}00717 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00718}00718 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00719}00719 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00720}00720 \textcolor{comment}{ * Control request functions.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00721}00721 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00722}00722 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00723}00723 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00724}\mbox{\hyperlink{g__part_8c_ad33997aaa1864ac0a5a5ecdad89a3aa8}{00724}} \mbox{\hyperlink{g__part_8c_ad33997aaa1864ac0a5a5ecdad89a3aa8}{g\_part\_ctl\_add}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00725}00725 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00726}00726         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00727}00727         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00728}00728         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *delent, *last, *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00729}00729         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00730}00730         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00731}00731         quad\_t end;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00732}00732         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} index;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00733}00733         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00734}00734 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00735}00735         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00736}00736         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00737}00737         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00738}00738 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00739}00739         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer)-\/>provider;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00740}00740         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00741}00741         end = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}} + \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}} -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00742}00742 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00743}00743         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}} < table-\/>\mbox{\hyperlink{structg__part__table_a20e1ef23449d8669abc2d1737bd04eb7}{gpt\_first}} ||}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00744}00744             \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}} > table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00745}00745                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d start '\%jd'"{}}, EINVAL,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00746}00746                     (intmax\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00747}00747                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00748}00748         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00749}00749         \textcolor{keywordflow}{if} (end < gpp-\/>gpp\_start || end > table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00750}00750                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d size '\%jd'"{}}, EINVAL,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00751}00751                     (intmax\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00752}00752                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00753}00753         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00754}00754         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}} > table-\/>\mbox{\hyperlink{structg__part__table_a593162aef033d63adcfe51eabd071f7b}{gpt\_entries}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00755}00755                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00756}00756                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00757}00757         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00758}00758 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00759}00759         delent = last = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00760}00760         index = (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}} > 0) ? \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}} : 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00761}00761         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00762}00762                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00763}00763                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == index)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00764}00764                                 delent = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00765}00765                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00766}00766                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00767}00767                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == index)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00768}00768                         index = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} + 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00769}00769                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} < index)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00770}00770                         last = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00771}00771                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00772}00772                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00773}00773                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}} >= \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00774}00774                     \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}} <= \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00775}00775                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d start '\%jd'"{}}, ENOSPC,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00776}00776                             (intmax\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00777}00777                         \textcolor{keywordflow}{return} (ENOSPC);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00778}00778                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00779}00779                 \textcolor{keywordflow}{if} (end >= \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\& end <= entry-\/>gpe\_end) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00780}00780                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d end '\%jd'"{}}, ENOSPC, (intmax\_t)end);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00781}00781                         \textcolor{keywordflow}{return} (ENOSPC);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00782}00782                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00783}00783                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}} < \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\& end > \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00784}00784                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d size '\%jd'"{}}, ENOSPC,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00785}00785                             (intmax\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00786}00786                         \textcolor{keywordflow}{return} (ENOSPC);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00787}00787                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00788}00788         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00789}00789         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}} > 0 \&\& index != \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00790}00790                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, EEXIST, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00791}00791                 \textcolor{keywordflow}{return} (EEXIST);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00792}00792         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00793}00793         \textcolor{keywordflow}{if} (index > table-\/>\mbox{\hyperlink{structg__part__table_a593162aef033d63adcfe51eabd071f7b}{gpt\_entries}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00794}00794                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, ENOSPC, index);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00795}00795                 \textcolor{keywordflow}{return} (ENOSPC);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00796}00796         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00797}00797 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00798}00798         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = (delent == NULL) ? \mbox{\hyperlink{geom_8h_a0f190247baa73dc863a79fea9d5f6b4f}{g\_malloc}}(table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>\mbox{\hyperlink{structg__part__scheme_ab3dc58855695f78baadf476ea7f1f0e9}{gps\_entrysz}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00799}00799             M\_WAITOK | M\_ZERO) : delent;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00800}00800         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} = index;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00801}00801         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00802}00802         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} = end;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00803}00803         error = G\_PART\_ADD(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00804}00804         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00805}00805                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00806}00806                 \textcolor{keywordflow}{if} (delent == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00807}00807                         \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00808}00808                 \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00809}00809         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00810}00810         \textcolor{keywordflow}{if} (delent == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00811}00811                 \textcolor{keywordflow}{if} (last == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00812}00812                         LIST\_INSERT\_HEAD(\&table-\/>gpt\_entry, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00813}00813                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00814}00814                         LIST\_INSERT\_AFTER(last, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00815}00815                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a69108d2a6ef4380b30d84ddab039043b}{gpe\_created}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00816}00816         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00817}00817                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00818}00818                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00819}00819         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00820}00820         \mbox{\hyperlink{g__part_8c_ae97739950e4cf680bc292bcf4cf5f94b}{g\_part\_new\_provider}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00821}00821 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00822}00822         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00823}00823         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00824}00824                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00825}00825                 G\_PART\_FULLNAME(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00826}00826                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}} > 0 \&\& \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_ac6baefca9562013cb451aee0a665e378}{stripeoffset}} != 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00827}00827                         sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{} added, but partition is not "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00828}00828                             \textcolor{stringliteral}{"{}aligned on \%ju bytes\(\backslash\)n"{}}, (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a0ae62d15d2436a80825accbdb3cd6149}{stripesize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00829}00829                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00830}00830                         sbuf\_cat(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{} added\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00831}00831                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00832}00832                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00833}00833                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00834}00834         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00835}00835         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00836}00836 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00837}00837 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00838}00838 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00839}\mbox{\hyperlink{g__part_8c_a3b2e83709ef9771ab429d14cd755dc99}{00839}} \mbox{\hyperlink{g__part_8c_a3b2e83709ef9771ab429d14cd755dc99}{g\_part\_ctl\_bootcode}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00840}00840 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00841}00841         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00842}00842         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00843}00843         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00844}00844         \textcolor{keywordtype}{int} error, sz;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00845}00845 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00846}00846         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00847}00847         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00848}00848         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00849}00849 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00850}00850         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00851}00851         sz = table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>\mbox{\hyperlink{structg__part__scheme_a701a3e14ed38a846a64d42594ec1f915}{gps\_bootcodesz}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00852}00852         \textcolor{keywordflow}{if} (sz == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00853}00853                 error = ENODEV;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00854}00854                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00855}00855         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00856}00856         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_acc3de4e9f86b75313ab6fda982809815}{gpp\_codesize}} > sz) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00857}00857                 error = EFBIG;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00858}00858                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00859}00859         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00860}00860 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00861}00861         error = G\_PART\_BOOTCODE(table, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00862}00862         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00863}00863                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00864}00864 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00865}00865         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00866}00866         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00867}00867                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00868}00868                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}bootcode written to \%s\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00869}00869                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00870}00870                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00871}00871                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00872}00872         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00873}00873         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00874}00874 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00875}00875  fail:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00876}00876         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00877}00877         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00878}00878 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00879}00879 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00880}00880 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00881}\mbox{\hyperlink{g__part_8c_af50dfdaf104e49771b9713dc7950edc2}{00881}} \mbox{\hyperlink{g__part_8c_af50dfdaf104e49771b9713dc7950edc2}{g\_part\_ctl\_commit}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00882}00882 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00883}00883         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00884}00884         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00885}00885         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00886}00886         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, *tmp;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00887}00887         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00888}00888         \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00889}00889         \textcolor{keywordtype}{int} error, i;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00890}00890 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00891}00891         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00892}00892         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00893}00893         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00894}00894 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00895}00895         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00896}00896         \textcolor{keywordflow}{if} (!table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00897}00897                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, EPERM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00898}00898                 \textcolor{keywordflow}{return} (EPERM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00899}00899         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00900}00900 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00901}00901         \mbox{\hyperlink{geom_8h_a4628d4de49ba84e7a6126cc30d23b83a}{g\_topology\_unlock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00902}00902 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00903}00903         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00904}00904         \textcolor{keywordflow}{if} ((table-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}} | table-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}}) != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00905}00905                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00906}00906                 \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}} = \mbox{\hyperlink{geom_8h_a0f190247baa73dc863a79fea9d5f6b4f}{g\_malloc}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}}, M\_WAITOK | M\_ZERO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00907}00907                 \textcolor{keywordflow}{while} (table-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}} != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00908}00908                         i = ffs(table-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}}) -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00909}00909                         error = \mbox{\hyperlink{geom_8h_a9b87ecbd812c109546b077da483baada}{g\_write\_data}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, i * \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}}, \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00910}00910                             \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00911}00911                         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00912}00912                                 \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00913}00913                                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00914}00914                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00915}00915                         table-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}} \&= \string~(1 << i);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00916}00916                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00917}00917                 \textcolor{keywordflow}{while} (table-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}} != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00918}00918                         i = ffs(table-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}}) -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00919}00919                         error = \mbox{\hyperlink{geom_8h_a9b87ecbd812c109546b077da483baada}{g\_write\_data}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} -\/ (i + 1) *}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00920}00920                             \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}}, \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00921}00921                         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00922}00922                                 \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00923}00923                                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00924}00924                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00925}00925                         table-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}} \&= \string~(1 << i);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00926}00926                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00927}00927                 \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00928}00928         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00929}00929 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00930}00930         \textcolor{keywordflow}{if} (table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} == \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00931}00931                 \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00932}00932                 \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00933}00933                 \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00934}00934                 \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00935}00935         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00936}00936 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00937}00937         error = G\_PART\_WRITE(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00938}00938         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00939}00939                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00940}00940 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00941}00941         LIST\_FOREACH\_SAFE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry, tmp) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00942}00942                 \textcolor{keywordflow}{if} (!\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00943}00943                         \textcolor{comment}{/* Notify consumers that provider might be changed. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00944}00944                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} \&\& (}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00945}00945                             \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} + \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}} +}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00946}00946                             \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}-\/>\mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}}) == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00947}00947                                 \mbox{\hyperlink{geom_8h_a5f0e8b927a159f0129cd1bae6efe3c77}{g\_media\_changed}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}}, M\_NOWAIT);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00948}00948                         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a69108d2a6ef4380b30d84ddab039043b}{gpe\_created}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00949}00949                         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00950}00950                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00951}00951                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00952}00952                 LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00953}00953                 \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00954}00954         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00955}00955         table-\/>\mbox{\hyperlink{structg__part__table_a92f8b06ed406ff27cf16ef532e8bd70c}{gpt\_created}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00956}00956         table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00957}00957 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00958}00958         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00959}00959         \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00960}00960         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00961}00961 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00962}00962 fail:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00963}00963         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00964}00964         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00965}00965         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00966}00966 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00967}00967 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00968}00968 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00969}\mbox{\hyperlink{g__part_8c_a58e554176f666aac1a24022d9d9f9205}{00969}} \mbox{\hyperlink{g__part_8c_a58e554176f666aac1a24022d9d9f9205}{g\_part\_ctl\_create}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00970}00970 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00971}00971         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00972}00972         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00973}00973         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00974}00974         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} *scheme;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00975}00975         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *null, *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00976}00976         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00977}00977         \textcolor{keywordtype}{int} attr, error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00978}00978 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00979}00979         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a0167e72bae7184b18a4180134cc0c021}{gpp\_provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00980}00980         scheme = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aa0858c28abd69b15e06ec618a7156a4c}{gpp\_scheme}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00981}00981         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00982}00982         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00983}00983 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00984}00984         \textcolor{comment}{/* Check that there isn't already a g\_part geom on the provider. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00985}00985         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part_8c_a86bda8581450f8974930f889670f57a4}{g\_part\_find\_geom}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00986}00986         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00987}00987                 null = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00988}00988                 \textcolor{keywordflow}{if} (null-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} != \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00989}00989                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d geom '\%s'"{}}, EEXIST, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00990}00990                         \textcolor{keywordflow}{return} (EEXIST);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00991}00991                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00992}00992         \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00993}00993                 null = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00994}00994 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00995}00995         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a95c44ec8234077b09de1d741ce52a9d7}{G\_PART\_PARM\_ENTRIES}}) \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00996}00996             (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_af6fdc7c39ad40aea09d7ad4c1885b0ff}{gpp\_entries}} < scheme-\/>\mbox{\hyperlink{structg__part__scheme_af04d6b8ba2feeef7f3220e5ac951b13a}{gps\_minent}} ||}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00997}00997              \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_af6fdc7c39ad40aea09d7ad4c1885b0ff}{gpp\_entries}} > scheme-\/>\mbox{\hyperlink{structg__part__scheme_ae5fe6c9fb2a0d11174280e1cf270ec8c}{gps\_maxent}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00998}00998                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d entries '\%d'"{}}, EINVAL, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_af6fdc7c39ad40aea09d7ad4c1885b0ff}{gpp\_entries}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l00999}00999                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01000}01000         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01001}01001 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01002}01002         \textcolor{keywordflow}{if} (null == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01003}01003                 \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{geom_8h_a4000befe2ff4b405b8333ccc5b0fdb41}{g\_new\_geomf}}(\&\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}}, \textcolor{stringliteral}{"{}\%s"{}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01004}01004         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}} = kobj\_create((kobj\_class\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aa0858c28abd69b15e06ec618a7156a4c}{gpp\_scheme}}, M\_GEOM,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01005}01005             M\_WAITOK);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01006}01006         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01007}01007         table-\/>\mbox{\hyperlink{structg__part__table_a0dad02eb728a87c70f5100f6c5a704d1}{gpt\_gp}} = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01008}01008         table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aa0858c28abd69b15e06ec618a7156a4c}{gpp\_scheme}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01009}01009         table-\/>\mbox{\hyperlink{structg__part__table_a593162aef033d63adcfe51eabd071f7b}{gpt\_entries}} = (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a95c44ec8234077b09de1d741ce52a9d7}{G\_PART\_PARM\_ENTRIES}}) ?}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01010}01010             \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_af6fdc7c39ad40aea09d7ad4c1885b0ff}{gpp\_entries}} : scheme-\/>\mbox{\hyperlink{structg__part__scheme_af04d6b8ba2feeef7f3220e5ac951b13a}{gps\_minent}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01011}01011         LIST\_INIT(\&table-\/>gpt\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01012}01012         \textcolor{keywordflow}{if} (null == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01013}01013                 \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = \mbox{\hyperlink{geom_8h_aef9ca3f0eecc1b245c3c9cd0bac1cdc4}{g\_new\_consumer}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01014}01014                 \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_acf792357913c0445233b71f8259764d9}{flags}} |= \mbox{\hyperlink{geom_8h_a712586d00e1fe2a8069adfc048fee210}{G\_CF\_DIRECT\_SEND}} | \mbox{\hyperlink{geom_8h_a2184f2512ddb7a67ddbb71409cdd953f}{G\_CF\_DIRECT\_RECEIVE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01015}01015                 error = \mbox{\hyperlink{geom_8h_a7f6ee69db47bae6ff5284f6a9cfceb91}{g\_attach}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01016}01016                 \textcolor{keywordflow}{if} (error == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01017}01017                         error = \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, 1, 1, 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01018}01018                 \textcolor{keywordflow}{if} (error != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01019}01019                         \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01020}01020                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d geom '\%s'"{}}, error, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01021}01021                         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01022}01022                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01023}01023                 table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01024}01024         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01025}01025                 \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01026}01026                 table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = null-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01027}01027                 table-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}} = null-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01028}01028                 table-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}} = null-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01029}01029         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01030}01030 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01031}01031         \mbox{\hyperlink{geom_8h_a4628d4de49ba84e7a6126cc30d23b83a}{g\_topology\_unlock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01032}01032 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01033}01033         \textcolor{comment}{/* Make sure the provider has media. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01034}01034         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} == 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01035}01035                 error = ENODEV;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01036}01036                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01037}01037         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01038}01038 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01039}01039         \textcolor{comment}{/* Make sure we can nest and if so, determine our depth. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01040}01040         error = \mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{g\_getattr}}(\textcolor{stringliteral}{"{}PART::isleaf"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&attr);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01041}01041         \textcolor{keywordflow}{if} (!error \&\& attr) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01042}01042                 error = ENODEV;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01043}01043                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01044}01044         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01045}01045         error = \mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{g\_getattr}}(\textcolor{stringliteral}{"{}PART::depth"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&attr);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01046}01046         table-\/>\mbox{\hyperlink{structg__part__table_afaa3c76b7cd3ca91b64f6f04409d4b98}{gpt\_depth}} = (!error) ? attr + 1 : 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01047}01047 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01048}01048         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01049}01049 \textcolor{comment}{         * Synthesize a disk geometry. Some partitioning schemes}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01050}01050 \textcolor{comment}{         * depend on it and since some file systems need it even}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01051}01051 \textcolor{comment}{         * when the partitition scheme doesn't, we do it here in}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01052}01052 \textcolor{comment}{         * scheme-\/independent code.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01053}01053 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01054}01054         \mbox{\hyperlink{g__part_8c_a8804d8da982b7167b5e26a4667840fb0}{g\_part\_geometry}}(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} / \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01055}01055 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01056}01056         error = G\_PART\_CREATE(table, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01057}01057         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01058}01058                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01059}01059 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01060}01060         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01061}01061 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01062}01062         table-\/>\mbox{\hyperlink{structg__part__table_a92f8b06ed406ff27cf16ef532e8bd70c}{gpt\_created}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01063}01063         \textcolor{keywordflow}{if} (null != NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01064}01064                 kobj\_delete((kobj\_t)null, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01065}01065 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01066}01066         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01067}01067 \textcolor{comment}{         * Support automatic commit by filling in the gpp\_geom}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01068}01068 \textcolor{comment}{         * parameter.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01069}01069 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01070}01070         \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01071}01071         \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}} = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01072}01072 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01073}01073         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01074}01074         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01075}01075                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01076}01076                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s created\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01077}01077                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01078}01078                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01079}01079                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01080}01080         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01081}01081         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01082}01082 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01083}01083 fail:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01084}01084         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01085}01085         \textcolor{keywordflow}{if} (null == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01086}01086                 \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01087}01087                 \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01088}01088         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01089}01089                 kobj\_delete((kobj\_t)\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}}, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01090}01090                 \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}} = null;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01091}01091         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01092}01092         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d provider"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01093}01093         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01094}01094 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01095}01095 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01096}01096 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01097}\mbox{\hyperlink{g__part_8c_a0c58472dae27f83b96818007311ec36e}{01097}} \mbox{\hyperlink{g__part_8c_a0c58472dae27f83b96818007311ec36e}{g\_part\_ctl\_delete}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01098}01098 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01099}01099         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01100}01100         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01101}01101         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01102}01102         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01103}01103         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01104}01104 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01105}01105         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01106}01106         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01107}01107         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01108}01108 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01109}01109         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01110}01110 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01111}01111         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01112}01112                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01113}01113                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01114}01114                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01115}01115                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01116}01116         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01117}01117         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01118}01118                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, ENOENT, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01119}01119                 \textcolor{keywordflow}{return} (ENOENT);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01120}01120         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01121}01121 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01122}01122         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01123}01123         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01124}01124                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}} > 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} > 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}} > 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01125}01125                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, EBUSY);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01126}01126                         \textcolor{keywordflow}{return} (EBUSY);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01127}01127                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01128}01128 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01129}01129                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01130}01130                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01131}01131         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01132}01132 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01133}01133         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01134}01134                 \mbox{\hyperlink{geom_8h_a164882713025c4e0cc58b1ac8501bcf0}{g\_wither\_provider}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01135}01135 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01136}01136         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01137}01137         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01138}01138                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01139}01139                 G\_PART\_FULLNAME(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01140}01140                 sbuf\_cat(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{} deleted\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01141}01141                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01142}01142                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01143}01143                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01144}01144         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01145}01145 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01146}01146         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a69108d2a6ef4380b30d84ddab039043b}{gpe\_created}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01147}01147                 LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01148}01148                 \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01149}01149         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01150}01150                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01151}01151                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01152}01152         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01153}01153         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01154}01154 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01155}01155 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01156}01156 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01157}\mbox{\hyperlink{g__part_8c_a950abbdb1477e0f628b61d41bec5ec06}{01157}} \mbox{\hyperlink{g__part_8c_a950abbdb1477e0f628b61d41bec5ec06}{g\_part\_ctl\_destroy}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01158}01158 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01159}01159         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01160}01160         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01161}01161         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01162}01162         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, *tmp;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01163}01163         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *null, *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01164}01164         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01165}01165         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01166}01166 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01167}01167         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01168}01168         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01169}01169         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01170}01170 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01171}01171         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01172}01172         \textcolor{comment}{/* Check for busy providers. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01173}01173         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01174}01174                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01175}01175                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01176}01176                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4657d3e5faf49bdffdf5177976a06f52}{gpp\_force}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01177}01177                         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01178}01178                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01179}01179                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01180}01180                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}} == 0 \&\& \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} == 0 \&\& \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}} == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01181}01181                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01182}01182                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01183}01183                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, EBUSY);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01184}01184                 \textcolor{keywordflow}{return} (EBUSY);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01185}01185         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01186}01186 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01187}01187         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4657d3e5faf49bdffdf5177976a06f52}{gpp\_force}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01188}01188                 \textcolor{comment}{/* Destroy all providers. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01189}01189                 LIST\_FOREACH\_SAFE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry, tmp) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01190}01190                         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01191}01191                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01192}01192                                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01193}01193                                 \mbox{\hyperlink{geom_8h_a164882713025c4e0cc58b1ac8501bcf0}{g\_wither\_provider}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01194}01194                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01195}01195                         LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01196}01196                         \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01197}01197                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01198}01198         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01199}01199 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01200}01200         error = G\_PART\_DESTROY(table, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01201}01201         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01202}01202                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01203}01203                 \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01204}01204         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01205}01205 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01206}01206         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}} = kobj\_create((kobj\_class\_t)\&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}}, M\_GEOM,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01207}01207             M\_WAITOK);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01208}01208         null = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01209}01209         null-\/>\mbox{\hyperlink{structg__part__table_a0dad02eb728a87c70f5100f6c5a704d1}{gpt\_gp}} = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01210}01210         null-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} = \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01211}01211         LIST\_INIT(\&null-\/>gpt\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01212}01212 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01213}01213         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01214}01214         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01215}01215         null-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} / \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01216}01216 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01217}01217         null-\/>\mbox{\hyperlink{structg__part__table_afaa3c76b7cd3ca91b64f6f04409d4b98}{gpt\_depth}} = table-\/>\mbox{\hyperlink{structg__part__table_afaa3c76b7cd3ca91b64f6f04409d4b98}{gpt\_depth}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01218}01218         null-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01219}01219         null-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}} = table-\/>\mbox{\hyperlink{structg__part__table_a9e646bdafec74517607d5cbbea17f0d6}{gpt\_smhead}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01220}01220         null-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}} = table-\/>\mbox{\hyperlink{structg__part__table_a1af59a8f5bcaca5892983f531e25ca2e}{gpt\_smtail}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01221}01221 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01222}01222         \textcolor{keywordflow}{while} ((\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = LIST\_FIRST(\&table-\/>gpt\_entry)) != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01223}01223                 LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01224}01224                 \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01225}01225         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01226}01226         kobj\_delete((kobj\_t)table, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01227}01227 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01228}01228         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01229}01229         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01230}01230                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01231}01231                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s destroyed\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01232}01232                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01233}01233                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01234}01234                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01235}01235         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01236}01236         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01237}01237 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01238}01238 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01239}01239 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01240}\mbox{\hyperlink{g__part_8c_a906a71fba1b711f46f4f42646967539c}{01240}} \mbox{\hyperlink{g__part_8c_a906a71fba1b711f46f4f42646967539c}{g\_part\_ctl\_modify}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01241}01241 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01242}01242         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01243}01243         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01244}01244         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01245}01245         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01246}01246         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01247}01247 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01248}01248         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01249}01249         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01250}01250         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01251}01251 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01252}01252         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01253}01253 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01254}01254         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01255}01255                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01256}01256                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01257}01257                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01258}01258                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01259}01259         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01260}01260         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01261}01261                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, ENOENT, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01262}01262                 \textcolor{keywordflow}{return} (ENOENT);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01263}01263         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01264}01264 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01265}01265         error = G\_PART\_MODIFY(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01266}01266         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01267}01267                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01268}01268                 \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01269}01269         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01270}01270 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01271}01271         \textcolor{keywordflow}{if} (!\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a69108d2a6ef4380b30d84ddab039043b}{gpe\_created}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01272}01272                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01273}01273 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01274}01274         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01275}01275         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01276}01276                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01277}01277                 G\_PART\_FULLNAME(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01278}01278                 sbuf\_cat(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{} modified\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01279}01279                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01280}01280                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01281}01281                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01282}01282         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01283}01283         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01284}01284 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01285}01285 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01286}01286 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01287}\mbox{\hyperlink{g__part_8c_a5e52755032bc1f2c79df53dbd214537b}{01287}} \mbox{\hyperlink{g__part_8c_a5e52755032bc1f2c79df53dbd214537b}{g\_part\_ctl\_move}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01288}01288 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01289}01289         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d verb 'move'"{}}, ENOSYS);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01290}01290         \textcolor{keywordflow}{return} (ENOSYS);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01291}01291 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01292}01292 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01293}01293 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01294}\mbox{\hyperlink{g__part_8c_a8b0c9e7817a19a9e5a78ca72c36177d2}{01294}} \mbox{\hyperlink{g__part_8c_a8b0c9e7817a19a9e5a78ca72c36177d2}{g\_part\_ctl\_recover}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01295}01295 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01296}01296         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01297}01297         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01298}01298         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01299}01299         \textcolor{keywordtype}{int} error, recovered;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01300}01300 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01301}01301         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01302}01302         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01303}01303         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01304}01304         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01305}01305         error = recovered = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01306}01306 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01307}01307         \textcolor{keywordflow}{if} (table-\/>\mbox{\hyperlink{structg__part__table_a5ce1d4b26c04182b18781f8b501a4927}{gpt\_corrupt}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01308}01308                 error = G\_PART\_RECOVER(table);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01309}01309                 \textcolor{keywordflow}{if} (error == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01310}01310                         error = \mbox{\hyperlink{g__part_8c_a950ff8b1c652a2b2f087829405790d5b}{g\_part\_check\_integrity}}(table,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01311}01311                             LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01312}01312                 \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01313}01313                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d recovering '\%s' failed"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01314}01314                             error, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01315}01315                         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01316}01316                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01317}01317                 recovered = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01318}01318         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01319}01319         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01320}01320         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01321}01321                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01322}01322                 \textcolor{keywordflow}{if} (recovered)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01323}01323                         sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s recovered\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01324}01324                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01325}01325                         sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s recovering is not needed\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01326}01326                             \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01327}01327                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01328}01328                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01329}01329                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01330}01330         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01331}01331         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01332}01332 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01333}01333 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01334}01334 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01335}\mbox{\hyperlink{g__part_8c_a5385e9f5789e7e32b0b2a33425e5d906}{01335}} \mbox{\hyperlink{g__part_8c_a5385e9f5789e7e32b0b2a33425e5d906}{g\_part\_ctl\_resize}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01336}01336 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01337}01337         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01338}01338         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01339}01339         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *pe, *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01340}01340         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01341}01341         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01342}01342         quad\_t end;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01343}01343         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01344}01344         off\_t mediasize;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01345}01345 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01346}01346         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01347}01347         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01348}01348         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01349}01349         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01350}01350 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01351}01351         \textcolor{comment}{/* check gpp\_index */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01352}01352         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01353}01353                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01354}01354                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01355}01355                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01356}01356                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01357}01357         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01358}01358         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01359}01359                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, ENOENT, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01360}01360                 \textcolor{keywordflow}{return} (ENOENT);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01361}01361         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01362}01362 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01363}01363         \textcolor{comment}{/* check gpp\_size */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01364}01364         end = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} + \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}} -\/ 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01365}01365         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}} < 1 || end > table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01366}01366                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d size '\%jd'"{}}, EINVAL,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01367}01367                     (intmax\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01368}01368                 \textcolor{keywordflow}{return} (EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01369}01369         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01370}01370 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01371}01371         LIST\_FOREACH(pe, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01372}01372                 \textcolor{keywordflow}{if} (pe-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || pe-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}} || pe == \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01373}01373                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01374}01374                 \textcolor{keywordflow}{if} (end >= pe-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\& end <= pe-\/>gpe\_end) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01375}01375                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d end '\%jd'"{}}, ENOSPC,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01376}01376                             (intmax\_t)end);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01377}01377                         \textcolor{keywordflow}{return} (ENOSPC);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01378}01378                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01379}01379                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} < pe-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} \&\& end > pe-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01380}01380                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d size '\%jd'"{}}, ENOSPC,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01381}01381                             (intmax\_t)\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01382}01382                         \textcolor{keywordflow}{return} (ENOSPC);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01383}01383                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01384}01384         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01385}01385 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01386}01386         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01387}01387         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{geom_8h_aca9e9300747035c84977158ea1fe1d38}{g\_debugflags}} \& \mbox{\hyperlink{geom_8h_ac5335e69a9ab03862196e80d4e2c5af8}{G\_F\_FOOTSHOOTING}}) == 0 \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01388}01388             (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}} > 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} > 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}} > 0)) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01389}01389                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} -\/ \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} + 1 > \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01390}01390                         \textcolor{comment}{/* Deny shrinking of an opened partition. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01391}01391                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, EBUSY);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01392}01392                         \textcolor{keywordflow}{return} (EBUSY);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01393}01393                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01394}01394         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01395}01395 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01396}01396         error = G\_PART\_RESIZE(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01397}01397         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01398}01398                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d\%s"{}}, error, error != EBUSY ? \textcolor{stringliteral}{"{}"{}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01399}01399                     \textcolor{stringliteral}{"{} resizing will lead to unexpected shrinking"{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01400}01400                     \textcolor{stringliteral}{"{} due to alignment"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01401}01401                 \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01402}01402         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01403}01403 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01404}01404         \textcolor{keywordflow}{if} (!\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a69108d2a6ef4380b30d84ddab039043b}{gpe\_created}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01405}01405                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01406}01406 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01407}01407         \textcolor{comment}{/* update mediasize of changed provider */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01408}01408         mediasize = (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}} -\/ \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}} + 1) *}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01409}01409                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01410}01410         \mbox{\hyperlink{geom_8h_a72d479d3ccd8dec427b97c90557f3a4f}{g\_resize\_provider}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, mediasize);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01411}01411 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01412}01412         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01413}01413         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01414}01414                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01415}01415                 G\_PART\_FULLNAME(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01416}01416                 sbuf\_cat(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{} resized\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01417}01417                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01418}01418                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01419}01419                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01420}01420         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01421}01421         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01422}01422 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01423}01423 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01424}01424 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01425}\mbox{\hyperlink{g__part_8c_a6bb32d811caf18026c424077ca2349af}{01425}} \mbox{\hyperlink{g__part_8c_a6bb32d811caf18026c424077ca2349af}{g\_part\_ctl\_setunset}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01426}01426     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \mbox{\hyperlink{g__part__if_8m_a32f61524ac738fb8219d01f04ab7d698}{set}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01427}01427 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01428}01428         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01429}01429         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01430}01430         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01431}01431         \textcolor{keyword}{struct }sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01432}01432         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01433}01433 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01434}01434         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01435}01435         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01436}01436         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01437}01437 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01438}01438         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01439}01439 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01440}01440         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01441}01441                 LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01442}01442                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} || \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01443}01443                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01444}01444                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}} == \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01445}01445                                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01446}01446                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01447}01447                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01448}01448                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d index '\%d'"{}}, ENOENT,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01449}01449                             \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01450}01450                         \textcolor{keywordflow}{return} (ENOENT);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01451}01451                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01452}01452         \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01453}01453                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01454}01454 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01455}01455         error = G\_PART\_SETUNSET(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aeb8bcf14923c74495ce398738fa5ec0f}{gpp\_attrib}}, \mbox{\hyperlink{g__part__if_8m_a32f61524ac738fb8219d01f04ab7d698}{set}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01456}01456         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01457}01457                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d attrib '\%s'"{}}, error, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aeb8bcf14923c74495ce398738fa5ec0f}{gpp\_attrib}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01458}01458                 \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01459}01459         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01460}01460 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01461}01461         \textcolor{comment}{/* Provide feedback if so requested. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01462}01462         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01463}01463                 \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} = sbuf\_new\_auto();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01464}01464                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s \%sset on "{}}, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_aeb8bcf14923c74495ce398738fa5ec0f}{gpp\_attrib}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01465}01465                     (\mbox{\hyperlink{g__part__if_8m_a32f61524ac738fb8219d01f04ab7d698}{set}}) ? \textcolor{stringliteral}{"{}"{}} : \textcolor{stringliteral}{"{}un"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01466}01466                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01467}01467                         G\_PART\_FULLNAME(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01468}01468                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01469}01469                         sbuf\_cat(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01470}01470                 sbuf\_cat(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01471}01471                 sbuf\_finish(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01472}01472                 \mbox{\hyperlink{geom_8h_abf5d22b40dea53afe414a88271754c6a}{gctl\_set\_param}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}output"{}}, sbuf\_data(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}), sbuf\_len(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}) + 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01473}01473                 sbuf\_delete(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01474}01474         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01475}01475         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01476}01476 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01477}01477 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01478}01478 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01479}\mbox{\hyperlink{g__part_8c_a3c3290e0eb77e26a11fbcf50b37b207f}{01479}} \mbox{\hyperlink{g__part_8c_a3c3290e0eb77e26a11fbcf50b37b207f}{g\_part\_ctl\_undo}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} *\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01480}01480 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01481}01481         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01482}01482         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01483}01483         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01484}01484         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, *tmp;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01485}01485         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01486}01486         \textcolor{keywordtype}{int} error, reprobe;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01487}01487 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01488}01488         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}-\/>\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01489}01489         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01490}01490         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01491}01491 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01492}01492         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01493}01493         \textcolor{keywordflow}{if} (!table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01494}01494                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, EPERM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01495}01495                 \textcolor{keywordflow}{return} (EPERM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01496}01496         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01497}01497 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01498}01498         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01499}01499         LIST\_FOREACH\_SAFE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry, tmp) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01500}01500                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a23411cb54b171e9d8d2e364f18e9adc2}{gpe\_modified}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01501}01501                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a69108d2a6ef4380b30d84ddab039043b}{gpe\_created}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01502}01502                         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01503}01503                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01504}01504                                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01505}01505                                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01506}01506                                 \mbox{\hyperlink{geom_8h_a164882713025c4e0cc58b1ac8501bcf0}{g\_wither\_provider}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01507}01507                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01508}01508                         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01509}01509                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01510}01510                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a4c7748c49b831d481c9fd5c26f2aaf0b}{gpe\_deleted}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01511}01511                         LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01512}01512                         \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01513}01513                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01514}01514         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01515}01515 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01516}01516         \mbox{\hyperlink{geom_8h_a4628d4de49ba84e7a6126cc30d23b83a}{g\_topology\_unlock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01517}01517 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01518}01518         reprobe = (table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} == \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}} ||}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01519}01519             table-\/>\mbox{\hyperlink{structg__part__table_a92f8b06ed406ff27cf16ef532e8bd70c}{gpt\_created}}) ? 1 : 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01520}01520 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01521}01521         \textcolor{keywordflow}{if} (reprobe) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01522}01522                 LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01523}01523                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01524}01524                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01525}01525                         error = EBUSY;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01526}01526                         \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01527}01527                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01528}01528                 \textcolor{keywordflow}{while} ((\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = LIST\_FIRST(\&table-\/>gpt\_entry)) != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01529}01529                         LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01530}01530                         \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01531}01531                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01532}01532                 error = \mbox{\hyperlink{g__part_8c_af9edeef8af7e4a9bbe5604ef2bcd1266}{g\_part\_probe}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, table-\/>\mbox{\hyperlink{structg__part__table_afaa3c76b7cd3ca91b64f6f04409d4b98}{gpt\_depth}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01533}01533                 \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01534}01534                         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01535}01535                         \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01536}01536                         \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01537}01537                         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01538}01538                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01539}01539                 table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01540}01540 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01541}01541                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01542}01542 \textcolor{comment}{                 * Synthesize a disk geometry. Some partitioning schemes}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01543}01543 \textcolor{comment}{                 * depend on it and since some file systems need it even}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01544}01544 \textcolor{comment}{                 * when the partitition scheme doesn't, we do it here in}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01545}01545 \textcolor{comment}{                 * scheme-\/independent code.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01546}01546 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01547}01547                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01548}01548                 \mbox{\hyperlink{g__part_8c_a8804d8da982b7167b5e26a4667840fb0}{g\_part\_geometry}}(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} / \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01549}01549         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01550}01550 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01551}01551         error = G\_PART\_READ(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01552}01552         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01553}01553                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01554}01554         error = \mbox{\hyperlink{g__part_8c_a950ff8b1c652a2b2f087829405790d5b}{g\_part\_check\_integrity}}(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01555}01555         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01556}01556                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01557}01557 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01558}01558         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01559}01559         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01560}01560                 \textcolor{keywordflow}{if} (!\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01561}01561                         \mbox{\hyperlink{g__part_8c_ae97739950e4cf680bc292bcf4cf5f94b}{g\_part\_new\_provider}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01562}01562         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01563}01563 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01564}01564         table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01565}01565         \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01566}01566         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01567}01567 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01568}01568 fail:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01569}01569         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01570}01570         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01571}01571         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01572}01572 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01573}01573 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01574}01574 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01575}\mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{01575}} \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \textcolor{keywordtype}{int} error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01576}01576 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01577}01577         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01578}01578         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01579}01579         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01580}01580 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01581}01581         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01582}01582         \textcolor{keywordflow}{if} (table != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01583}01583                 \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01584}01584                 \textcolor{keywordflow}{while} ((\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = LIST\_FIRST(\&table-\/>gpt\_entry)) != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01585}01585                         LIST\_REMOVE(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, gpe\_entry);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01586}01586                         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01587}01587                         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a66a86cc3331d381350a436c607520492}{gpe\_pp}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01588}01588                         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01589}01589                                 \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}} = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01590}01590                                 \mbox{\hyperlink{geom_8h_a164882713025c4e0cc58b1ac8501bcf0}{g\_wither\_provider}}(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01591}01591                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01592}01592                         \mbox{\hyperlink{geom_8h_ad9924deb20de7b40cb6cf06e5ae28855}{g\_free}}(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01593}01593                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01594}01594                 G\_PART\_DESTROY(table, NULL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01595}01595                 kobj\_delete((kobj\_t)table, M\_GEOM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01596}01596         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01597}01597         \mbox{\hyperlink{geom_8h_a87a0eb5de79ed5e49fcfec012f213c9b}{g\_wither\_geom}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01598}01598 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01599}01599 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01600}01600 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01601}01601 \textcolor{comment}{ * Class methods.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01602}01602 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01603}01603 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01604}01604 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01605}\mbox{\hyperlink{g__part_8c_ab4cfedb13b79c1469b24a1c2599d1ce6}{01605}} \mbox{\hyperlink{g__part_8c_a6ebe0889f7e7266712b70da8b296a1b3}{g\_part\_ctlreq}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *verb)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01606}01606 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01607}01607         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__parms}{g\_part\_parms}} \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01608}01608         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01609}01609         \textcolor{keyword}{struct }\mbox{\hyperlink{structgctl__req__arg}{gctl\_req\_arg}} *ap;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01610}01610         \textcolor{keyword}{enum} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558}{g\_part\_ctl}} ctlreq;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01611}01611         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} i, mparms, oparms, parm;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01612}01612         \textcolor{keywordtype}{int} auto\_commit, close\_on\_error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01613}01613         \textcolor{keywordtype}{int} error, modifies;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01614}01614 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01615}01615         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s,\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}-\/>\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}}, verb));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01616}01616         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01617}01617 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01618}01618         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ad8074a593535ceb64411c1c09ea15ec0}{G\_PART\_CTL\_NONE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01619}01619         modifies = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01620}01620         mparms = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01621}01621         oparms = \mbox{\hyperlink{g__part_8h_aa0e849ab3ffab7d9abdf565bf8678994}{G\_PART\_PARM\_FLAGS}} | \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}} | \mbox{\hyperlink{g__part_8h_ac32afe6200b6317ab0285f5e1981a7e9}{G\_PART\_PARM\_VERSION}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01622}01622         \textcolor{keywordflow}{switch} (*verb) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01623}01623         \textcolor{keywordflow}{case} \textcolor{charliteral}{'a'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01624}01624                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}add"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01625}01625                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a9ef2bdb4f2c8506da3f842d13aec0a48}{G\_PART\_CTL\_ADD}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01626}01626                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_a3c6b753d0864c145b223f520588e545c}{G\_PART\_PARM\_SIZE}} |}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01627}01627                             \mbox{\hyperlink{g__part_8h_ab5924a26cac9fbccfb36cb147604d696}{G\_PART\_PARM\_START}} | \mbox{\hyperlink{g__part_8h_a2036d1a76dc411e4de5052cdb8c9a138}{G\_PART\_PARM\_TYPE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01628}01628                         oparms |= \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}} | \mbox{\hyperlink{g__part_8h_ac1f9e00d1a0a9fc01363d4d49541f42d}{G\_PART\_PARM\_LABEL}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01629}01629                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01630}01630                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01631}01631         \textcolor{keywordflow}{case} \textcolor{charliteral}{'b'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01632}01632                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}bootcode"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01633}01633                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a0c4437e71c0df84c78bec939c4318513}{G\_PART\_CTL\_BOOTCODE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01634}01634                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_af6f9a337e495010b623531144f34c604}{G\_PART\_PARM\_BOOTCODE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01635}01635                         oparms |= \mbox{\hyperlink{g__part_8h_a21557e2ab2650b81b9fb0598fdf7a096}{G\_PART\_PARM\_SKIP\_DSN}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01636}01636                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01637}01637                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01638}01638         \textcolor{keywordflow}{case} \textcolor{charliteral}{'c'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01639}01639                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}commit"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01640}01640                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558acfaeb2a4f5bcc87bf7a79dc7439e7f76}{G\_PART\_CTL\_COMMIT}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01641}01641                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01642}01642                         modifies = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01643}01643                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}create"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01644}01644                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a562739ed88d3b9497120af8167cf5251}{G\_PART\_CTL\_CREATE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01645}01645                         mparms |= \mbox{\hyperlink{g__part_8h_a6fdf78b17064b1da7f391890d2080ce2}{G\_PART\_PARM\_PROVIDER}} | \mbox{\hyperlink{g__part_8h_aff1a36bc1e46175650d7db03968b5b2b}{G\_PART\_PARM\_SCHEME}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01646}01646                         oparms |= \mbox{\hyperlink{g__part_8h_a95c44ec8234077b09de1d741ce52a9d7}{G\_PART\_PARM\_ENTRIES}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01647}01647                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01648}01648                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01649}01649         \textcolor{keywordflow}{case} \textcolor{charliteral}{'d'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01650}01650                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}delete"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01651}01651                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a5f67ac05c152e1f0b09a7ea8a713a09a}{G\_PART\_CTL\_DELETE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01652}01652                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01653}01653                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}destroy"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01654}01654                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a793729cf3a976478fdea287dce92e7d6}{G\_PART\_CTL\_DESTROY}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01655}01655                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01656}01656                         oparms |= \mbox{\hyperlink{g__part_8h_ab36a2b2f289525c5d6c6865730b916f2}{G\_PART\_PARM\_FORCE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01657}01657                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01658}01658                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01659}01659         \textcolor{keywordflow}{case} \textcolor{charliteral}{'m'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01660}01660                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}modify"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01661}01661                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558addf03dea98e3c0833f286714eb847224}{G\_PART\_CTL\_MODIFY}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01662}01662                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01663}01663                         oparms |= \mbox{\hyperlink{g__part_8h_ac1f9e00d1a0a9fc01363d4d49541f42d}{G\_PART\_PARM\_LABEL}} | \mbox{\hyperlink{g__part_8h_a2036d1a76dc411e4de5052cdb8c9a138}{G\_PART\_PARM\_TYPE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01664}01664                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}move"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01665}01665                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ae4bb699f6e849076dece01314cb80faa}{G\_PART\_CTL\_MOVE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01666}01666                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01667}01667                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01668}01668                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01669}01669         \textcolor{keywordflow}{case} \textcolor{charliteral}{'r'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01670}01670                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}recover"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01671}01671                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ab570cdd53d9be3485c5132a8ea8bf215}{G\_PART\_CTL\_RECOVER}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01672}01672                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01673}01673                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}resize"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01674}01674                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a97f9bd9a7f24030735c0f671990e3798}{G\_PART\_CTL\_RESIZE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01675}01675                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}} |}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01676}01676                             \mbox{\hyperlink{g__part_8h_a3c6b753d0864c145b223f520588e545c}{G\_PART\_PARM\_SIZE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01677}01677                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01678}01678                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01679}01679         \textcolor{keywordflow}{case} \textcolor{charliteral}{'s'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01680}01680                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}set"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01681}01681                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ab9636f4796f9af77206741e1fb5ce10b}{G\_PART\_CTL\_SET}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01682}01682                         mparms |= \mbox{\hyperlink{g__part_8h_acd2bb907b7f27689a7ad596226aa761a}{G\_PART\_PARM\_ATTRIB}} | \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01683}01683                         oparms |= \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01684}01684                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01685}01685                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01686}01686         \textcolor{keywordflow}{case} \textcolor{charliteral}{'u'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01687}01687                 \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}undo"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01688}01688                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ac625c5d6b595b65d6bec62b0d282f954}{G\_PART\_CTL\_UNDO}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01689}01689                         mparms |= \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01690}01690                         modifies = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01691}01691                 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(verb, \textcolor{stringliteral}{"{}unset"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01692}01692                         ctlreq = \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558af9c6058838f6f679430dca8b70d0aee3}{G\_PART\_CTL\_UNSET}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01693}01693                         mparms |= \mbox{\hyperlink{g__part_8h_acd2bb907b7f27689a7ad596226aa761a}{G\_PART\_PARM\_ATTRIB}} | \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01694}01694                         oparms |= \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01695}01695                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01696}01696                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01697}01697         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01698}01698         \textcolor{keywordflow}{if} (ctlreq == \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ad8074a593535ceb64411c1c09ea15ec0}{G\_PART\_CTL\_NONE}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01699}01699                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d verb '\%s'"{}}, EINVAL, verb);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01700}01700                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01701}01701         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01702}01702 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01703}01703         bzero(\&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01704}01704         \textcolor{keywordflow}{for} (i = 0; i < \mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}-\/>narg; i++) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01705}01705                 ap = \&\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}-\/>arg[i];}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01706}01706                 parm = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01707}01707                 \textcolor{keywordflow}{switch} (ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}[0]) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01708}01708                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'a'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01709}01709                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}arg0"{}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01710}01710                                 parm = mparms \&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01711}01711                                     (\mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}} | \mbox{\hyperlink{g__part_8h_a6fdf78b17064b1da7f391890d2080ce2}{G\_PART\_PARM\_PROVIDER}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01712}01712                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01713}01713                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}attrib"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01714}01714                                 parm = \mbox{\hyperlink{g__part_8h_acd2bb907b7f27689a7ad596226aa761a}{G\_PART\_PARM\_ATTRIB}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01715}01715                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01716}01716                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'b'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01717}01717                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}bootcode"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01718}01718                                 parm = \mbox{\hyperlink{g__part_8h_af6f9a337e495010b623531144f34c604}{G\_PART\_PARM\_BOOTCODE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01719}01719                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01720}01720                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'c'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01721}01721                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}class"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01722}01722                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01723}01723                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01724}01724                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'e'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01725}01725                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}entries"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01726}01726                                 parm = \mbox{\hyperlink{g__part_8h_a95c44ec8234077b09de1d741ce52a9d7}{G\_PART\_PARM\_ENTRIES}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01727}01727                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01728}01728                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'f'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01729}01729                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}flags"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01730}01730                                 parm = \mbox{\hyperlink{g__part_8h_aa0e849ab3ffab7d9abdf565bf8678994}{G\_PART\_PARM\_FLAGS}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01731}01731                         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}force"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01732}01732                                 parm = \mbox{\hyperlink{g__part_8h_ab36a2b2f289525c5d6c6865730b916f2}{G\_PART\_PARM\_FORCE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01733}01733                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01734}01734                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'i'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01735}01735                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}index"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01736}01736                                 parm = \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01737}01737                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01738}01738                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'l'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01739}01739                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}label"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01740}01740                                 parm = \mbox{\hyperlink{g__part_8h_ac1f9e00d1a0a9fc01363d4d49541f42d}{G\_PART\_PARM\_LABEL}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01741}01741                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01742}01742                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'o'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01743}01743                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}output"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01744}01744                                 parm = \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01745}01745                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01746}01746                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'s'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01747}01747                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}scheme"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01748}01748                                 parm = \mbox{\hyperlink{g__part_8h_aff1a36bc1e46175650d7db03968b5b2b}{G\_PART\_PARM\_SCHEME}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01749}01749                         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}size"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01750}01750                                 parm = \mbox{\hyperlink{g__part_8h_a3c6b753d0864c145b223f520588e545c}{G\_PART\_PARM\_SIZE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01751}01751                         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}start"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01752}01752                                 parm = \mbox{\hyperlink{g__part_8h_ab5924a26cac9fbccfb36cb147604d696}{G\_PART\_PARM\_START}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01753}01753                         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}skip\_dsn"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01754}01754                                 parm = \mbox{\hyperlink{g__part_8h_a21557e2ab2650b81b9fb0598fdf7a096}{G\_PART\_PARM\_SKIP\_DSN}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01755}01755                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01756}01756                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'t'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01757}01757                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}type"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01758}01758                                 parm = \mbox{\hyperlink{g__part_8h_a2036d1a76dc411e4de5052cdb8c9a138}{G\_PART\_PARM\_TYPE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01759}01759                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01760}01760                 \textcolor{keywordflow}{case} \textcolor{charliteral}{'v'}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01761}01761                         \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}verb"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01762}01762                                 \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01763}01763                         \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \textcolor{stringliteral}{"{}version"{}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01764}01764                                 parm = \mbox{\hyperlink{g__part_8h_ac32afe6200b6317ab0285f5e1981a7e9}{G\_PART\_PARM\_VERSION}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01765}01765                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01766}01766                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01767}01767                 \textcolor{keywordflow}{if} ((parm \& (mparms | oparms)) == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01768}01768                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d param '\%s'"{}}, EINVAL, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01769}01769                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01770}01770                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01771}01771                 \textcolor{keywordflow}{switch} (parm) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01772}01772                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_acd2bb907b7f27689a7ad596226aa761a}{G\_PART\_PARM\_ATTRIB}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01773}01773                         error = \mbox{\hyperlink{g__part_8c_a666d7236f236da01c5c68ebbdf273f24}{g\_part\_parm\_str}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01774}01774                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aeb8bcf14923c74495ce398738fa5ec0f}{gpp\_attrib}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01775}01775                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01776}01776                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_af6f9a337e495010b623531144f34c604}{G\_PART\_PARM\_BOOTCODE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01777}01777                         error = \mbox{\hyperlink{g__part_8c_ac3fa48bc08fe9c72e3b159dcd787f050}{g\_part\_parm\_bootcode}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01778}01778                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a3f4c4c99d5414901515b39156ac2f3d5}{gpp\_codeptr}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_acc3de4e9f86b75313ab6fda982809815}{gpp\_codesize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01779}01779                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01780}01780                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a95c44ec8234077b09de1d741ce52a9d7}{G\_PART\_PARM\_ENTRIES}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01781}01781                         error = \mbox{\hyperlink{g__part_8c_ac6402b91cb67de8fe7f718159f4391e2}{g\_part\_parm\_intmax}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01782}01782                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_af6fdc7c39ad40aea09d7ad4c1885b0ff}{gpp\_entries}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01783}01783                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01784}01784                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_aa0e849ab3ffab7d9abdf565bf8678994}{G\_PART\_PARM\_FLAGS}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01785}01785                         error = \mbox{\hyperlink{g__part_8c_a666d7236f236da01c5c68ebbdf273f24}{g\_part\_parm\_str}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a6565694cf82f889e928e848176bd4f87}{gpp\_flags}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01786}01786                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01787}01787                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_ab36a2b2f289525c5d6c6865730b916f2}{G\_PART\_PARM\_FORCE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01788}01788                         error = \mbox{\hyperlink{g__part_8c_ad121d30b4d685c464afcf1c57d218498}{g\_part\_parm\_uint32}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01789}01789                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4657d3e5faf49bdffdf5177976a06f52}{gpp\_force}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01790}01790                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01791}01791                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01792}01792                         error = \mbox{\hyperlink{g__part_8c_aa68f38129bdbbdfc6100adbb9a96af2c}{g\_part\_parm\_geom}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01793}01793                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01794}01794                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a00734851bc53cec63ee90e238f230d12}{G\_PART\_PARM\_INDEX}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01795}01795                         error = \mbox{\hyperlink{g__part_8c_ac6402b91cb67de8fe7f718159f4391e2}{g\_part\_parm\_intmax}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01796}01796                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a1c4767a6f897d5b344a0a3dd8a60e62a}{gpp\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01797}01797                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01798}01798                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_ac1f9e00d1a0a9fc01363d4d49541f42d}{G\_PART\_PARM\_LABEL}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01799}01799                         error = \mbox{\hyperlink{g__part_8c_a666d7236f236da01c5c68ebbdf273f24}{g\_part\_parm\_str}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_af6a2b23fe308388c9326e33fe5b646b1}{gpp\_label}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01800}01800                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01801}01801                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a3e1a53e2f0cdc94d3f7abdf2811a4ef3}{G\_PART\_PARM\_OUTPUT}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01802}01802                         error = 0;      \textcolor{comment}{/* Write-\/only parameter */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01803}01803                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01804}01804                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a6fdf78b17064b1da7f391890d2080ce2}{G\_PART\_PARM\_PROVIDER}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01805}01805                         error = \mbox{\hyperlink{g__part_8c_a019bf7b730b7dea4f3514cdafcad24df}{g\_part\_parm\_provider}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01806}01806                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a0167e72bae7184b18a4180134cc0c021}{gpp\_provider}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01807}01807                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01808}01808                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_aff1a36bc1e46175650d7db03968b5b2b}{G\_PART\_PARM\_SCHEME}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01809}01809                         error = \mbox{\hyperlink{g__part_8c_a0796bc987f3cb30141d488981b592c95}{g\_part\_parm\_scheme}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01810}01810                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aa0858c28abd69b15e06ec618a7156a4c}{gpp\_scheme}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01811}01811                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01812}01812                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a3c6b753d0864c145b223f520588e545c}{G\_PART\_PARM\_SIZE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01813}01813                         error = \mbox{\hyperlink{g__part_8c_ad01993ecd576af6235d41985bb880323}{g\_part\_parm\_quad}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a73f7831f174a1aa7c6c6b291b37b565d}{gpp\_size}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01814}01814                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01815}01815                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a21557e2ab2650b81b9fb0598fdf7a096}{G\_PART\_PARM\_SKIP\_DSN}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01816}01816                         error = \mbox{\hyperlink{g__part_8c_ad121d30b4d685c464afcf1c57d218498}{g\_part\_parm\_uint32}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01817}01817                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a36a77618fc18fd88b9839029646bcab7}{gpp\_skip\_dsn}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01818}01818                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01819}01819                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_ab5924a26cac9fbccfb36cb147604d696}{G\_PART\_PARM\_START}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01820}01820                         error = \mbox{\hyperlink{g__part_8c_ad01993ecd576af6235d41985bb880323}{g\_part\_parm\_quad}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01821}01821                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a0dafde1b8f8959235573b0479434e2cc}{gpp\_start}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01822}01822                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01823}01823                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a2036d1a76dc411e4de5052cdb8c9a138}{G\_PART\_PARM\_TYPE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01824}01824                         error = \mbox{\hyperlink{g__part_8c_a666d7236f236da01c5c68ebbdf273f24}{g\_part\_parm\_str}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a01eada6a88b8471f77555e6805d2644a}{gpp\_type}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01825}01825                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01826}01826                 \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_ac32afe6200b6317ab0285f5e1981a7e9}{G\_PART\_PARM\_VERSION}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01827}01827                         error = \mbox{\hyperlink{g__part_8c_ad121d30b4d685c464afcf1c57d218498}{g\_part\_parm\_uint32}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01828}01828                             \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_ae071ac713f79373c9ea8e014304a8fbd}{gpp\_version}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01829}01829                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01830}01830                 \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01831}01831                         error = EDOOFUS;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01832}01832                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d \%s"{}}, error, ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01833}01833                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01834}01834                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01835}01835                 \textcolor{keywordflow}{if} (error != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01836}01836                         \textcolor{keywordflow}{if} (error == ENOATTR) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01837}01837                                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d param '\%s'"{}}, error,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01838}01838                                     ap-\/>\mbox{\hyperlink{structgctl__req__arg_a24088807b1d983675d34eb2f0a3e9b5d}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01839}01839                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01840}01840                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01841}01841                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01842}01842                 \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} |= parm;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01843}01843         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01844}01844         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& mparms) != mparms) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01845}01845                 parm = mparms -\/ (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& mparms);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01846}01846                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d param '\%x'"{}}, ENOATTR, parm);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01847}01847                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01848}01848         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01849}01849 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01850}01850         \textcolor{comment}{/* Obtain permissions if possible/necessary. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01851}01851         close\_on\_error = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01852}01852         table = NULL;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01853}01853         \textcolor{keywordflow}{if} (modifies \&\& (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}})) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01854}01854                 table = \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01855}01855                 \textcolor{keywordflow}{if} (table != NULL \&\& table-\/>\mbox{\hyperlink{structg__part__table_a5ce1d4b26c04182b18781f8b501a4927}{gpt\_corrupt}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01856}01856                     ctlreq != \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a793729cf3a976478fdea287dce92e7d6}{G\_PART\_CTL\_DESTROY}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01857}01857                     ctlreq != \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ab570cdd53d9be3485c5132a8ea8bf215}{G\_PART\_CTL\_RECOVER}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01858}01858                     \mbox{\hyperlink{g__part_8c_a2ade1e27c2824f4bf382c9d34915c298}{geom\_part\_check\_integrity}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01859}01859                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d table '\%s' is corrupt"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01860}01860                             EPERM, \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01861}01861                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01862}01862                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01863}01863                 \textcolor{keywordflow}{if} (table != NULL \&\& !table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01864}01864                         error = \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}}-\/>consumer),}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01865}01865                             1, 1, 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01866}01866                         \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01867}01867                                 \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d geom '\%s'"{}}, error,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01868}01868                                     \mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01869}01869                                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01870}01870                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01871}01871                         table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01872}01872                         close\_on\_error = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01873}01873                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01874}01874         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01875}01875 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01876}01876         \textcolor{comment}{/* Allow the scheme to check or modify the parameters. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01877}01877         \textcolor{keywordflow}{if} (table != NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01878}01878                 error = G\_PART\_PRECHECK(table, ctlreq, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01879}01879                 \textcolor{keywordflow}{if} (error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01880}01880                         \mbox{\hyperlink{geom_8h_a1d51201471b52be7e19a98b0fcb144de}{gctl\_error}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{stringliteral}{"{}\%d pre-\/check failed"{}}, error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01881}01881                         \textcolor{keywordflow}{goto} out;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01882}01882                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01883}01883         \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01884}01884                 error = EDOOFUS;        \textcolor{comment}{/* Prevent bogus uninit. warning. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01885}01885 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01886}01886         \textcolor{keywordflow}{switch} (ctlreq) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01887}01887         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ad8074a593535ceb64411c1c09ea15ec0}{G\_PART\_CTL\_NONE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01888}01888                 panic(\textcolor{stringliteral}{"{}\%s"{}}, \_\_func\_\_);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01889}01889         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a9ef2bdb4f2c8506da3f842d13aec0a48}{G\_PART\_CTL\_ADD}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01890}01890                 error = \mbox{\hyperlink{g__part_8c_ad33997aaa1864ac0a5a5ecdad89a3aa8}{g\_part\_ctl\_add}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01891}01891                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01892}01892         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a0c4437e71c0df84c78bec939c4318513}{G\_PART\_CTL\_BOOTCODE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01893}01893                 error = \mbox{\hyperlink{g__part_8c_a3b2e83709ef9771ab429d14cd755dc99}{g\_part\_ctl\_bootcode}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01894}01894                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01895}01895         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558acfaeb2a4f5bcc87bf7a79dc7439e7f76}{G\_PART\_CTL\_COMMIT}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01896}01896                 error = \mbox{\hyperlink{g__part_8c_af50dfdaf104e49771b9713dc7950edc2}{g\_part\_ctl\_commit}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01897}01897                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01898}01898         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a562739ed88d3b9497120af8167cf5251}{G\_PART\_CTL\_CREATE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01899}01899                 error = \mbox{\hyperlink{g__part_8c_a58e554176f666aac1a24022d9d9f9205}{g\_part\_ctl\_create}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01900}01900                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01901}01901         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a5f67ac05c152e1f0b09a7ea8a713a09a}{G\_PART\_CTL\_DELETE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01902}01902                 error = \mbox{\hyperlink{g__part_8c_a0c58472dae27f83b96818007311ec36e}{g\_part\_ctl\_delete}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01903}01903                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01904}01904         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a793729cf3a976478fdea287dce92e7d6}{G\_PART\_CTL\_DESTROY}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01905}01905                 error = \mbox{\hyperlink{g__part_8c_a950abbdb1477e0f628b61d41bec5ec06}{g\_part\_ctl\_destroy}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01906}01906                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01907}01907         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558addf03dea98e3c0833f286714eb847224}{G\_PART\_CTL\_MODIFY}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01908}01908                 error = \mbox{\hyperlink{g__part_8c_a906a71fba1b711f46f4f42646967539c}{g\_part\_ctl\_modify}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01909}01909                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01910}01910         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ae4bb699f6e849076dece01314cb80faa}{G\_PART\_CTL\_MOVE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01911}01911                 error = \mbox{\hyperlink{g__part_8c_a5e52755032bc1f2c79df53dbd214537b}{g\_part\_ctl\_move}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01912}01912                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01913}01913         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ab570cdd53d9be3485c5132a8ea8bf215}{G\_PART\_CTL\_RECOVER}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01914}01914                 error = \mbox{\hyperlink{g__part_8c_a8b0c9e7817a19a9e5a78ca72c36177d2}{g\_part\_ctl\_recover}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01915}01915                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01916}01916         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558a97f9bd9a7f24030735c0f671990e3798}{G\_PART\_CTL\_RESIZE}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01917}01917                 error = \mbox{\hyperlink{g__part_8c_a5385e9f5789e7e32b0b2a33425e5d906}{g\_part\_ctl\_resize}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01918}01918                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01919}01919         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ab9636f4796f9af77206741e1fb5ce10b}{G\_PART\_CTL\_SET}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01920}01920                 error = \mbox{\hyperlink{g__part_8c_a6bb32d811caf18026c424077ca2349af}{g\_part\_ctl\_setunset}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}, 1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01921}01921                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01922}01922         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558ac625c5d6b595b65d6bec62b0d282f954}{G\_PART\_CTL\_UNDO}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01923}01923                 error = \mbox{\hyperlink{g__part_8c_a3c3290e0eb77e26a11fbcf50b37b207f}{g\_part\_ctl\_undo}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01924}01924                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01925}01925         \textcolor{keywordflow}{case} \mbox{\hyperlink{g__part_8h_a1e44a89a07ca9ed7087e2fdb5e495558af9c6058838f6f679430dca8b70d0aee3}{G\_PART\_CTL\_UNSET}}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01926}01926                 error = \mbox{\hyperlink{g__part_8c_a6bb32d811caf18026c424077ca2349af}{g\_part\_ctl\_setunset}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01927}01927                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01928}01928         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01929}01929 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01930}01930         \textcolor{comment}{/* Implement automatic commit. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01931}01931         \textcolor{keywordflow}{if} (!error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01932}01932                 auto\_commit = (modifies \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01933}01933                     (\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_aa0e849ab3ffab7d9abdf565bf8678994}{G\_PART\_PARM\_FLAGS}}) \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01934}01934                     strchr(\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a6565694cf82f889e928e848176bd4f87}{gpp\_flags}}, \textcolor{charliteral}{'C'}) != NULL) ? 1 : 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01935}01935                 \textcolor{keywordflow}{if} (auto\_commit) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01936}01936                         KASSERT(\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_aac8d6125fbcedb1791170d0cc791648a}{gpp\_parms}} \& \mbox{\hyperlink{g__part_8h_a4e3306d9b50302d2ae3ccfee75cbad89}{G\_PART\_PARM\_GEOM}}, (\textcolor{stringliteral}{"{}\%s"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01937}01937                             \_\_func\_\_));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01938}01938                         error = \mbox{\hyperlink{g__part_8c_af50dfdaf104e49771b9713dc7950edc2}{g\_part\_ctl\_commit}}(\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01939}01939                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01940}01940         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01941}01941 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01942}01942  out:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01943}01943         \textcolor{keywordflow}{if} (error \&\& close\_on\_error) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01944}01944                 \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_ad13d1d1e03609f599a8c4ea0a6801bf0}{gpp}}.\mbox{\hyperlink{structg__part__parms_a4612b7566df8c416e49efbd992ce1529}{gpp\_geom}}-\/>consumer), -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01945}01945                 table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01946}01946         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01947}01947 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01948}01948 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01949}01949 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01950}\mbox{\hyperlink{g__part_8c_a32313d2f87b34ce49e25af6e4bbc5f0c}{01950}} \mbox{\hyperlink{g__part_8c_ac987da7a226eaf11c8ac0d1e772785a3}{g\_part\_destroy\_geom}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structgctl__req}{gctl\_req}} *\mbox{\hyperlink{g__part__if_8m_a7a9f20c97e75f805eb506910bd3e70d3}{req}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01951}01951     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01952}01952 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01953}01953 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01954}01954         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s,\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}-\/>\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}}, \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01955}01955         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01956}01956 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01957}01957         \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, EINVAL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01958}01958         \textcolor{keywordflow}{return} (0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01959}01959 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01960}01960 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01961}01961 \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01962}\mbox{\hyperlink{g__part_8c_a7ee38ca8b1b777bbd36d2972aebc8bd6}{01962}} \mbox{\hyperlink{g__part_8c_ab7b9796f3c3bf923f35e881aa075ae56}{g\_part\_taste}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} \mbox{\hyperlink{structg__geom_afa218bd6b4ead71e6238ecd0577e1cc9}{flags}} \_\_unused)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01963}01963 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01964}01964         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01965}01965         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01966}01966         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01967}01967         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01968}01968         \textcolor{keyword}{struct }root\_hold\_token *rht;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01969}01969         \textcolor{keywordtype}{int} attr, depth;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01970}01970         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01971}01971 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01972}01972         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s,\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}-\/>\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01973}01973         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01974}01974 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01975}01975         \textcolor{comment}{/* Skip providers that are already open for writing. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01976}01976         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} > 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01977}01977                 \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01978}01978 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01979}01979         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01980}01980 \textcolor{comment}{         * Create a GEOM with consumer and hook it up to the provider.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01981}01981 \textcolor{comment}{         * With that we become part of the topology. Obtain read access}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01982}01982 \textcolor{comment}{         * to the provider.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01983}01983 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01984}01984         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{geom_8h_a4000befe2ff4b405b8333ccc5b0fdb41}{g\_new\_geomf}}(\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}, \textcolor{stringliteral}{"{}\%s"{}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01985}01985         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = \mbox{\hyperlink{geom_8h_aef9ca3f0eecc1b245c3c9cd0bac1cdc4}{g\_new\_consumer}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01986}01986         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_acf792357913c0445233b71f8259764d9}{flags}} |= \mbox{\hyperlink{geom_8h_a712586d00e1fe2a8069adfc048fee210}{G\_CF\_DIRECT\_SEND}} | \mbox{\hyperlink{geom_8h_a2184f2512ddb7a67ddbb71409cdd953f}{G\_CF\_DIRECT\_RECEIVE}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01987}01987         error = \mbox{\hyperlink{geom_8h_a7f6ee69db47bae6ff5284f6a9cfceb91}{g\_attach}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01988}01988         \textcolor{keywordflow}{if} (error == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01989}01989                 error = \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, 1, 0, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01990}01990         \textcolor{keywordflow}{if} (error != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01991}01991                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01992}01992                         \mbox{\hyperlink{geom_8h_a037802c2ec5d43fcf1222215f9f8a735}{g\_detach}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01993}01993                 \mbox{\hyperlink{geom_8h_a9f53f6118c5e44ca2bcbd7ae548597b9}{g\_destroy\_consumer}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01994}01994                 \mbox{\hyperlink{geom_8h_ac8307c99785f672632d3cf33134211ea}{g\_destroy\_geom}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01995}01995                 \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01996}01996         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01997}01997 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01998}01998         rht = root\_mount\_hold(\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}}-\/>\mbox{\hyperlink{structg__class_a66bf8381cf0afbf7ccdebfa6b90a4a96}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l01999}01999         \mbox{\hyperlink{geom_8h_a4628d4de49ba84e7a6126cc30d23b83a}{g\_topology\_unlock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02000}02000 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02001}02001         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02002}02002 \textcolor{comment}{         * Short-\/circuit the whole probing galore when there's no}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02003}02003 \textcolor{comment}{         * media present.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02004}02004 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02005}02005         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} == 0 || \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}} == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02006}02006                 error = ENODEV;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02007}02007                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02008}02008         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02009}02009 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02010}02010         \textcolor{comment}{/* Make sure we can nest and if so, determine our depth. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02011}02011         error = \mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{g\_getattr}}(\textcolor{stringliteral}{"{}PART::isleaf"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&attr);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02012}02012         \textcolor{keywordflow}{if} (!error \&\& attr) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02013}02013                 error = ENODEV;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02014}02014                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02015}02015         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02016}02016         error = \mbox{\hyperlink{geom_8h_a5ae737a0eaaf6cb08f6f6efe52e90a49}{g\_getattr}}(\textcolor{stringliteral}{"{}PART::depth"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&attr);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02017}02017         depth = (!error) ? attr + 1 : 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02018}02018 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02019}02019         error = \mbox{\hyperlink{g__part_8c_af9edeef8af7e4a9bbe5604ef2bcd1266}{g\_part\_probe}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, depth);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02020}02020         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02021}02021                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02022}02022 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02023}02023         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02024}02024 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02025}02025         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02026}02026 \textcolor{comment}{         * Synthesize a disk geometry. Some partitioning schemes}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02027}02027 \textcolor{comment}{         * depend on it and since some file systems need it even}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02028}02028 \textcolor{comment}{         * when the partitition scheme doesn't, we do it here in}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02029}02029 \textcolor{comment}{         * scheme-\/independent code.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02030}02030 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02031}02031         \mbox{\hyperlink{g__part_8c_a8804d8da982b7167b5e26a4667840fb0}{g\_part\_geometry}}(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} / \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_aea3cd43d41461790b8d0afcd8c49a355}{sectorsize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02032}02032 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02033}02033         error = G\_PART\_READ(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02034}02034         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02035}02035                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02036}02036         error = \mbox{\hyperlink{g__part_8c_a950ff8b1c652a2b2f087829405790d5b}{g\_part\_check\_integrity}}(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02037}02037         \textcolor{keywordflow}{if} (error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02038}02038                 \textcolor{keywordflow}{goto} fail;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02039}02039 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02040}02040         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02041}02041         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \&table-\/>gpt\_entry, gpe\_entry) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02042}02042                 \textcolor{keywordflow}{if} (!\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a86b17c79d155694f025280d9623e6fbb}{gpe\_internal}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02043}02043                         \mbox{\hyperlink{g__part_8c_ae97739950e4cf680bc292bcf4cf5f94b}{g\_part\_new\_provider}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02044}02044         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02045}02045 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02046}02046         root\_mount\_rel(rht);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02047}02047         \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, 0, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02048}02048         \textcolor{keywordflow}{return} (\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02049}02049 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02050}02050  fail:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02051}02051         \mbox{\hyperlink{geom_8h_a232419d2cfa06ff3f4ff7551041aed31}{g\_topology\_lock}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02052}02052         root\_mount\_rel(rht);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02053}02053         \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, 0, 0);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02054}02054         \mbox{\hyperlink{geom_8h_a037802c2ec5d43fcf1222215f9f8a735}{g\_detach}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02055}02055         \mbox{\hyperlink{geom_8h_a9f53f6118c5e44ca2bcbd7ae548597b9}{g\_destroy\_consumer}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02056}02056         \mbox{\hyperlink{geom_8h_ac8307c99785f672632d3cf33134211ea}{g\_destroy\_geom}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02057}02057         \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02058}02058 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02059}02059 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02060}02060 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02061}02061 \textcolor{comment}{ * Geom methods.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02062}02062 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02063}02063 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02064}02064 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02065}\mbox{\hyperlink{g__part_8c_a54ba12a80e78fe892b52d7d63f8d5335}{02065}} \mbox{\hyperlink{g__part_8c_a2d02633444c7029570435aad22ea51d6}{g\_part\_access}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \textcolor{keywordtype}{int} dr, \textcolor{keywordtype}{int} dw, \textcolor{keywordtype}{int} de)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02066}02066 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02067}02067         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02068}02068 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02069}02069         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a22c18e8b25a4cc916d2f8a063bca0a56}{G\_T\_ACCESS}}, \textcolor{stringliteral}{"{}\%s(\%s,\%d,\%d,\%d)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}, dr,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02070}02070             dw, de));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02071}02071 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02072}02072         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_afe5c92b8a2a9e4cdf1cab6daa96923c1}{geom}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02073}02073 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02074}02074         \textcolor{comment}{/* We always gain write-\/exclusive access. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02075}02075         \textcolor{keywordflow}{return} (\mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, dr, dw, dw + de));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02076}02076 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02077}02077 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02078}02078 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02079}\mbox{\hyperlink{g__part_8c_a768e225fd0e55855aed734957026e971}{02079}} \mbox{\hyperlink{g__part_8c_ab34acccc61d4eaae892030944206e9c2}{g\_part\_dumpconf}}(\textcolor{keyword}{struct} sbuf *\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *\mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02080}02080     \textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02081}02081 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02082}02082         \textcolor{keywordtype}{char} \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}[64];}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02083}02083         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02084}02084         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02085}02085 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02086}02086         KASSERT(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}} != NULL \&\& \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} != NULL, (\textcolor{stringliteral}{"{}\%s"{}}, \_\_func\_\_));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02087}02087         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02088}02088 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02089}02089         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02090}02090                 KASSERT(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} == NULL \&\& \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL, (\textcolor{stringliteral}{"{}\%s"{}}, \_\_func\_\_));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02091}02091                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02092}02092                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02093}02093                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02094}02094                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{} i \%u o \%ju ty \%s"{}}, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02095}02095                     (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02096}02096                     G\_PART\_TYPE(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}})));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02097}02097                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02098}02098 \textcolor{comment}{                 * libdisk compatibility quirk -\/ the scheme dumps the}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02099}02099 \textcolor{comment}{                 * slicer name and partition type in a way that is}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02100}02100 \textcolor{comment}{                 * compatible with libdisk. When libdisk is not used}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02101}02101 \textcolor{comment}{                 * anymore, this should go away.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02102}02102 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02103}02103                 G\_PART\_DUMPCONF(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02104}02104         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} != NULL) \{      \textcolor{comment}{/* Consumer configuration. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02105}02105                 KASSERT(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} == NULL, (\textcolor{stringliteral}{"{}\%s"{}}, \_\_func\_\_));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02106}02106                 \textcolor{comment}{/* none */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02107}02107         \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL) \{      \textcolor{comment}{/* Provider configuration. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02108}02108                 \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02109}02109                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02110}02110                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02111}02111                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<start>\%ju</start>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02112}02112                     (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a65789808f851b8e6a71d10511fdcd986}{gpe\_start}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02113}02113                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<end>\%ju</end>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02114}02114                     (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_ab7641d98c0e79484e0652c795f1123ab}{gpe\_end}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02115}02115                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<index>\%u</index>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02116}02116                     \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a908a1a135d9ed557c57c79d5fd866a02}{gpe\_index}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02117}02117                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<type>\%s</type>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02118}02118                     G\_PART\_TYPE(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}})));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02119}02119                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<offset>\%ju</offset>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02120}02120                     (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02121}02121                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<length>\%ju</length>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02122}02122                     (uintmax\_t)\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02123}02123                 G\_PART\_DUMPCONF(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02124}02124         \} \textcolor{keywordflow}{else} \{                        \textcolor{comment}{/* Geom configuration. */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02125}02125                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<scheme>\%s</scheme>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02126}02126                     table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>name);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02127}02127                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<entries>\%u</entries>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02128}02128                     table-\/>\mbox{\hyperlink{structg__part__table_a593162aef033d63adcfe51eabd071f7b}{gpt\_entries}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02129}02129                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<first>\%ju</first>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02130}02130                     (uintmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_a20e1ef23449d8669abc2d1737bd04eb7}{gpt\_first}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02131}02131                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<last>\%ju</last>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02132}02132                     (uintmax\_t)table-\/>\mbox{\hyperlink{structg__part__table_aed05f4ae3f70841485bb573fbb21e458}{gpt\_last}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02133}02133                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<fwsectors>\%u</fwsectors>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02134}02134                     table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02135}02135                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<fwheads>\%u</fwheads>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02136}02136                     table-\/>\mbox{\hyperlink{structg__part__table_a37be862f028201612aaa673c1e501d9b}{gpt\_heads}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02137}02137                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<state>\%s</state>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02138}02138                     table-\/>\mbox{\hyperlink{structg__part__table_a5ce1d4b26c04182b18781f8b501a4927}{gpt\_corrupt}} ? \textcolor{stringliteral}{"{}CORRUPT"{}}: \textcolor{stringliteral}{"{}OK"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02139}02139                 sbuf\_printf(\mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \textcolor{stringliteral}{"{}\%s<modified>\%s</modified>\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02140}02140                     table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} ? \textcolor{stringliteral}{"{}true"{}}: \textcolor{stringliteral}{"{}false"{}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02141}02141                 G\_PART\_DUMPCONF(table, NULL, \mbox{\hyperlink{g__part__if_8m_a4c23eb4bab5aa5d69bd84384b94d1f79}{sb}}, \mbox{\hyperlink{g__part__if_8m_a9a0d9ba518bc8db9a623d0a6ab81f81c}{indent}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02142}02142         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02143}02143 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02144}02144 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02145}02145 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02146}02146 \textcolor{comment}{ * This start routine is only called for non-\/trivial requests, all the}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02147}02147 \textcolor{comment}{ * trivial ones are handled autonomously by the slice code.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02148}02148 \textcolor{comment}{ * For requests we handle here, we must call the g\_io\_deliver() on the}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02149}02149 \textcolor{comment}{ * bio, and return non-\/zero to indicate to the slice code that we did so.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02150}02150 \textcolor{comment}{ * This code executes in the "{}DOWN"{} I/O path, this means:}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02151}02151 \textcolor{comment}{ *    * No sleeping.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02152}02152 \textcolor{comment}{ *    * Don't grab the topology lock.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02153}02153 \textcolor{comment}{ *    * Don't call biowait, g\_getattr(), g\_setattr() or g\_read\_data()}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02154}02154 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02155}02155 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02156}\mbox{\hyperlink{g__part_8c_a21b8cf0814fcf32b1ba4777fd140bc85}{02156}} \mbox{\hyperlink{g__part_8c_a913a5c0cc682633926038d218833a969}{g\_part\_ioctl}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, u\_long \mbox{\hyperlink{g__part__if_8m_ab932f62e09484cd3ce109f3db9d8f3ce}{cmd}}, \textcolor{keywordtype}{void} *\mbox{\hyperlink{g__part__if_8m_a735984d41155bc1032e09bece8f8d66d}{data}}, \textcolor{keywordtype}{int} \mbox{\hyperlink{g__part__if_8m_aab9e30d72b4b6af02ce19b24422ad2ce}{fflag}}, \textcolor{keyword}{struct} thread *\mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02157}02157 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02158}02158         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02159}02159 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02160}02160         table = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_afe5c92b8a2a9e4cdf1cab6daa96923c1}{geom}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02161}02161         \textcolor{keywordflow}{return} G\_PART\_IOCTL(table, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \mbox{\hyperlink{g__part__if_8m_ab932f62e09484cd3ce109f3db9d8f3ce}{cmd}}, \mbox{\hyperlink{g__part__if_8m_a735984d41155bc1032e09bece8f8d66d}{data}}, \mbox{\hyperlink{g__part__if_8m_aab9e30d72b4b6af02ce19b24422ad2ce}{fflag}}, \mbox{\hyperlink{g__part__if_8m_aaf840c84d139bb8ad4b3e668c92b3c30}{td}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02162}02162 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02163}02163 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02164}02164 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02165}\mbox{\hyperlink{g__part_8c_a51d0c8d9d505230070dc5e046df925f0}{02165}} \mbox{\hyperlink{g__part_8c_a8a5b9fa2481c947e1fa2486f11c77f17}{g\_part\_resize}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02166}02166 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02167}02167         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02168}02168 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02169}02169         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02170}02170         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02171}02171 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02172}02172         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part_8c_a147af6ccbdf67596ea0f9de68923e489}{auto\_resize}} == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02173}02173                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02174}02174 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02175}02175         table = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02176}02176         \textcolor{keywordflow}{if} (table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02177}02177                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, 1, 1, 1) != 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02178}02178                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02179}02179                 table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 1;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02180}02180         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02181}02181         \textcolor{keywordflow}{if} (G\_PART\_RESIZE(table, NULL, NULL) == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02182}02182                 printf(\textcolor{stringliteral}{"{}GEOM\_PART: \%s was automatically resized.\(\backslash\)n"{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02183}02183                     \textcolor{stringliteral}{"{}  Use `gpart commit \%s` to save changes or "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02184}02184                     \textcolor{stringliteral}{"{}`gpart undo \%s` to revert them.\(\backslash\)n"{}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02185}02185                     \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}}, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}-\/>\mbox{\hyperlink{structg__geom_af64450500f1fea18f639b191a5017107}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02186}02186         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part_8c_a950ff8b1c652a2b2f087829405790d5b}{g\_part\_check\_integrity}}(table, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}) != 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02187}02187                 \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02188}02188                 table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}} = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02189}02189                 \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(table-\/>\mbox{\hyperlink{structg__part__table_a0dad02eb728a87c70f5100f6c5a704d1}{gpt\_gp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02190}02190         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02191}02191 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02192}02192 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02193}02193 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02194}\mbox{\hyperlink{g__part_8c_aeedea694ed9fa5ca0993880abcf1188a}{02194}} \mbox{\hyperlink{g__part_8c_a5c3314d3ee36762b67df251d2ba86131}{g\_part\_orphan}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02195}02195 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02196}02196         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02197}02197         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02198}02198 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02199}02199         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02200}02200         KASSERT(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} != NULL, (\textcolor{stringliteral}{"{}\%s"{}}, \_\_func\_\_));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02201}02201         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02202}02202         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02203}02203 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02204}02204         KASSERT(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}} != 0, (\textcolor{stringliteral}{"{}\%s"{}}, \_\_func\_\_));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02205}02205         table = \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02206}02206         \textcolor{keywordflow}{if} (table != NULL \&\& table-\/>\mbox{\hyperlink{structg__part__table_aceec1494459b446182e2de9b046a3181}{gpt\_opened}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02207}02207                 \mbox{\hyperlink{geom_8h_a27b7c72cc3bc5a4d07ce5976e1aa1b58}{g\_access}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, -\/1, -\/1, -\/1);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02208}02208         \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}, \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_acacf1ee18cb6edbcfedc185846696e7f}{error}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02209}02209 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02210}02210 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02211}02211 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02212}\mbox{\hyperlink{g__part_8c_ac1d47c370eeed099af0843db6a030889}{02212}} \mbox{\hyperlink{g__part_8c_a65d3efc7fd8b98148e0413799e105a45}{g\_part\_spoiled}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02213}02213 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02214}02214 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02215}02215         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a7f1804ff1a11f763a1ab5bdbd3e1287c}{G\_T\_TOPOLOGY}}, \textcolor{stringliteral}{"{}\%s(\%s)"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a6435d5aec0376e995dce3131fd3beb52}{provider}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02216}02216         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02217}02217 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02218}02218         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_acf792357913c0445233b71f8259764d9}{flags}} |= \mbox{\hyperlink{geom_8h_aa8d4509af5fac49cbddf72c37146bb77}{G\_CF\_ORPHAN}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02219}02219         \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a75734fc8cd22ffc4209c36cc0a459cba}{geom}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02220}02220 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02221}02221 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02222}02222 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02223}\mbox{\hyperlink{g__part_8c_a719f5bf1ee9a79c14db5ca23c384ff51}{02223}} \mbox{\hyperlink{g__part_8c_afba7d6bc6e0ccd47ab46fdaf9a25afee}{g\_part\_start}}(\textcolor{keyword}{struct} bio *\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02224}02224 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02225}02225         \textcolor{keyword}{struct }bio *bp2;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02226}02226         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02227}02227         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02228}02228         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__entry}{g\_part\_entry}} *\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02229}02229         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02230}02230         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__kerneldump}{g\_kerneldump}} *gkd;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02231}02231         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02232}02232         void (*done\_func)(\textcolor{keyword}{struct }bio *) = \mbox{\hyperlink{geom_8h_a3b40808daecd7db79de16471ac14397a}{g\_std\_done}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02233}02233         \textcolor{keywordtype}{char} \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}[64];}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02234}02234 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02235}02235         biotrack(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \_\_func\_\_);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02236}02236 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02237}02237         \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}} = \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_to;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02238}02238         \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_afe5c92b8a2a9e4cdf1cab6daa96923c1}{geom}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02239}02239         table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02240}02240         \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}} = LIST\_FIRST(\&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02241}02241 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02242}02242         \mbox{\hyperlink{g__part_8h_a072e35bfe84c2df0ab3a84db2fe40e94}{G\_PART\_TRACE}}((\mbox{\hyperlink{geom_8h_a38d9a04b6d890b00e0ecf00497314c0c}{G\_T\_BIO}}, \textcolor{stringliteral}{"{}\%s: cmd=\%d, provider=\%s"{}}, \_\_func\_\_, \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_cmd,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02243}02243             \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}}));}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02244}02244 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02245}02245         \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a5516d1ee51e75b228f047f827f46431b}{private}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02246}02246         \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}} == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02247}02247                 \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, ENXIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02248}02248                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02249}02249         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02250}02250 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02251}02251         \textcolor{keywordflow}{switch}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_cmd) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02252}02252         \textcolor{keywordflow}{case} BIO\_DELETE:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02253}02253         \textcolor{keywordflow}{case} BIO\_READ:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02254}02254         \textcolor{keywordflow}{case} BIO\_WRITE:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02255}02255                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_offset >= \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02256}02256                         \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, EIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02257}02257                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02258}02258                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02259}02259                 bp2 = \mbox{\hyperlink{geom_8h_a4ef26e4ec68e35e8f892692c524a3d4f}{g\_clone\_bio}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02260}02260                 \textcolor{keywordflow}{if} (bp2 == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02261}02261                         \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, ENOMEM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02262}02262                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02263}02263                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02264}02264                 \textcolor{keywordflow}{if} (bp2-\/>bio\_offset + bp2-\/>bio\_length > \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02265}02265                         bp2-\/>bio\_length = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} -\/ bp2-\/>bio\_offset;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02266}02266                 bp2-\/>bio\_done = \mbox{\hyperlink{geom_8h_a3b40808daecd7db79de16471ac14397a}{g\_std\_done}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02267}02267                 bp2-\/>bio\_offset += \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02268}02268                 \mbox{\hyperlink{geom_8h_aa433c0ba9e8cad7c7da1f9e17b46eb7a}{g\_io\_request}}(bp2, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02269}02269                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02270}02270         \textcolor{keywordflow}{case} BIO\_SPEEDUP:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02271}02271         \textcolor{keywordflow}{case} BIO\_FLUSH:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02272}02272                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02273}02273         \textcolor{keywordflow}{case} BIO\_GETATTR:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02274}02274                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a1101b455c1a4dd4d75b17628d8196ddd}{g\_handleattr\_int}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{stringliteral}{"{}GEOM::fwheads"{}}, table-\/>\mbox{\hyperlink{structg__part__table_a37be862f028201612aaa673c1e501d9b}{gpt\_heads}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02275}02275                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02276}02276                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a1101b455c1a4dd4d75b17628d8196ddd}{g\_handleattr\_int}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{stringliteral}{"{}GEOM::fwsectors"{}}, table-\/>\mbox{\hyperlink{structg__part__table_a5472d6d927a4be105b3ef51f296b4b72}{gpt\_sectors}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02277}02277                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02278}02278                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02279}02279 \textcolor{comment}{                 * allow\_nesting overrides "{}isleaf"{} to false \_unless\_ the}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02280}02280 \textcolor{comment}{                 * provider offset is zero, since otherwise we would recurse.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02281}02281 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02282}02282                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a1101b455c1a4dd4d75b17628d8196ddd}{g\_handleattr\_int}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{stringliteral}{"{}PART::isleaf"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02283}02283                         table-\/>\mbox{\hyperlink{structg__part__table_a9a2e36211034cfeba117148818235994}{gpt\_isleaf}} \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02284}02284                         (\mbox{\hyperlink{g__part_8c_a882638cfc0fdefe0c0685917774244b6}{allow\_nesting}} == 0 || \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}} == 0)))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02285}02285                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02286}02286                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a1101b455c1a4dd4d75b17628d8196ddd}{g\_handleattr\_int}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{stringliteral}{"{}PART::depth"{}}, table-\/>\mbox{\hyperlink{structg__part__table_afaa3c76b7cd3ca91b64f6f04409d4b98}{gpt\_depth}}))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02287}02287                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02288}02288                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a735846145a44f7d3a1903e791bc8ccf8}{g\_handleattr\_str}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{stringliteral}{"{}PART::scheme"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02289}02289                     table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}}-\/>name))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02290}02290                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02291}02291                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{geom_8h_a735846145a44f7d3a1903e791bc8ccf8}{g\_handleattr\_str}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, \textcolor{stringliteral}{"{}PART::type"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02292}02292                     G\_PART\_TYPE(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}, \mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}}))))}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02293}02293                         \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02294}02294                 \textcolor{keywordflow}{if} (!strcmp(\textcolor{stringliteral}{"{}GEOM::physpath"{}}, \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_attribute)) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02295}02295                         done\_func = \mbox{\hyperlink{g__part_8c_a99130490ee4d0b2f81f99dd2136e9950}{g\_part\_get\_physpath\_done}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02296}02296                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02297}02297                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02298}02298                 \textcolor{keywordflow}{if} (!strcmp(\textcolor{stringliteral}{"{}GEOM::kerneldump"{}}, \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_attribute)) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02299}02299                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02300}02300 \textcolor{comment}{                         * Check that the partition is suitable for kernel}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02301}02301 \textcolor{comment}{                         * dumps. Typically only swap partitions should be}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02302}02302 \textcolor{comment}{                         * used. If the request comes from the nested scheme}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02303}02303 \textcolor{comment}{                         * we allow dumping there as well.}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02304}02304 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02305}02305                         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_from == NULL ||}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02306}02306                             \mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_from-\/>geom-\/>class != \&\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}}) \&\&}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02307}02307                             G\_PART\_DUMPTO(table, \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}) == 0) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02308}02308                                 \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, ENODEV);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02309}02309                                 printf(\textcolor{stringliteral}{"{}GEOM\_PART: Partition '\%s' not suitable"{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02310}02310                                     \textcolor{stringliteral}{"{} for kernel dumps (wrong type?)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02311}02311                                     \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a2bffb416ee58cf4df7839c6fd5ec004a}{name}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02312}02312                                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02313}02313                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02314}02314                         gkd = (\textcolor{keyword}{struct }\mbox{\hyperlink{structg__kerneldump}{g\_kerneldump}} *)\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}-\/>bio\_data;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02315}02315                         if (gkd-\/>\mbox{\hyperlink{structg__kerneldump_aa2f370e534c376b02e72f8c17d514482}{offset}} >= \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02316}02316                                 \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, EIO);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02317}02317                                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02318}02318                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02319}02319                         \textcolor{keywordflow}{if} (gkd-\/>\mbox{\hyperlink{structg__kerneldump_aa2f370e534c376b02e72f8c17d514482}{offset}} + gkd-\/>\mbox{\hyperlink{structg__kerneldump_a5dc5dec9fd5d176d53a0de31cfc6127b}{length}} > \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02320}02320                                 gkd-\/>\mbox{\hyperlink{structg__kerneldump_a5dc5dec9fd5d176d53a0de31cfc6127b}{length}} = \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a8f47c464c78aa91fa4ca5143ed3cd15e}{mediasize}} -\/ gkd-\/>\mbox{\hyperlink{structg__kerneldump_aa2f370e534c376b02e72f8c17d514482}{offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02321}02321                         gkd-\/>\mbox{\hyperlink{structg__kerneldump_aa2f370e534c376b02e72f8c17d514482}{offset}} += \mbox{\hyperlink{g__part__if_8m_a2c2a1eba20a891e9a733abad308a3bbc}{entry}}-\/>\mbox{\hyperlink{structg__part__entry_a62ceba6ca5f52399784040785acc2a64}{gpe\_offset}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02322}02322                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02323}02323                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02324}02324         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02325}02325                 \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, EOPNOTSUPP);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02326}02326                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02327}02327         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02328}02328 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02329}02329         bp2 = \mbox{\hyperlink{geom_8h_a4ef26e4ec68e35e8f892692c524a3d4f}{g\_clone\_bio}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02330}02330         \textcolor{keywordflow}{if} (bp2 == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02331}02331                 \mbox{\hyperlink{geom_8h_a0975be2dcd40a26a56a1a9bfc80433e1}{g\_io\_deliver}}(\mbox{\hyperlink{g__part__if_8m_a3786db8db96c32f69df9f7cd325a7507}{bp}}, ENOMEM);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02332}02332                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02333}02333         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02334}02334         bp2-\/>bio\_done = done\_func;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02335}02335         \mbox{\hyperlink{geom_8h_aa433c0ba9e8cad7c7da1f9e17b46eb7a}{g\_io\_request}}(bp2, \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02336}02336 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02337}02337 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02338}02338 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02339}\mbox{\hyperlink{g__part_8c_a6c31f9875affe0baa909ad79c1986aaa}{02339}} \mbox{\hyperlink{g__part_8c_a23fe82acea7b7ce79065471be32a8931}{g\_part\_init}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02340}02340 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02341}02341 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02342}02342         TAILQ\_INSERT\_HEAD(\&g\_part\_schemes, \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}}, scheme\_list);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02343}02343 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02344}02344 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02345}02345 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02346}\mbox{\hyperlink{g__part_8c_a7c737031472a4302f8c9af29802c18b4}{02346}} \mbox{\hyperlink{g__part_8c_ae96a8c84de747bb7d93ca2bcfc9bbda6}{g\_part\_fini}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structg__class}{g\_class}} *\mbox{\hyperlink{g__raid__md__if_8m_a4f7502795edfd2493d3d223d0df33e1d}{mp}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02347}02347 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02348}02348 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02349}02349         TAILQ\_REMOVE(\&g\_part\_schemes, \&\mbox{\hyperlink{g__part_8c_a745caa1ccd6684f84df3b1df96a6c8ad}{g\_part\_null\_scheme}}, scheme\_list);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02350}02350 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02351}02351 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02352}02352 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02353}\mbox{\hyperlink{g__part_8c_a9c42a0926cadffea82a0ec7d18dbf9b8}{02353}} \mbox{\hyperlink{g__part_8c_a9c42a0926cadffea82a0ec7d18dbf9b8}{g\_part\_unload\_event}}(\textcolor{keywordtype}{void} *arg, \textcolor{keywordtype}{int} flag)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02354}02354 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02355}02355         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__consumer}{g\_consumer}} *\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02356}02356         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__geom}{g\_geom}} *\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02357}02357         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__provider}{g\_provider}} *\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02358}02358         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} *scheme;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02359}02359         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__table}{g\_part\_table}} *table;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02360}02360         uintptr\_t *xchg;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02361}02361         \textcolor{keywordtype}{int} acc, error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02362}02362 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02363}02363         \textcolor{keywordflow}{if} (flag == \mbox{\hyperlink{geom_8h_afd5164d1355b481a911bb285baf4bc82}{EV\_CANCEL}})}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02364}02364                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02365}02365 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02366}02366         xchg = arg;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02367}02367         error = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02368}02368         scheme = (\textcolor{keywordtype}{void} *)(*xchg);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02369}02369 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02370}02370         \mbox{\hyperlink{geom_8h_a1898dc8c812faa5de231ab840e8562bf}{g\_topology\_assert}}();}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02371}02371 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02372}02372         LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, \&\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}}.geom, geom) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02373}02373                 table = \mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>\mbox{\hyperlink{structg__geom_aa83c08c83459420f6cbcfe64c6099466}{softc}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02374}02374                 \textcolor{keywordflow}{if} (table-\/>\mbox{\hyperlink{structg__part__table_a34eb7c407e232e50277567ac1723cd07}{gpt\_scheme}} != scheme)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02375}02375                         \textcolor{keywordflow}{continue};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02376}02376 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02377}02377                 acc = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02378}02378                 LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}, \&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>provider, provider)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02379}02379                         acc += \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_a62d7db6055318331bae725b44d58c140}{acr}} + \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_abc6824f999ce8b17107d833c908c83e6}{acw}} + \mbox{\hyperlink{g__part__if_8m_a9bc7638f295763b77465c5ebebbd3442}{pp}}-\/>\mbox{\hyperlink{structg__provider_ae46b0f6e935dcb33a2a06556dbcbeb4c}{ace}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02380}02380                 LIST\_FOREACH(\mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}, \&\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}-\/>consumer, consumer)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02381}02381                         acc += \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a40c3b377327dc07731eaf19340004033}{acr}} + \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_a28f563df0299e7e1ab9a1121b6e483eb}{acw}} + \mbox{\hyperlink{g__part__if_8m_a294f18324585ff37641fb8aa1c9ccd82}{cp}}-\/>\mbox{\hyperlink{structg__consumer_ace7a7f6859bd4cf00ff910bda08bb05a}{ace}};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02382}02382 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02383}02383                 \textcolor{keywordflow}{if} (!acc)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02384}02384                         \mbox{\hyperlink{g__part_8c_abcefa94c29cd5146444e4ada36c4e55b}{g\_part\_wither}}(\mbox{\hyperlink{g__part__if_8m_abdc908a08b24cd2e589de2f44e40eeb9}{gp}}, ENOSYS);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02385}02385                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02386}02386                         error = EBUSY;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02387}02387         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02388}02388 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02389}02389         \textcolor{keywordflow}{if} (!error)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02390}02390                 TAILQ\_REMOVE(\&g\_part\_schemes, scheme, scheme\_list);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02391}02391 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02392}02392         *xchg = error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02393}02393 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02394}02394 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02395}02395 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02396}\mbox{\hyperlink{g__part_8c_acd4ed986fbb6c2355fd3bb2e87f590fd}{02396}} \mbox{\hyperlink{g__part_8c_acd4ed986fbb6c2355fd3bb2e87f590fd}{g\_part\_modevent}}(module\_t mod, \textcolor{keywordtype}{int} \mbox{\hyperlink{geom__flashmap_8c_a763fd8db6bba8fbbbc113ca0d61c47c2}{type}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} *scheme)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02397}02397 \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02398}02398         \textcolor{keyword}{struct }\mbox{\hyperlink{structg__part__scheme}{g\_part\_scheme}} *iter;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02399}02399         uintptr\_t arg;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02400}02400         \textcolor{keywordtype}{int} error;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02401}02401 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02402}02402         error = 0;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02403}02403         \textcolor{keywordflow}{switch} (\mbox{\hyperlink{geom__flashmap_8c_a763fd8db6bba8fbbbc113ca0d61c47c2}{type}}) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02404}02404         \textcolor{keywordflow}{case} MOD\_LOAD:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02405}02405                 TAILQ\_FOREACH(iter, \&g\_part\_schemes, scheme\_list) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02406}02406                         \textcolor{keywordflow}{if} (scheme == iter) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02407}02407                                 printf(\textcolor{stringliteral}{"{}GEOM\_PART: scheme \%s is already "{}}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02408}02408                                     \textcolor{stringliteral}{"{}registered!\(\backslash\)n"{}}, scheme-\/>name);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02409}02409                                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02410}02410                         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02411}02411                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02412}02412                 \textcolor{keywordflow}{if} (iter == NULL) \{}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02413}02413                         TAILQ\_INSERT\_TAIL(\&g\_part\_schemes, scheme,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02414}02414                             scheme\_list);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02415}02415                         \mbox{\hyperlink{geom_8h_adb2947739c157b0cb4f1650d1122b953}{g\_retaste}}(\&\mbox{\hyperlink{g__part_8c_a1ac6b776626a71d49f4183d25478f400}{g\_part\_class}});}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02416}02416                 \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02417}02417                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02418}02418         \textcolor{keywordflow}{case} MOD\_UNLOAD:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02419}02419                 arg = (uintptr\_t)scheme;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02420}02420                 error = \mbox{\hyperlink{geom_8h_a098098146ac4f2ca5efa831ee5f248ae}{g\_waitfor\_event}}(\mbox{\hyperlink{g__part_8c_a9c42a0926cadffea82a0ec7d18dbf9b8}{g\_part\_unload\_event}}, \&arg, M\_WAITOK,}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02421}02421                     NULL);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02422}02422                 \textcolor{keywordflow}{if} (error == 0)}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02423}02423                         error = arg;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02424}02424                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02425}02425         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02426}02426                 error = EOPNOTSUPP;}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02427}02427                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02428}02428         \}}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02429}02429 }
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02430}02430         \textcolor{keywordflow}{return} (error);}
\DoxyCodeLine{\Hypertarget{g__part_8c_source_l02431}02431 \}}

\end{DoxyCode}
