Newer
Older
UbixOS / doc / xml / ufs_2ffs_2fs_8h.xml
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16">
  <compounddef id="ufs_2ffs_2fs_8h" kind="file" language="C++">
    <compoundname>fs.h</compoundname>
    <includes refid="mount_8h" local="no">vfs/mount.h</includes>
    <includes local="no">ufs/ufs/dinode.h</includes>
    <incdepgraph>
      <node id="10">
        <label>ufs/ufs/dinode.h</label>
      </node>
      <node id="5">
        <label>sys/select.h</label>
        <link refid="select_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>sys/_sigset.h</label>
        <link refid="__sigset_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>vfs/mount.h</label>
        <link refid="mount_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>sys/types.h</label>
        <link refid="include_2sys_2types_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h</label>
        <link refid="ufs_2ffs_2fs_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>sys/cdefs.h</label>
        <link refid="cdefs_8h"/>
      </node>
      <node id="4">
        <label>sys/_types.h</label>
        <link refid="__types_8h"/>
      </node>
      <node id="7">
        <label>sys/_timespec.h</label>
        <link refid="__timespec_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>sys/_timeval.h</label>
        <link refid="__timeval_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
    </incdepgraph>
    <innerclass refid="structcg" prot="public">cg</innerclass>
    <innerclass refid="structcsum" prot="public">csum</innerclass>
    <innerclass refid="structcsum__total" prot="public">csum_total</innerclass>
    <innerclass refid="structfs" prot="public">fs</innerclass>
    <innerclass refid="structfsck__cmd" prot="public">fsck_cmd</innerclass>
    <innerclass refid="structjblkrec" prot="public">jblkrec</innerclass>
    <innerclass refid="structjmvrec" prot="public">jmvrec</innerclass>
    <innerclass refid="unionjrec" prot="public">jrec</innerclass>
    <innerclass refid="structjrefrec" prot="public">jrefrec</innerclass>
    <innerclass refid="structjsegrec" prot="public">jsegrec</innerclass>
    <innerclass refid="structjtrncrec" prot="public">jtrncrec</innerclass>
      <sectiondef kind="define">
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af5d1b5729eafd3c171c9dd5885549621" prot="public" static="no">
        <name>ACTIVECGNUM</name>
        <param><defname>fs</defname></param>
        <param><defname>cg</defname></param>
        <initializer>((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_active[(<ref refid="structcg" kindref="compound">cg</ref>) / (<ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref> * sizeof(int))])</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="432" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="432" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad30e7295122b283f4e385651d2f24d83" prot="public" static="no">
        <name>ACTIVECGOFF</name>
        <param><defname>cg</defname></param>
        <initializer>(1 &lt;&lt; ((<ref refid="structcg" kindref="compound">cg</ref>) % (<ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref> * sizeof(int))))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="433" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="433" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae8adbc207667e22a3263c9a27bc65606" prot="public" static="no">
        <name>ACTIVECLEAR</name>
        <param><defname>fs</defname></param>
        <param><defname>cg</defname></param>
        <initializer>do {					\
	if ((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_active)						\
		<ref refid="ufs_2ffs_2fs_8h_1af5d1b5729eafd3c171c9dd5885549621" kindref="member">ACTIVECGNUM</ref>((<ref refid="structfs" kindref="compound">fs</ref>), (<ref refid="structcg" kindref="compound">cg</ref>)) &amp;= ~<ref refid="ufs_2ffs_2fs_8h_1ad30e7295122b283f4e385651d2f24d83" kindref="member">ACTIVECGOFF</ref>((<ref refid="structcg" kindref="compound">cg</ref>));		\
} while (0)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="438" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="438" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad84db69fcb3b77114c3be14364120622" prot="public" static="no">
        <name>ACTIVESET</name>
        <param><defname>fs</defname></param>
        <param><defname>cg</defname></param>
        <initializer>do {					\
	if ((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_active)						\
		<ref refid="ufs_2ffs_2fs_8h_1af5d1b5729eafd3c171c9dd5885549621" kindref="member">ACTIVECGNUM</ref>((<ref refid="structfs" kindref="compound">fs</ref>), (<ref refid="structcg" kindref="compound">cg</ref>)) |= <ref refid="ufs_2ffs_2fs_8h_1ad30e7295122b283f4e385651d2f24d83" kindref="member">ACTIVECGOFF</ref>((<ref refid="structcg" kindref="compound">cg</ref>));		\
} while (0)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="434" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="434" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1abeb46ff463938c875d10dc7d077f6503" prot="public" static="no">
        <name>AFPDIR</name>
        <initializer>64	/* expected number of files per directory */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="177" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="177" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aa6dce94fc058cff5a9d12840925229fe" prot="public" static="no">
        <name>AVFILESIZ</name>
        <initializer>16384	/* expected average <ref refid="structfile" kindref="compound">file</ref> size */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="176" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="176" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a5bb4110dff6259237b59f53236b0c1a1" prot="public" static="no">
        <name>BLK_NOCOPY</name>
        <initializer>((<ref refid="ufs_8h_1ad1d47f60518d845f7e798fa0f3458753" kindref="member">ufs2_daddr_t</ref>)(1))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="200" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="200" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1affee0e4ffe574b078c3355a00a9b3f14" prot="public" static="no">
        <name>BLK_SNAP</name>
        <initializer>((<ref refid="ufs_8h_1ad1d47f60518d845f7e798fa0f3458753" kindref="member">ufs2_daddr_t</ref>)(2))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="201" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="201" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ac11647795eb085ee43328d0c5bda47ae" prot="public" static="no">
        <name>blkmap</name>
        <param><defname>fs</defname></param>
        <param><defname>map</defname></param>
        <param><defname>loc</defname></param>
        <initializer>(((map)[(loc) / <ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref>] &gt;&gt; ((loc) % <ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref>)) &amp; (0xff &gt;&gt; (<ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref> - (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_frag)))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="562" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="562" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a6eee27f474f8a078036aa7f53c397baf" prot="public" static="no">
        <name>blknum</name>
        <param><defname>fs</defname></param>
        <param><defname>fsb</defname></param>
        <initializer>/* calculates rounddown(fsb, <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_frag) */ \
	((fsb) &amp;~ ((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_frag - 1))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="595" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="595" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1acd9d1b3e1eed7fc3850f8a78636dd5a7" prot="public" static="no">
        <name>blkoff</name>
        <param><defname>fs</defname></param>
        <param><defname>loc</defname></param>
        <initializer>/* calculates (loc % <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_bsize) */ \
	((loc) &amp; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_qbmask)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="570" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="570" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aa89a88333cc6b36b00f042417af7ab28" prot="public" static="no">
        <name>blkroundup</name>
        <param><defname>fs</defname></param>
        <param><defname>size</defname></param>
        <initializer>/* calculates roundup(size, <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_bsize) */ \
	(((size) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_qbmask) &amp; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bmask)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="585" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="585" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ac1f210a96207f2bb6fbcbc25d9d2d4e1" prot="public" static="no">
        <name>blksize</name>
        <param><defname>fs</defname></param>
        <param><defname>ip</defname></param>
        <param><defname>lbn</defname></param>
        <initializer>(((lbn) &gt;= <ref refid="ufs_8h_1a0c136d7ef3223bdd2b6e7c83c65bb508" kindref="member">NDADDR</ref> || (ip)-&gt;i_size &gt;= <ref refid="ufs_2ffs_2fs_8h_1a1d55f50ebbb5fa90396f3576e071bc98" kindref="member">smalllblktosize</ref>(<ref refid="structfs" kindref="compound">fs</ref>, (lbn) + 1)) \
	    ? (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bsize \
	    : (<ref refid="ufs_8h_1a1494995062a8a6dbbe60f8dc6a3e995d" kindref="member">fragroundup</ref>(<ref refid="structfs" kindref="compound">fs</ref>, <ref refid="ufs_8h_1acd9d1b3e1eed7fc3850f8a78636dd5a7" kindref="member">blkoff</ref>(<ref refid="structfs" kindref="compound">fs</ref>, (ip)-&gt;i_size))))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="610" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="610" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a95d2f2b9e139c995142d775a63ed5f03" prot="public" static="no">
        <name>blkstofrags</name>
        <param><defname>fs</defname></param>
        <param><defname>blks</defname></param>
        <initializer>/* calculates (blks * <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_frag) */ \
	((blks) &lt;&lt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fragshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="591" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="591" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a00468f2d32403dba365e84ccb8f2dc5f" prot="public" static="no">
        <name>cg_blksfree</name>
        <param><defname>cgp</defname></param>
        <initializer>((<ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref> *)((<ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref> *)(cgp) + (cgp)-&gt;cg_freeoff))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="510" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="510" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad863abad97449c80021eb3e264e31cf6" prot="public" static="no">
        <name>cg_chkmagic</name>
        <param><defname>cgp</defname></param>
        <initializer>((cgp)-&gt;cg_magic == <ref refid="ufs_2ffs_2fs_8h_1a543096929f4921023de02820c6b50436" kindref="member">CG_MAGIC</ref>)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="507" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="507" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1afdf6206c0f72fe914b885987a0dc76c0" prot="public" static="no">
        <name>cg_clustersfree</name>
        <param><defname>cgp</defname></param>
        <initializer>((<ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref> *)((<ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref> *)(cgp) + (cgp)-&gt;cg_clusteroff))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="512" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="512" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a640bf0194e9406d9780d9eb83f66bc68" prot="public" static="no">
        <name>cg_clustersum</name>
        <param><defname>cgp</defname></param>
        <initializer>((<ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref> *)((<ref refid="include_2sys_2types_8h_1a09674b9e56fd7a93a2169aa9210deec7" kindref="member">uintptr_t</ref>)(cgp) + (cgp)-&gt;cg_clustersumoff))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="514" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="514" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a1deb24b931a6b8fe6f5d0e76b8c41097" prot="public" static="no">
        <name>cg_inosused</name>
        <param><defname>cgp</defname></param>
        <initializer>((<ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref> *)((<ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref> *)(cgp) + (cgp)-&gt;cg_iusedoff))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="508" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="508" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a543096929f4921023de02820c6b50436" prot="public" static="no">
        <name>CG_MAGIC</name>
        <initializer>0x090255</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="472" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="472" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af7e946b674acc4ead5e3ae15317f52c0" prot="public" static="no">
        <name>cgbase</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(((<ref refid="ufs_8h_1ad1d47f60518d845f7e798fa0f3458753" kindref="member">ufs2_daddr_t</ref>)(<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fpg) * (c))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="528" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="528" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a83691a5846b97b4083c907e6c49de4fc" prot="public" static="no">
        <name>cgdata</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(<ref refid="ufs_8h_1a03cdc9c21f1412b107d85751f275c208" kindref="member">cgdmin</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_metaspace)	/* data zone */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="529" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="529" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a03cdc9c21f1412b107d85751f275c208" prot="public" static="no">
        <name>cgdmin</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(<ref refid="ufs_8h_1a1446925c904a61056fb611a539de03ca" kindref="member">cgstart</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_dblkno)	/* 1st data */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="531" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="531" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af2bea0d775018173b6e6f5141f09bdd0" prot="public" static="no">
        <name>cgimin</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(<ref refid="ufs_8h_1a1446925c904a61056fb611a539de03ca" kindref="member">cgstart</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_iblkno)	/* <ref refid="structinode" kindref="compound">inode</ref> blk */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="532" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="532" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a80e3d3175ea2099883a57d6acd3682e0" prot="public" static="no">
        <name>cgmeta</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(<ref refid="ufs_8h_1a03cdc9c21f1412b107d85751f275c208" kindref="member">cgdmin</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c))				/* meta data */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="530" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="530" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a6ccbaf50dd709f99482cafcbc427d834" prot="public" static="no">
        <name>cgsblock</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(<ref refid="ufs_8h_1a1446925c904a61056fb611a539de03ca" kindref="member">cgstart</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_sblkno)	/* super blk */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="533" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="533" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1add70b683b5059fd3c82f852a6a6f15e8" prot="public" static="no">
        <name>CGSIZE</name>
        <param><defname>fs</defname></param>
        <initializer>/* base <ref refid="structcg" kindref="compound">cg</ref> */	(sizeof(struct <ref refid="structcg" kindref="compound">cg</ref>) + sizeof(<ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref>) + \
    /* old btotoff */	(<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_old_cpg * sizeof(<ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref>) + \
    /* old boff */	(<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_old_cpg * sizeof(<ref refid="include_2sys_2types_8h_1af7b042408b9b104606f8a9b5035329f3" kindref="member">u_int16_t</ref>) + \
    /* <ref refid="structinode" kindref="compound">inode</ref> map */	howmany((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_ipg, <ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref>) + \
    /* block map */	howmany((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fpg, <ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref>) +\
    /* if present */	((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_contigsumsize &lt;= 0 ? 0 : \
    /* cluster sum */	(<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_contigsumsize * sizeof(<ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref>) + \
    /* cluster map */	howmany(<ref refid="ufs_2ffs_2fs_8h_1af495910a3c363ed48f63e8ed71efc29f" kindref="member">fragstoblks</ref>(<ref refid="structfs" kindref="compound">fs</ref>, (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fpg), <ref refid="vmm__mmap_8c_1ac3e045b1eb12fc6a000555fda916a023" kindref="member">NBBY</ref>)))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="449" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="449" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a1446925c904a61056fb611a539de03ca" prot="public" static="no">
        <name>cgstart</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_magic == <ref refid="ufs_8h_1a0b73b7456fc1dee932dc0c1056c613fc" kindref="member">FS_UFS2_MAGIC</ref> ? <ref refid="ufs_8h_1af7e946b674acc4ead5e3ae15317f52c0" kindref="member">cgbase</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) :		\
       (<ref refid="ufs_8h_1af7e946b674acc4ead5e3ae15317f52c0" kindref="member">cgbase</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_old_cgoffset * ((c) &amp; ~((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_old_cgmask))))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="535" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="535" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a5c527699eccebab4828fd122caea6cb7" prot="public" static="no">
        <name>cgtod</name>
        <param><defname>fs</defname></param>
        <param><defname>c</defname></param>
        <initializer>(<ref refid="ufs_8h_1a1446925c904a61056fb611a539de03ca" kindref="member">cgstart</ref>(<ref refid="structfs" kindref="compound">fs</ref>, c) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_cblkno)	/* <ref refid="structcg" kindref="compound">cg</ref> block */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="534" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="534" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a7875100ca8ad379e53628cb7dec48ecd" prot="public" static="no">
        <name>dbtofsb</name>
        <param><defname>fs</defname></param>
        <param><defname>b</defname></param>
        <initializer>((b) &gt;&gt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fsbtodb)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="522" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="522" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ac0137ded6f8af101a0ea008ffbe62d7f" prot="public" static="no">
        <name>DEFAULTOPT</name>
        <initializer><ref refid="ufs_2ffs_2fs_8h_1ae331c132b869580e7851c80f4611ea38" kindref="member">FS_OPTTIME</ref></initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="165" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="165" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1addb9672ece80e7c226115ecace858eec" prot="public" static="no">
        <name>dtog</name>
        <param><defname>fs</defname></param>
        <param><defname>d</defname></param>
        <initializer>((d) / (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fpg)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="555" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="555" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad66c886093f91fbf139daaf137e0bd60" prot="public" static="no">
        <name>dtogd</name>
        <param><defname>fs</defname></param>
        <param><defname>d</defname></param>
        <initializer>((d) % (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fpg)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="556" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="556" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aa05619dd59913bfda3199f12c7cce015" prot="public" static="no">
        <name>FFS_ADJ_BLKCNT</name>
        <initializer>2	/* adjust <ref refid="structinode" kindref="compound">inode</ref> used block count */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="207" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="207" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a7eeb711dcadf6283246d8a9e61980a1f" prot="public" static="no">
        <name>FFS_ADJ_NBFREE</name>
        <initializer>8	/* adjust number of free blocks */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="213" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="213" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ade4455eda3d3ff668c60075ac72c6d14" prot="public" static="no">
        <name>FFS_ADJ_NDIR</name>
        <initializer>7	/* adjust number of directories */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="212" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="212" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a7c032804ff7a087d3ffdd6440c95051c" prot="public" static="no">
        <name>FFS_ADJ_NFFREE</name>
        <initializer>10 	/* adjust number of free frags */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="215" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="215" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a86d6104e2b0109286e13c06bb0212f46" prot="public" static="no">
        <name>FFS_ADJ_NIFREE</name>
        <initializer>9	/* adjust number of free inodes */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="214" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="214" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae96f68bf42f9dc8f9802715ef3c109ef" prot="public" static="no">
        <name>FFS_ADJ_NUMCLUSTERS</name>
        <initializer>11	/* adjust number of free clusters */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="216" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="216" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a0e74599a871f2abe758bef1b42123bb0" prot="public" static="no">
        <name>FFS_ADJ_REFCNT</name>
        <initializer>1	/* adjust <ref refid="structinode" kindref="compound">inode</ref> reference count */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="206" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="206" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a77d83208fbc3af8385cda5d0c47cbc61" prot="public" static="no">
        <name>FFS_BLK_FREE</name>
        <initializer>3	/* free range of blocks in map */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="208" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="208" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1acb828f4d6f55a3dd7e66fcdf4ed54627" prot="public" static="no">
        <name>FFS_CMD_VERSION</name>
        <initializer>0x19790518	/* version ID */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="227" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="227" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a17bd0a0454da06da9aab1f86bd0b8ea4" prot="public" static="no">
        <name>FFS_DIR_FREE</name>
        <initializer>4	/* free specified dir inodes in map */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="209" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="209" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a3a3db08c0042cf109c8539af5e531711" prot="public" static="no">
        <name>FFS_FILE_FREE</name>
        <initializer>5	/* free specified <ref refid="structfile" kindref="compound">file</ref> inodes in map */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="210" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="210" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aabac33a5c8c848deec69644756657ca0" prot="public" static="no">
        <name>FFS_MAXID</name>
        <initializer>16	/* number of valid ffs ids */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="222" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="222" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad8f63d2ce3a63a7026aa4af23e28c759" prot="public" static="no">
        <name>FFS_SET_BUFOUTPUT</name>
        <initializer>16	/* set buffered writing on descriptor */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="221" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="221" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aab848f47ad66f7c4da3dad848157af4f" prot="public" static="no">
        <name>FFS_SET_CWD</name>
        <initializer>12	/* set current directory */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="217" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="217" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a37a8933573bf9c2e5a8a371355f41e36" prot="public" static="no">
        <name>FFS_SET_DOTDOT</name>
        <initializer>13	/* set <ref refid="structinode" kindref="compound">inode</ref> number for &quot;..&quot; */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="218" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="218" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a230781142be04b4f24fcf054aa56f9e9" prot="public" static="no">
        <name>FFS_SET_FLAGS</name>
        <initializer>6	/* set filesystem flags */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="211" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="211" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a56b97e7252798995b0debdd6783bcdcf" prot="public" static="no">
        <name>FFS_SET_INODE</name>
        <initializer>15	/* update an on-disk <ref refid="structinode" kindref="compound">inode</ref> */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="220" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="220" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a41f2e1110d0c1715fc71389ea705d398" prot="public" static="no">
        <name>FFS_UNLINK</name>
        <initializer>14	/* remove a <ref refid="pci_8c_1a8f8f80d37794cde9472343e4487ba3eb" kindref="member">name</ref> in the filesystem */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="219" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="219" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af1fecccf20b0223160bae2bd1e0b4fac" prot="public" static="no">
        <name>fragnum</name>
        <param><defname>fs</defname></param>
        <param><defname>fsb</defname></param>
        <initializer>/* calculates (fsb % <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_frag) */ \
	((fsb) &amp; ((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_frag - 1))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="593" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="593" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af9974b7bff345fab3b3e629ac40d9b92" prot="public" static="no">
        <name>fragoff</name>
        <param><defname>fs</defname></param>
        <param><defname>loc</defname></param>
        <initializer>/* calculates (loc % <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_fsize) */ \
	((loc) &amp; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_qfmask)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="572" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="572" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a1494995062a8a6dbbe60f8dc6a3e995d" prot="public" static="no">
        <name>fragroundup</name>
        <param><defname>fs</defname></param>
        <param><defname>size</defname></param>
        <initializer>/* calculates roundup(size, <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_fsize) */ \
	(((size) + (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_qfmask) &amp; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fmask)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="587" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="587" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af495910a3c363ed48f63e8ed71efc29f" prot="public" static="no">
        <name>fragstoblks</name>
        <param><defname>fs</defname></param>
        <param><defname>frags</defname></param>
        <initializer>/* calculates (frags / <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_frag) */ \
	((frags) &gt;&gt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fragshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="589" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="589" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a7f6459b64009021912845ee4ef17bcdd" prot="public" static="no">
        <name>freespace</name>
        <param><defname>fs</defname></param>
        <param><defname>percentreserved</defname></param>
        <initializer>(<ref refid="ufs_2ffs_2fs_8h_1a95d2f2b9e139c995142d775a63ed5f03" kindref="member">blkstofrags</ref>((<ref refid="structfs" kindref="compound">fs</ref>), (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_cstotal.cs_nbfree) + \
	(<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_cstotal.cs_nffree - \
	(((<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_dsize)) * (percentreserved) / 100))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="602" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="602" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1acb239d9104407b43a7a21a797b344df8" prot="public" static="no">
        <name>FS_42INODEFMT</name>
        <initializer>-1		/* 4.2BSD <ref refid="structinode" kindref="compound">inode</ref> format */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="380" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="380" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aec36ab3845dc8939b802549b97517678" prot="public" static="no">
        <name>FS_44INODEFMT</name>
        <initializer>2		/* 4.4BSD <ref refid="structinode" kindref="compound">inode</ref> format */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="381" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="381" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae61037919a220a5a6f77e3c860a0f556" prot="public" static="no">
        <name>FS_ACLS</name>
        <initializer>0x0010	/* <ref refid="structfile" kindref="compound">file</ref> system has POSIX.1e ACLs enabled */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="421" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="421" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a3a790ea6d8778aff9200aaf3e0aead98" prot="public" static="no">
        <name>FS_BAD_MAGIC</name>
        <initializer>0x19960408	/* UFS incomplete newfs magic number */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="378" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="378" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a5f7b68c2daf5963c504dd3eb9f424e83" prot="public" static="no">
        <name>fs_cs</name>
        <param><defname>fs</defname></param>
        <param><defname>indx</defname></param>
        <initializer>fs_csp[indx]</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="467" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="467" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a4d3ebb952d8b6e07239c2bb0f0819847" prot="public" static="no">
        <name>FS_DOSOFTDEP</name>
        <initializer>0x0002	/* filesystem using soft dependencies */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="418" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="418" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a982ce44156d077a994c2ec7faa4b89a9" prot="public" static="no">
        <name>FS_FLAGS_UPDATED</name>
        <initializer>0x0080	/* flags have been moved to new location */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="424" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="424" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aa06dce7dd9b81f4b727c7011d209f1bd" prot="public" static="no">
        <name>FS_GJOURNAL</name>
        <initializer>0x0040	/* gjournaled <ref refid="structfile" kindref="compound">file</ref> system */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="423" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="423" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a47d7b1f35a014650abc4cbc6abc5967e" prot="public" static="no">
        <name>FS_INDEXDIRS</name>
        <initializer>0x0200	/* kernel supports indexed directories */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="426" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="426" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae6032640f0739d9bf722b737dc7d8af1" prot="public" static="no">
        <name>FS_MAXCONTIG</name>
        <initializer>16</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="150" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="150" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a6ca57badba0a0a0bb1cba4d7186ed005" prot="public" static="no">
        <name>FS_MULTILABEL</name>
        <initializer>0x0020	/* <ref refid="structfile" kindref="compound">file</ref> system is MAC multi-label */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="422" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="422" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a495af838867548e70461e7dbda6bc325" prot="public" static="no">
        <name>FS_NEEDSFSCK</name>
        <initializer>0x0004	/* filesystem needs sync fsck before mount */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="419" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="419" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a8e03c37e9f2b46f17c2d72ac54f9a9d5" prot="public" static="no">
        <name>FS_NFS4ACLS</name>
        <initializer>0x0100	/* <ref refid="structfile" kindref="compound">file</ref> system has NFSv4 ACLs enabled */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="425" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="425" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a44a8a0e97e596d49a1a323b5db0a7650" prot="public" static="no">
        <name>FS_OKAY</name>
        <initializer>0x7c269d38	/* superblock checksum */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="379" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="379" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1abb1205b813dfa4f9e210648585dab67d" prot="public" static="no">
        <name>FS_OPTSPACE</name>
        <initializer>1	/* minimize disk fragmentation */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="387" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="387" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae331c132b869580e7851c80f4611ea38" prot="public" static="no">
        <name>FS_OPTTIME</name>
        <initializer>0	/* minimize allocation time */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="386" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="386" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a61d9ee509859575e0b8f3417c22d66d2" prot="public" static="no">
        <name>FS_SUJ</name>
        <initializer>0x0008	/* Filesystem using softupdate journal */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="420" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="420" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ac194d44f6d8ee87a5f468366a2ba321a" prot="public" static="no">
        <name>FS_TRIM</name>
        <initializer>0x0400	/* issue BIO_DELETE for deleted blocks */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="427" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="427" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ace25c7a73c514a8e575e1ba8c15c9a9e" prot="public" static="no">
        <name>FS_UFS1_MAGIC</name>
        <initializer>0x011954	/* <ref refid="ufsmount_8h_1a4e9b665625734832f1e9d74423c3d14e" kindref="member">UFS1</ref> fast filesystem magic number */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="376" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="376" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a0b73b7456fc1dee932dc0c1056c613fc" prot="public" static="no">
        <name>FS_UFS2_MAGIC</name>
        <initializer>0x19540119	/* <ref refid="ufsmount_8h_1ad32c8660fd7a17ed68caa6ce7fccdebb" kindref="member">UFS2</ref> fast filesystem magic number */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="377" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="377" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a6d8bc767f9c8365bef4d66b4c9efe0bd" prot="public" static="no">
        <name>FS_UNCLEAN</name>
        <initializer>0x0001	/* filesystem not clean at mount */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="417" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="417" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae26526d0ac7505aae7345f0288c17fe6" prot="public" static="no">
        <name>fsbtodb</name>
        <param><defname>fs</defname></param>
        <param><defname>b</defname></param>
        <initializer>((<ref refid="include_2sys_2types_8h_1ab4b318e7a68f3cd77c42492443c59895" kindref="member">daddr_t</ref>)(b) &lt;&lt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fsbtodb)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="521" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="521" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a04c33da6605e73954cf2ff32c3f0f15a" prot="public" static="no">
        <name>FSMAXSNAP</name>
        <initializer>20</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="187" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="187" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a22af882911b5ccb5c744257642089932" prot="public" static="no">
        <name>ino_to_cg</name>
        <param><defname>fs</defname></param>
        <param><defname>x</defname></param>
        <initializer>(((<ref refid="include_2sys_2types_8h_1a73341b7381d39d6e5b80ff9f23379dbd" kindref="member">ino_t</ref>)(x)) / (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_ipg)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="545" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="545" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aff52db23f4b31f920a657a75e0e5d58b" prot="public" static="no">
        <name>ino_to_fsba</name>
        <param><defname>fs</defname></param>
        <param><defname>x</defname></param>
        <initializer>((<ref refid="ufs_8h_1ad1d47f60518d845f7e798fa0f3458753" kindref="member">ufs2_daddr_t</ref>)(<ref refid="ufs_8h_1af2bea0d775018173b6e6f5141f09bdd0" kindref="member">cgimin</ref>(<ref refid="structfs" kindref="compound">fs</ref>, <ref refid="ufs_8h_1a22af882911b5ccb5c744257642089932" kindref="member">ino_to_cg</ref>(<ref refid="structfs" kindref="compound">fs</ref>, (<ref refid="include_2sys_2types_8h_1a73341b7381d39d6e5b80ff9f23379dbd" kindref="member">ino_t</ref>)(x))) +		\
	    (<ref refid="ufs_2ffs_2fs_8h_1a95d2f2b9e139c995142d775a63ed5f03" kindref="member">blkstofrags</ref>((<ref refid="structfs" kindref="compound">fs</ref>), ((((<ref refid="include_2sys_2types_8h_1a73341b7381d39d6e5b80ff9f23379dbd" kindref="member">ino_t</ref>)(x)) % (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_ipg) / <ref refid="ufs_2ffs_2fs_8h_1a093aab4d88e8ac7dacc93d9cb6cc58ee" kindref="member">INOPB</ref>(<ref refid="structfs" kindref="compound">fs</ref>))))))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="546" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="546" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aa318a9ca261ab408a6df7949a593fb57" prot="public" static="no">
        <name>ino_to_fsbo</name>
        <param><defname>fs</defname></param>
        <param><defname>x</defname></param>
        <initializer>(((<ref refid="include_2sys_2types_8h_1a73341b7381d39d6e5b80ff9f23379dbd" kindref="member">ino_t</ref>)(x)) % <ref refid="ufs_2ffs_2fs_8h_1a093aab4d88e8ac7dacc93d9cb6cc58ee" kindref="member">INOPB</ref>(<ref refid="structfs" kindref="compound">fs</ref>))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="549" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="549" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a093aab4d88e8ac7dacc93d9cb6cc58ee" prot="public" static="no">
        <name>INOPB</name>
        <param><defname>fs</defname></param>
        <initializer>((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_inopb)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="663" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="663" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a5939afd460c193768d22b459157fff03" prot="public" static="no">
        <name>INOPF</name>
        <param><defname>fs</defname></param>
        <initializer>((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_inopb &gt;&gt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fragshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="664" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="664" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a134d634023dc6c806ebd0ac3302387c6" prot="public" static="no">
        <name>JOP_ADDREF</name>
        <initializer>1	/* Add a reference to an inode. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="670" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="670" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a9d5817e0238c71f6e4adf39f9e9271d7" prot="public" static="no">
        <name>JOP_FREEBLK</name>
        <initializer>4	/* Free a block or a tree of blocks. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="673" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="673" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ac75aa27fa6823a9333348a5f2b9264aa" prot="public" static="no">
        <name>JOP_MVREF</name>
        <initializer>5	/* Move a reference from one off to another. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="674" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="674" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a7c7eb2831fd7d0973e30650b4727675b" prot="public" static="no">
        <name>JOP_NEWBLK</name>
        <initializer>3	/* Allocate a block. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="672" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="672" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a690b2696b6fb9002fc9b8eba3020d652" prot="public" static="no">
        <name>JOP_REMREF</name>
        <initializer>2	/* Remove a reference from an inode. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="671" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="671" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a4e0d73f00c3077e2f469d7bae5f033e7" prot="public" static="no">
        <name>JOP_SYNC</name>
        <initializer>7	/* fsync() complete record. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="676" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="676" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a99f5802b336acd498d6887f60942e94d" prot="public" static="no">
        <name>JOP_TRUNC</name>
        <initializer>6	/* Partial truncation record. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="675" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="675" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" prot="public" static="no">
        <name>JREC_SIZE</name>
        <initializer>32	/* Record and segment header size. */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="678" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="678" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a1ea09415cf1bc5de0d0d4a7158a5c736" prot="public" static="no">
        <name>lblkno</name>
        <param><defname>fs</defname></param>
        <param><defname>loc</defname></param>
        <initializer>/* calculates (loc / <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_bsize) */ \
	((loc) &gt;&gt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="581" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="581" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a5b967dc8f042bb719c6e745e78824d7e" prot="public" static="no">
        <name>lblktosize</name>
        <param><defname>fs</defname></param>
        <param><defname>blk</defname></param>
        <initializer>/* calculates ((<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)blk * <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_bsize) */ \
	(((<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)(blk)) &lt;&lt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="576" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="576" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a9f0783e610130a4e2414a8b5d970b6ea" prot="public" static="no">
        <name>lfragtosize</name>
        <param><defname>fs</defname></param>
        <param><defname>frag</defname></param>
        <initializer>/* calculates ((<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)frag * <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_fsize) */ \
	(((<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)(frag)) &lt;&lt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="574" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="574" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a0a726df03725023405ee5dd1d3a897c5" prot="public" static="no">
        <name>MAXFRAG</name>
        <initializer>8</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="82" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="82" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a0beb14d415a358b818cec76550e4fad1" prot="public" static="no">
        <name>MAXMNTLEN</name>
        <initializer>468</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="119" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="119" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ac5859c27029a47d17c1279cc197f05c3" prot="public" static="no">
        <name>MAXVOLLEN</name>
        <initializer>32</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="125" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="125" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1af1c15a7b2752e4c2fed4a3819192f8f3" prot="public" static="no">
        <name>MINBSIZE</name>
        <initializer>4096</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="112" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="112" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a797bf03d58cdfd1c381eb11aacff1a09" prot="public" static="no">
        <name>MINCYLGRPS</name>
        <initializer>4</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="462" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="462" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a4d07ee78d02c6f1d6a1fc1c1ead0a262" prot="public" static="no">
        <name>MINFREE</name>
        <initializer>8</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="164" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="164" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a6d58397786421684bb8db78f01e13ae6" prot="public" static="no">
        <name>NINDIR</name>
        <param><defname>fs</defname></param>
        <initializer>((<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_nindir)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="622" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="622" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1aca816b354128719c1523e33152a13637" prot="public" static="no">
        <name>NOCSPTRS</name>
        <initializer>((128 / sizeof(void *)) - 4)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="142" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="142" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1acfa519646d8a011297a5859930944c99" prot="public" static="no">
        <name>numfrags</name>
        <param><defname>fs</defname></param>
        <param><defname>loc</defname></param>
        <initializer>/* calculates (loc / <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_fsize) */ \
	((loc) &gt;&gt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_fshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="583" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="583" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad35c4c33dc54a0b8db742e0b3b5f64aa" prot="public" static="no">
        <name>sblksize</name>
        <param><defname>fs</defname></param>
        <param><defname>size</defname></param>
        <param><defname>lbn</defname></param>
        <initializer>(((lbn) &gt;= <ref refid="ufs_8h_1a0c136d7ef3223bdd2b6e7c83c65bb508" kindref="member">NDADDR</ref> || (size) &gt;= ((lbn) + 1) &lt;&lt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bshift) \
	  ? (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bsize \
	  : (<ref refid="ufs_8h_1a1494995062a8a6dbbe60f8dc6a3e995d" kindref="member">fragroundup</ref>(<ref refid="structfs" kindref="compound">fs</ref>, <ref refid="ufs_8h_1acd9d1b3e1eed7fc3850f8a78636dd5a7" kindref="member">blkoff</ref>(<ref refid="structfs" kindref="compound">fs</ref>, (size)))))</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="614" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="614" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ab6b633b015b70b15317113908ccc0a17" prot="public" static="no">
        <name>SBLOCK_FLOPPY</name>
        <initializer>0</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="71" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="71" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1afa52e1b5081edc4bbc9c7e29556bfc92" prot="public" static="no">
        <name>SBLOCK_PIGGY</name>
        <initializer>262144</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="74" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="74" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ad25e0f8e55fba4f0d670b43361e6b61e" prot="public" static="no">
        <name>SBLOCK_UFS1</name>
        <initializer>8192</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="72" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="72" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a7376590d1dfaa886ae6ac77649aaea52" prot="public" static="no">
        <name>SBLOCK_UFS2</name>
        <initializer>65536</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="73" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="73" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a63f5b70b0dfe26fd775e89713f552e23" prot="public" static="no">
        <name>SBLOCKSEARCH</name>
        <initializer>{ <ref refid="ufs_8h_1a7376590d1dfaa886ae6ac77649aaea52" kindref="member">SBLOCK_UFS2</ref>, <ref refid="ufs_8h_1ad25e0f8e55fba4f0d670b43361e6b61e" kindref="member">SBLOCK_UFS1</ref>, <ref refid="ufs_8h_1ab6b633b015b70b15317113908ccc0a17" kindref="member">SBLOCK_FLOPPY</ref>, <ref refid="ufs_8h_1afa52e1b5081edc4bbc9c7e29556bfc92" kindref="member">SBLOCK_PIGGY</ref>, -1 }</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="76" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="76" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ab7ef7deca5409474c504d9c927e97249" prot="public" static="no">
        <name>SBLOCKSIZE</name>
        <initializer>8192</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="75" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="75" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a1d55f50ebbb5fa90396f3576e071bc98" prot="public" static="no">
        <name>smalllblktosize</name>
        <param><defname>fs</defname></param>
        <param><defname>blk</defname></param>
        <initializer>/* calculates (blk * <ref refid="structfs" kindref="compound">fs</ref>-&gt;fs_bsize) */ \
	((blk) &lt;&lt; (<ref refid="structfs" kindref="compound">fs</ref>)-&gt;fs_bshift)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="579" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="579" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a37c8e3e7ddf943e18f40826f0d4bf6b5" prot="public" static="no">
        <name>SUJ_FILE</name>
        <initializer>&quot;.sujournal&quot;		/* Journal <ref refid="structfile" kindref="compound">file</ref> <ref refid="pci_8c_1a8f8f80d37794cde9472343e4487ba3eb" kindref="member">name</ref> */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="682" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="682" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a91e540c7a8059e7ed242e6b393185134" prot="public" static="no">
        <name>SUJ_MAX</name>
        <initializer>(32 * 1024 * 1024)	/* Maximum journal size */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="681" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="681" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a57fecb337d45cced110e07e4453667ba" prot="public" static="no">
        <name>SUJ_MIN</name>
        <initializer>(4 * 1024 * 1024)	/* Minimum journal size */</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="680" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="680" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1ae33287b99e13a8ad88976a730658c7fe" prot="public" static="no">
        <name>UFSRESUME</name>
        <initializer><ref refid="ioctl_8h_1a07792d882badfbf686051cd670b6bef0" kindref="member">_IO</ref>(&apos;U&apos;, 2)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="776" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="776" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="ufs_2ffs_2fs_8h_1a52c0d0571a2cba9f05c05e33cc141936" prot="public" static="no">
        <name>UFSSUSPEND</name>
        <initializer><ref refid="ioctl_8h_1af6f978c977cb0e07f43fb862b23a8096" kindref="member">_IOW</ref>(&apos;U&apos;, 1, <ref refid="mount_8h_1a64b15807dd2ede85d728b779134071a2" kindref="member">fsid_t</ref>)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="775" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="775" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="var">
      <memberdef kind="variable" id="ufs_2ffs_2fs_8h_1a34ec76b74d405e5b8d84f03da131e31b" prot="public" static="no" mutable="no">
        <type>int</type>
        <definition>int around[]</definition>
        <argsstring>[]</argsstring>
        <name>around</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="769" column="19" declfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" declline="769" declcolumn="19"/>
      </memberdef>
      <memberdef kind="variable" id="ufs_2ffs_2fs_8h_1a2b6976f7b2ef1386046f64697328599c" prot="public" static="no" mutable="no">
        <type><ref refid="include_2sys_2types_8h_1ae2b02ed168fc99cff3851603910b1fb6" kindref="member">u_char</ref> *</type>
        <definition>u_char* fragtbl[]</definition>
        <argsstring>[]</argsstring>
        <name>fragtbl</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="770" column="15" declfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" declline="770" declcolumn="15"/>
      </memberdef>
      <memberdef kind="variable" id="ufs_2ffs_2fs_8h_1a9de91045e6b0e9956ab6648124ac3dcc" prot="public" static="no" mutable="no">
        <type>int</type>
        <definition>int inside[]</definition>
        <argsstring>[]</argsstring>
        <name>inside</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="769" column="12" declfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" declline="769" declcolumn="12"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="ufs_2ffs_2fs_8h_1a907971fd1d99b7d751ff93ab3e905928" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>int</type>
        <definition>static int lbn_level</definition>
        <argsstring>(ufs_lbn_t lbn)</argsstring>
        <name>lbn_level</name>
        <param>
          <type><ref refid="ufs_8h_1acfdbacc42c74f81152f66f8f81316513" kindref="member">ufs_lbn_t</ref></type>
          <declname>lbn</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="631" column="1" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="631" bodyend="648"/>
      </memberdef>
      <memberdef kind="function" id="ufs_2ffs_2fs_8h_1a87a066b5d92d13e7f48886f0e7e66681" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type><ref refid="ufs_8h_1acfdbacc42c74f81152f66f8f81316513" kindref="member">ufs_lbn_t</ref></type>
        <definition>static ufs_lbn_t lbn_offset</definition>
        <argsstring>(struct fs *fs, int level)</argsstring>
        <name>lbn_offset</name>
        <param>
          <type>struct <ref refid="structfs" kindref="compound">fs</ref> *</type>
          <declname>fs</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" line="651" column="1" bodyfile="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h" bodystart="651" bodyend="658"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="comment">/*-</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>*<sp/>Copyright<sp/>(c)<sp/>1982,<sp/>1986,<sp/>1993</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>The<sp/>Regents<sp/>of<sp/>the<sp/>University<sp/>of<sp/>California.<sp/><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>*<sp/>Redistribution<sp/>and<sp/>use<sp/>in<sp/>source<sp/>and<sp/>binary<sp/>forms,<sp/>with<sp/>or<sp/>without</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>*<sp/>modification,<sp/>are<sp/>permitted<sp/>provided<sp/>that<sp/>the<sp/>following<sp/>conditions</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>*<sp/>are<sp/>met:</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>*<sp/>1.<sp/>Redistributions<sp/>of<sp/>source<sp/>code<sp/>must<sp/>retain<sp/>the<sp/>above<sp/>copyright</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>notice,<sp/>this<sp/>list<sp/>of<sp/>conditions<sp/>and<sp/>the<sp/>following<sp/>disclaimer.</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/>2.<sp/>Redistributions<sp/>in<sp/>binary<sp/>form<sp/>must<sp/>reproduce<sp/>the<sp/>above<sp/>copyright</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>notice,<sp/>this<sp/>list<sp/>of<sp/>conditions<sp/>and<sp/>the<sp/>following<sp/>disclaimer<sp/>in<sp/>the</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>documentation<sp/>and/or<sp/>other<sp/>materials<sp/>provided<sp/>with<sp/>the<sp/>distribution.</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>*<sp/>4.<sp/>Neither<sp/>the<sp/>name<sp/>of<sp/>the<sp/>University<sp/>nor<sp/>the<sp/>names<sp/>of<sp/>its<sp/>contributors</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>may<sp/>be<sp/>used<sp/>to<sp/>endorse<sp/>or<sp/>promote<sp/>products<sp/>derived<sp/>from<sp/>this<sp/>software</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>without<sp/>specific<sp/>prior<sp/>written<sp/>permission.</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>*<sp/>THIS<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>BY<sp/>THE<sp/>REGENTS<sp/>AND<sp/>CONTRIBUTORS<sp/>``AS<sp/>IS&apos;&apos;<sp/>AND</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>*<sp/>ANY<sp/>EXPRESS<sp/>OR<sp/>IMPLIED<sp/>WARRANTIES,<sp/>INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>THE</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>*<sp/>IMPLIED<sp/>WARRANTIES<sp/>OF<sp/>MERCHANTABILITY<sp/>AND<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>*<sp/>ARE<sp/>DISCLAIMED.<sp/><sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL<sp/>THE<sp/>REGENTS<sp/>OR<sp/>CONTRIBUTORS<sp/>BE<sp/>LIABLE</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>*<sp/>FOR<sp/>ANY<sp/>DIRECT,<sp/>INDIRECT,<sp/>INCIDENTAL,<sp/>SPECIAL,<sp/>EXEMPLARY,<sp/>OR<sp/>CONSEQUENTIAL</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*<sp/>DAMAGES<sp/>(INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>PROCUREMENT<sp/>OF<sp/>SUBSTITUTE<sp/>GOODS</highlight></codeline>
<codeline lineno="23"><highlight class="comment"><sp/>*<sp/>OR<sp/>SERVICES;<sp/>LOSS<sp/>OF<sp/>USE,<sp/>DATA,<sp/>OR<sp/>PROFITS;<sp/>OR<sp/>BUSINESS<sp/>INTERRUPTION)</highlight></codeline>
<codeline lineno="24"><highlight class="comment"><sp/>*<sp/>HOWEVER<sp/>CAUSED<sp/>AND<sp/>ON<sp/>ANY<sp/>THEORY<sp/>OF<sp/>LIABILITY,<sp/>WHETHER<sp/>IN<sp/>CONTRACT,<sp/>STRICT</highlight></codeline>
<codeline lineno="25"><highlight class="comment"><sp/>*<sp/>LIABILITY,<sp/>OR<sp/>TORT<sp/>(INCLUDING<sp/>NEGLIGENCE<sp/>OR<sp/>OTHERWISE)<sp/>ARISING<sp/>IN<sp/>ANY<sp/>WAY</highlight></codeline>
<codeline lineno="26"><highlight class="comment"><sp/>*<sp/>OUT<sp/>OF<sp/>THE<sp/>USE<sp/>OF<sp/>THIS<sp/>SOFTWARE,<sp/>EVEN<sp/>IF<sp/>ADVISED<sp/>OF<sp/>THE<sp/>POSSIBILITY<sp/>OF</highlight></codeline>
<codeline lineno="27"><highlight class="comment"><sp/>*<sp/>SUCH<sp/>DAMAGE.</highlight></codeline>
<codeline lineno="28"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="29"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>@(#)fs.h<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>8.13<sp/>(Berkeley)<sp/>3/21/95</highlight></codeline>
<codeline lineno="30"><highlight class="comment"><sp/>*<sp/>$FreeBSD:<sp/>releng/11.1/sys/ufs/ffs/fs.h<sp/>298804<sp/>2016-04-29<sp/>20:43:51Z<sp/>pfg<sp/>$</highlight></codeline>
<codeline lineno="31"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>_UFS_FFS_FS_H_</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>_UFS_FFS_FS_H_</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="mount_8h" kindref="compound">vfs/mount.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;ufs/ufs/dinode.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="40"><highlight class="comment"><sp/>*<sp/>Each<sp/>disk<sp/>drive<sp/>contains<sp/>some<sp/>number<sp/>of<sp/>filesystems.</highlight></codeline>
<codeline lineno="41"><highlight class="comment"><sp/>*<sp/>A<sp/>filesystem<sp/>consists<sp/>of<sp/>a<sp/>number<sp/>of<sp/>cylinder<sp/>groups.</highlight></codeline>
<codeline lineno="42"><highlight class="comment"><sp/>*<sp/>Each<sp/>cylinder<sp/>group<sp/>has<sp/>inodes<sp/>and<sp/>data.</highlight></codeline>
<codeline lineno="43"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="44"><highlight class="comment"><sp/>*<sp/>A<sp/>filesystem<sp/>is<sp/>described<sp/>by<sp/>its<sp/>super-block,<sp/>which<sp/>in<sp/>turn</highlight></codeline>
<codeline lineno="45"><highlight class="comment"><sp/>*<sp/>describes<sp/>the<sp/>cylinder<sp/>groups.<sp/><sp/>The<sp/>super-block<sp/>is<sp/>critical</highlight></codeline>
<codeline lineno="46"><highlight class="comment"><sp/>*<sp/>data<sp/>and<sp/>is<sp/>replicated<sp/>in<sp/>each<sp/>cylinder<sp/>group<sp/>to<sp/>protect<sp/>against</highlight></codeline>
<codeline lineno="47"><highlight class="comment"><sp/>*<sp/>catastrophic<sp/>loss.<sp/><sp/>This<sp/>is<sp/>done<sp/>at<sp/>`newfs&apos;<sp/>time<sp/>and<sp/>the<sp/>critical</highlight></codeline>
<codeline lineno="48"><highlight class="comment"><sp/>*<sp/>super-block<sp/>data<sp/>does<sp/>not<sp/>change,<sp/>so<sp/>the<sp/>copies<sp/>need<sp/>not<sp/>be</highlight></codeline>
<codeline lineno="49"><highlight class="comment"><sp/>*<sp/>referenced<sp/>further<sp/>unless<sp/>disaster<sp/>strikes.</highlight></codeline>
<codeline lineno="50"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="51"><highlight class="comment"><sp/>*<sp/>For<sp/>filesystem<sp/>fs,<sp/>the<sp/>offsets<sp/>of<sp/>the<sp/>various<sp/>blocks<sp/>of<sp/>interest</highlight></codeline>
<codeline lineno="52"><highlight class="comment"><sp/>*<sp/>are<sp/>given<sp/>in<sp/>the<sp/>super<sp/>block<sp/>as:</highlight></codeline>
<codeline lineno="53"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>[fs-&gt;fs_sblkno]<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Super-block</highlight></codeline>
<codeline lineno="54"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>[fs-&gt;fs_cblkno]<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Cylinder<sp/>group<sp/>block</highlight></codeline>
<codeline lineno="55"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>[fs-&gt;fs_iblkno]<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Inode<sp/>blocks</highlight></codeline>
<codeline lineno="56"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>[fs-&gt;fs_dblkno]<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Data<sp/>blocks</highlight></codeline>
<codeline lineno="57"><highlight class="comment"><sp/>*<sp/>The<sp/>beginning<sp/>of<sp/>cylinder<sp/>group<sp/>cg<sp/>in<sp/>fs,<sp/>is<sp/>given<sp/>by</highlight></codeline>
<codeline lineno="58"><highlight class="comment"><sp/>*<sp/>the<sp/>``cgbase(fs,<sp/>cg)&apos;&apos;<sp/>macro.</highlight></codeline>
<codeline lineno="59"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="60"><highlight class="comment"><sp/>*<sp/>Depending<sp/>on<sp/>the<sp/>architecture<sp/>and<sp/>the<sp/>media,<sp/>the<sp/>superblock<sp/>may</highlight></codeline>
<codeline lineno="61"><highlight class="comment"><sp/>*<sp/>reside<sp/>in<sp/>any<sp/>one<sp/>of<sp/>four<sp/>places.<sp/>For<sp/>tiny<sp/>media<sp/>where<sp/>every<sp/>block<sp/></highlight></codeline>
<codeline lineno="62"><highlight class="comment"><sp/>*<sp/>counts,<sp/>it<sp/>is<sp/>placed<sp/>at<sp/>the<sp/>very<sp/>front<sp/>of<sp/>the<sp/>partition.<sp/>Historically,</highlight></codeline>
<codeline lineno="63"><highlight class="comment"><sp/>*<sp/>UFS1<sp/>placed<sp/>it<sp/>8K<sp/>from<sp/>the<sp/>front<sp/>to<sp/>leave<sp/>room<sp/>for<sp/>the<sp/>disk<sp/>label<sp/>and</highlight></codeline>
<codeline lineno="64"><highlight class="comment"><sp/>*<sp/>a<sp/>small<sp/>bootstrap.<sp/>For<sp/>UFS2<sp/>it<sp/>got<sp/>moved<sp/>to<sp/>64K<sp/>from<sp/>the<sp/>front<sp/>to<sp/>leave</highlight></codeline>
<codeline lineno="65"><highlight class="comment"><sp/>*<sp/>room<sp/>for<sp/>the<sp/>disk<sp/>label<sp/>and<sp/>a<sp/>bigger<sp/>bootstrap,<sp/>and<sp/>for<sp/>really<sp/>piggy</highlight></codeline>
<codeline lineno="66"><highlight class="comment"><sp/>*<sp/>systems<sp/>we<sp/>check<sp/>at<sp/>256K<sp/>from<sp/>the<sp/>front<sp/>if<sp/>the<sp/>first<sp/>three<sp/>fail.<sp/>In</highlight></codeline>
<codeline lineno="67"><highlight class="comment"><sp/>*<sp/>all<sp/>cases<sp/>the<sp/>size<sp/>of<sp/>the<sp/>superblock<sp/>will<sp/>be<sp/>SBLOCKSIZE.<sp/>All<sp/>values<sp/>are</highlight></codeline>
<codeline lineno="68"><highlight class="comment"><sp/>*<sp/>given<sp/>in<sp/>byte-offset<sp/>form,<sp/>so<sp/>they<sp/>do<sp/>not<sp/>imply<sp/>a<sp/>sector<sp/>size.<sp/>The</highlight></codeline>
<codeline lineno="69"><highlight class="comment"><sp/>*<sp/>SBLOCKSEARCH<sp/>specifies<sp/>the<sp/>order<sp/>in<sp/>which<sp/>the<sp/>locations<sp/>should<sp/>be<sp/>searched.</highlight></codeline>
<codeline lineno="70"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71" refid="ufs_2ffs_2fs_8h_1ab6b633b015b70b15317113908ccc0a17" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SBLOCK_FLOPPY<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72" refid="ufs_2ffs_2fs_8h_1ad25e0f8e55fba4f0d670b43361e6b61e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SBLOCK_UFS1<sp/><sp/><sp/><sp/><sp/><sp/><sp/>8192</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="73" refid="ufs_2ffs_2fs_8h_1a7376590d1dfaa886ae6ac77649aaea52" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SBLOCK_UFS2<sp/><sp/><sp/><sp/><sp/><sp/>65536</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="74" refid="ufs_2ffs_2fs_8h_1afa52e1b5081edc4bbc9c7e29556bfc92" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SBLOCK_PIGGY<sp/><sp/><sp/><sp/>262144</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="75" refid="ufs_2ffs_2fs_8h_1ab7ef7deca5409474c504d9c927e97249" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SBLOCKSIZE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>8192</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="76" refid="ufs_2ffs_2fs_8h_1a63f5b70b0dfe26fd775e89713f552e23" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SBLOCKSEARCH<sp/>\</highlight></codeline>
<codeline lineno="77"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>SBLOCK_UFS2,<sp/>SBLOCK_UFS1,<sp/>SBLOCK_FLOPPY,<sp/>SBLOCK_PIGGY,<sp/>-1<sp/>}</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="78"><highlight class="normal"></highlight></codeline>
<codeline lineno="79"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="80"><highlight class="comment"><sp/>*<sp/>Max<sp/>number<sp/>of<sp/>fragments<sp/>per<sp/>block.<sp/>This<sp/>value<sp/>is<sp/>NOT<sp/>tweakable.</highlight></codeline>
<codeline lineno="81"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="82" refid="ufs_2ffs_2fs_8h_1a0a726df03725023405ee5dd1d3a897c5" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MAXFRAG<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>8</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight></codeline>
<codeline lineno="84"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="85"><highlight class="comment"><sp/>*<sp/>Addresses<sp/>stored<sp/>in<sp/>inodes<sp/>are<sp/>capable<sp/>of<sp/>addressing<sp/>fragments</highlight></codeline>
<codeline lineno="86"><highlight class="comment"><sp/>*<sp/>of<sp/>`blocks&apos;.<sp/>File<sp/>system<sp/>blocks<sp/>of<sp/>at<sp/>most<sp/>size<sp/>MAXBSIZE<sp/>can</highlight></codeline>
<codeline lineno="87"><highlight class="comment"><sp/>*<sp/>be<sp/>optionally<sp/>broken<sp/>into<sp/>2,<sp/>4,<sp/>or<sp/>8<sp/>pieces,<sp/>each<sp/>of<sp/>which<sp/>is</highlight></codeline>
<codeline lineno="88"><highlight class="comment"><sp/>*<sp/>addressable;<sp/>these<sp/>pieces<sp/>may<sp/>be<sp/>DEV_BSIZE,<sp/>or<sp/>some<sp/>multiple<sp/>of</highlight></codeline>
<codeline lineno="89"><highlight class="comment"><sp/>*<sp/>a<sp/>DEV_BSIZE<sp/>unit.</highlight></codeline>
<codeline lineno="90"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="91"><highlight class="comment"><sp/>*<sp/>Large<sp/>files<sp/>consist<sp/>of<sp/>exclusively<sp/>large<sp/>data<sp/>blocks.<sp/><sp/>To<sp/>avoid</highlight></codeline>
<codeline lineno="92"><highlight class="comment"><sp/>*<sp/>undue<sp/>wasted<sp/>disk<sp/>space,<sp/>the<sp/>last<sp/>data<sp/>block<sp/>of<sp/>a<sp/>small<sp/>file<sp/>may<sp/>be</highlight></codeline>
<codeline lineno="93"><highlight class="comment"><sp/>*<sp/>allocated<sp/>as<sp/>only<sp/>as<sp/>many<sp/>fragments<sp/>of<sp/>a<sp/>large<sp/>block<sp/>as<sp/>are</highlight></codeline>
<codeline lineno="94"><highlight class="comment"><sp/>*<sp/>necessary.<sp/><sp/>The<sp/>filesystem<sp/>format<sp/>retains<sp/>only<sp/>a<sp/>single<sp/>pointer</highlight></codeline>
<codeline lineno="95"><highlight class="comment"><sp/>*<sp/>to<sp/>such<sp/>a<sp/>fragment,<sp/>which<sp/>is<sp/>a<sp/>piece<sp/>of<sp/>a<sp/>single<sp/>large<sp/>block<sp/>that</highlight></codeline>
<codeline lineno="96"><highlight class="comment"><sp/>*<sp/>has<sp/>been<sp/>divided.<sp/><sp/>The<sp/>size<sp/>of<sp/>such<sp/>a<sp/>fragment<sp/>is<sp/>determinable<sp/>from</highlight></codeline>
<codeline lineno="97"><highlight class="comment"><sp/>*<sp/>information<sp/>in<sp/>the<sp/>inode,<sp/>using<sp/>the<sp/>``blksize(fs,<sp/>ip,<sp/>lbn)&apos;&apos;<sp/>macro.</highlight></codeline>
<codeline lineno="98"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="99"><highlight class="comment"><sp/>*<sp/>The<sp/>filesystem<sp/>records<sp/>space<sp/>availability<sp/>at<sp/>the<sp/>fragment<sp/>level;</highlight></codeline>
<codeline lineno="100"><highlight class="comment"><sp/>*<sp/>to<sp/>determine<sp/>block<sp/>availability,<sp/>aligned<sp/>fragments<sp/>are<sp/>examined.</highlight></codeline>
<codeline lineno="101"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="102"><highlight class="normal"></highlight></codeline>
<codeline lineno="103"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="104"><highlight class="comment"><sp/>*<sp/>MINBSIZE<sp/>is<sp/>the<sp/>smallest<sp/>allowable<sp/>block<sp/>size.</highlight></codeline>
<codeline lineno="105"><highlight class="comment"><sp/>*<sp/>In<sp/>order<sp/>to<sp/>insure<sp/>that<sp/>it<sp/>is<sp/>possible<sp/>to<sp/>create<sp/>files<sp/>of<sp/>size</highlight></codeline>
<codeline lineno="106"><highlight class="comment"><sp/>*<sp/>2^32<sp/>with<sp/>only<sp/>two<sp/>levels<sp/>of<sp/>indirection,<sp/>MINBSIZE<sp/>is<sp/>set<sp/>to<sp/>4096.</highlight></codeline>
<codeline lineno="107"><highlight class="comment"><sp/>*<sp/>MINBSIZE<sp/>must<sp/>be<sp/>big<sp/>enough<sp/>to<sp/>hold<sp/>a<sp/>cylinder<sp/>group<sp/>block,</highlight></codeline>
<codeline lineno="108"><highlight class="comment"><sp/>*<sp/>thus<sp/>changes<sp/>to<sp/>(struct<sp/>cg)<sp/>must<sp/>keep<sp/>its<sp/>size<sp/>within<sp/>MINBSIZE.</highlight></codeline>
<codeline lineno="109"><highlight class="comment"><sp/>*<sp/>Note<sp/>that<sp/>super<sp/>blocks<sp/>are<sp/>always<sp/>of<sp/>size<sp/>SBLOCKSIZE,</highlight></codeline>
<codeline lineno="110"><highlight class="comment"><sp/>*<sp/>and<sp/>that<sp/>both<sp/>SBLOCKSIZE<sp/>and<sp/>MAXBSIZE<sp/>must<sp/>be<sp/>&gt;=<sp/>MINBSIZE.</highlight></codeline>
<codeline lineno="111"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="112" refid="ufs_2ffs_2fs_8h_1af1c15a7b2752e4c2fed4a3819192f8f3" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MINBSIZE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>4096</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="113"><highlight class="normal"></highlight></codeline>
<codeline lineno="114"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="115"><highlight class="comment"><sp/>*<sp/>The<sp/>path<sp/>name<sp/>on<sp/>which<sp/>the<sp/>filesystem<sp/>is<sp/>mounted<sp/>is<sp/>maintained</highlight></codeline>
<codeline lineno="116"><highlight class="comment"><sp/>*<sp/>in<sp/>fs_fsmnt.<sp/>MAXMNTLEN<sp/>defines<sp/>the<sp/>amount<sp/>of<sp/>space<sp/>allocated<sp/>in</highlight></codeline>
<codeline lineno="117"><highlight class="comment"><sp/>*<sp/>the<sp/>super<sp/>block<sp/>for<sp/>this<sp/>name.</highlight></codeline>
<codeline lineno="118"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="119" refid="ufs_2ffs_2fs_8h_1a0beb14d415a358b818cec76550e4fad1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MAXMNTLEN<sp/><sp/><sp/><sp/><sp/><sp/><sp/>468</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="120"><highlight class="normal"></highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="122"><highlight class="comment"><sp/>*<sp/>The<sp/>volume<sp/>name<sp/>for<sp/>this<sp/>filesystem<sp/>is<sp/>maintained<sp/>in<sp/>fs_volname.</highlight></codeline>
<codeline lineno="123"><highlight class="comment"><sp/>*<sp/>MAXVOLLEN<sp/>defines<sp/>the<sp/>length<sp/>of<sp/>the<sp/>buffer<sp/>allocated.</highlight></codeline>
<codeline lineno="124"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="125" refid="ufs_2ffs_2fs_8h_1ac5859c27029a47d17c1279cc197f05c3" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MAXVOLLEN<sp/><sp/><sp/><sp/><sp/><sp/><sp/>32</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="126"><highlight class="normal"></highlight></codeline>
<codeline lineno="127"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="128"><highlight class="comment"><sp/>*<sp/>There<sp/>is<sp/>a<sp/>128-byte<sp/>region<sp/>in<sp/>the<sp/>superblock<sp/>reserved<sp/>for<sp/>in-core</highlight></codeline>
<codeline lineno="129"><highlight class="comment"><sp/>*<sp/>pointers<sp/>to<sp/>summary<sp/>information.<sp/>Originally<sp/>this<sp/>included<sp/>an<sp/>array</highlight></codeline>
<codeline lineno="130"><highlight class="comment"><sp/>*<sp/>of<sp/>pointers<sp/>to<sp/>blocks<sp/>of<sp/>struct<sp/>csum;<sp/>now<sp/>there<sp/>are<sp/>just<sp/>a<sp/>few</highlight></codeline>
<codeline lineno="131"><highlight class="comment"><sp/>*<sp/>pointers<sp/>and<sp/>the<sp/>remaining<sp/>space<sp/>is<sp/>padded<sp/>with<sp/>fs_ocsp[].</highlight></codeline>
<codeline lineno="132"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="133"><highlight class="comment"><sp/>*<sp/>NOCSPTRS<sp/>determines<sp/>the<sp/>size<sp/>of<sp/>this<sp/>padding.<sp/>One<sp/>pointer<sp/>(fs_csp)</highlight></codeline>
<codeline lineno="134"><highlight class="comment"><sp/>*<sp/>is<sp/>taken<sp/>away<sp/>to<sp/>point<sp/>to<sp/>a<sp/>contiguous<sp/>array<sp/>of<sp/>struct<sp/>csum<sp/>for</highlight></codeline>
<codeline lineno="135"><highlight class="comment"><sp/>*<sp/>all<sp/>cylinder<sp/>groups;<sp/>a<sp/>second<sp/>(fs_maxcluster)<sp/>points<sp/>to<sp/>an<sp/>array</highlight></codeline>
<codeline lineno="136"><highlight class="comment"><sp/>*<sp/>of<sp/>cluster<sp/>sizes<sp/>that<sp/>is<sp/>computed<sp/>as<sp/>cylinder<sp/>groups<sp/>are<sp/>inspected,</highlight></codeline>
<codeline lineno="137"><highlight class="comment"><sp/>*<sp/>and<sp/>the<sp/>third<sp/>points<sp/>to<sp/>an<sp/>array<sp/>that<sp/>tracks<sp/>the<sp/>creation<sp/>of<sp/>new</highlight></codeline>
<codeline lineno="138"><highlight class="comment"><sp/>*<sp/>directories.<sp/>A<sp/>fourth<sp/>pointer,<sp/>fs_active,<sp/>is<sp/>used<sp/>when<sp/>creating</highlight></codeline>
<codeline lineno="139"><highlight class="comment"><sp/>*<sp/>snapshots;<sp/>it<sp/>points<sp/>to<sp/>a<sp/>bitmap<sp/>of<sp/>cylinder<sp/>groups<sp/>for<sp/>which<sp/>the</highlight></codeline>
<codeline lineno="140"><highlight class="comment"><sp/>*<sp/>free-block<sp/>bitmap<sp/>has<sp/>changed<sp/>since<sp/>the<sp/>snapshot<sp/>operation<sp/>began.</highlight></codeline>
<codeline lineno="141"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142" refid="ufs_2ffs_2fs_8h_1aca816b354128719c1523e33152a13637" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NOCSPTRS<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((128<sp/>/<sp/>sizeof(void<sp/>*))<sp/>-<sp/>4)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><highlight class="normal"></highlight></codeline>
<codeline lineno="144"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="145"><highlight class="comment"><sp/>*<sp/>A<sp/>summary<sp/>of<sp/>contiguous<sp/>blocks<sp/>of<sp/>various<sp/>sizes<sp/>is<sp/>maintained</highlight></codeline>
<codeline lineno="146"><highlight class="comment"><sp/>*<sp/>in<sp/>each<sp/>cylinder<sp/>group.<sp/>Normally<sp/>this<sp/>is<sp/>set<sp/>by<sp/>the<sp/>initial</highlight></codeline>
<codeline lineno="147"><highlight class="comment"><sp/>*<sp/>value<sp/>of<sp/>fs_maxcontig.<sp/>To<sp/>conserve<sp/>space,<sp/>a<sp/>maximum<sp/>summary<sp/>size</highlight></codeline>
<codeline lineno="148"><highlight class="comment"><sp/>*<sp/>is<sp/>set<sp/>by<sp/>FS_MAXCONTIG.</highlight></codeline>
<codeline lineno="149"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="150" refid="ufs_2ffs_2fs_8h_1ae6032640f0739d9bf722b737dc7d8af1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_MAXCONTIG<sp/><sp/><sp/><sp/>16</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="151"><highlight class="normal"></highlight></codeline>
<codeline lineno="152"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="153"><highlight class="comment"><sp/>*<sp/>MINFREE<sp/>gives<sp/>the<sp/>minimum<sp/>acceptable<sp/>percentage<sp/>of<sp/>filesystem</highlight></codeline>
<codeline lineno="154"><highlight class="comment"><sp/>*<sp/>blocks<sp/>which<sp/>may<sp/>be<sp/>free.<sp/>If<sp/>the<sp/>freelist<sp/>drops<sp/>below<sp/>this<sp/>level</highlight></codeline>
<codeline lineno="155"><highlight class="comment"><sp/>*<sp/>only<sp/>the<sp/>superuser<sp/>may<sp/>continue<sp/>to<sp/>allocate<sp/>blocks.<sp/>This<sp/>may</highlight></codeline>
<codeline lineno="156"><highlight class="comment"><sp/>*<sp/>be<sp/>set<sp/>to<sp/>0<sp/>if<sp/>no<sp/>reserve<sp/>of<sp/>free<sp/>blocks<sp/>is<sp/>deemed<sp/>necessary,</highlight></codeline>
<codeline lineno="157"><highlight class="comment"><sp/>*<sp/>however<sp/>throughput<sp/>drops<sp/>by<sp/>fifty<sp/>percent<sp/>if<sp/>the<sp/>filesystem</highlight></codeline>
<codeline lineno="158"><highlight class="comment"><sp/>*<sp/>is<sp/>run<sp/>at<sp/>between<sp/>95%<sp/>and<sp/>100%<sp/>full;<sp/>thus<sp/>the<sp/>minimum<sp/>default</highlight></codeline>
<codeline lineno="159"><highlight class="comment"><sp/>*<sp/>value<sp/>of<sp/>fs_minfree<sp/>is<sp/>5%.<sp/>However,<sp/>to<sp/>get<sp/>good<sp/>clustering</highlight></codeline>
<codeline lineno="160"><highlight class="comment"><sp/>*<sp/>performance,<sp/>10%<sp/>is<sp/>a<sp/>better<sp/>choice.<sp/>hence<sp/>we<sp/>use<sp/>10%<sp/>as<sp/>our</highlight></codeline>
<codeline lineno="161"><highlight class="comment"><sp/>*<sp/>default<sp/>value.<sp/>With<sp/>10%<sp/>free<sp/>space,<sp/>fragmentation<sp/>is<sp/>not<sp/>a</highlight></codeline>
<codeline lineno="162"><highlight class="comment"><sp/>*<sp/>problem,<sp/>so<sp/>we<sp/>choose<sp/>to<sp/>optimize<sp/>for<sp/>time.</highlight></codeline>
<codeline lineno="163"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="164" refid="ufs_2ffs_2fs_8h_1a4d07ee78d02c6f1d6a1fc1c1ead0a262" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MINFREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>8</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="165" refid="ufs_2ffs_2fs_8h_1ac0137ded6f8af101a0ea008ffbe62d7f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>DEFAULTOPT<sp/><sp/><sp/><sp/><sp/><sp/>FS_OPTTIME</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="166"><highlight class="normal"></highlight></codeline>
<codeline lineno="167"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="168"><highlight class="comment"><sp/>*<sp/>Grigoriy<sp/>Orlov<sp/>&lt;gluk@ptci.ru&gt;<sp/>has<sp/>done<sp/>some<sp/>extensive<sp/>work<sp/>to<sp/>fine</highlight></codeline>
<codeline lineno="169"><highlight class="comment"><sp/>*<sp/>tune<sp/>the<sp/>layout<sp/>preferences<sp/>for<sp/>directories<sp/>within<sp/>a<sp/>filesystem.</highlight></codeline>
<codeline lineno="170"><highlight class="comment"><sp/>*<sp/>His<sp/>algorithm<sp/>can<sp/>be<sp/>tuned<sp/>by<sp/>adjusting<sp/>the<sp/>following<sp/>parameters</highlight></codeline>
<codeline lineno="171"><highlight class="comment"><sp/>*<sp/>which<sp/>tell<sp/>the<sp/>system<sp/>the<sp/>average<sp/>file<sp/>size<sp/>and<sp/>the<sp/>average<sp/>number</highlight></codeline>
<codeline lineno="172"><highlight class="comment"><sp/>*<sp/>of<sp/>files<sp/>per<sp/>directory.<sp/>These<sp/>defaults<sp/>are<sp/>well<sp/>selected<sp/>for<sp/>typical</highlight></codeline>
<codeline lineno="173"><highlight class="comment"><sp/>*<sp/>filesystems,<sp/>but<sp/>may<sp/>need<sp/>to<sp/>be<sp/>tuned<sp/>for<sp/>odd<sp/>cases<sp/>like<sp/>filesystems</highlight></codeline>
<codeline lineno="174"><highlight class="comment"><sp/>*<sp/>being<sp/>used<sp/>for<sp/>squid<sp/>caches<sp/>or<sp/>news<sp/>spools.</highlight></codeline>
<codeline lineno="175"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="176" refid="ufs_2ffs_2fs_8h_1aa6dce94fc058cff5a9d12840925229fe" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>AVFILESIZ<sp/><sp/><sp/><sp/><sp/><sp/><sp/>16384<sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>expected<sp/>average<sp/>file<sp/>size<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="177" refid="ufs_2ffs_2fs_8h_1abeb46ff463938c875d10dc7d077f6503" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>AFPDIR<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>64<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>expected<sp/>number<sp/>of<sp/>files<sp/>per<sp/>directory<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="178"><highlight class="normal"></highlight></codeline>
<codeline lineno="179"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="180"><highlight class="comment"><sp/>*<sp/>The<sp/>maximum<sp/>number<sp/>of<sp/>snapshot<sp/>nodes<sp/>that<sp/>can<sp/>be<sp/>associated</highlight></codeline>
<codeline lineno="181"><highlight class="comment"><sp/>*<sp/>with<sp/>each<sp/>filesystem.<sp/>This<sp/>limit<sp/>affects<sp/>only<sp/>the<sp/>number<sp/>of</highlight></codeline>
<codeline lineno="182"><highlight class="comment"><sp/>*<sp/>snapshot<sp/>files<sp/>that<sp/>can<sp/>be<sp/>recorded<sp/>within<sp/>the<sp/>superblock<sp/>so</highlight></codeline>
<codeline lineno="183"><highlight class="comment"><sp/>*<sp/>that<sp/>they<sp/>can<sp/>be<sp/>found<sp/>when<sp/>the<sp/>filesystem<sp/>is<sp/>mounted.<sp/>However,</highlight></codeline>
<codeline lineno="184"><highlight class="comment"><sp/>*<sp/>maintaining<sp/>too<sp/>many<sp/>will<sp/>slow<sp/>the<sp/>filesystem<sp/>performance,<sp/>so</highlight></codeline>
<codeline lineno="185"><highlight class="comment"><sp/>*<sp/>having<sp/>this<sp/>limit<sp/>is<sp/>a<sp/>good<sp/>idea.</highlight></codeline>
<codeline lineno="186"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="187" refid="ufs_2ffs_2fs_8h_1a04c33da6605e73954cf2ff32c3f0f15a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FSMAXSNAP<sp/>20</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="188"><highlight class="normal"></highlight></codeline>
<codeline lineno="189"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="190"><highlight class="comment"><sp/>*<sp/>Used<sp/>to<sp/>identify<sp/>special<sp/>blocks<sp/>in<sp/>snapshots:</highlight></codeline>
<codeline lineno="191"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="192"><highlight class="comment"><sp/>*<sp/>BLK_NOCOPY<sp/>-<sp/>A<sp/>block<sp/>that<sp/>was<sp/>unallocated<sp/>at<sp/>the<sp/>time<sp/>the<sp/>snapshot</highlight></codeline>
<codeline lineno="193"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>was<sp/>taken,<sp/>hence<sp/>does<sp/>not<sp/>need<sp/>to<sp/>be<sp/>copied<sp/>when<sp/>written.</highlight></codeline>
<codeline lineno="194"><highlight class="comment"><sp/>*<sp/>BLK_SNAP<sp/>-<sp/>A<sp/>block<sp/>held<sp/>by<sp/>another<sp/>snapshot<sp/>that<sp/>is<sp/>not<sp/>needed<sp/>by<sp/>this</highlight></codeline>
<codeline lineno="195"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>snapshot.<sp/>When<sp/>the<sp/>other<sp/>snapshot<sp/>is<sp/>freed,<sp/>the<sp/>BLK_SNAP<sp/>entries</highlight></codeline>
<codeline lineno="196"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>are<sp/>converted<sp/>to<sp/>BLK_NOCOPY.<sp/>These<sp/>are<sp/>needed<sp/>to<sp/>allow<sp/>fsck<sp/>to</highlight></codeline>
<codeline lineno="197"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>identify<sp/>blocks<sp/>that<sp/>are<sp/>in<sp/>use<sp/>by<sp/>other<sp/>snapshots<sp/>(which<sp/>are</highlight></codeline>
<codeline lineno="198"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/><sp/>expunged<sp/>from<sp/>this<sp/>snapshot).</highlight></codeline>
<codeline lineno="199"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="200" refid="ufs_2ffs_2fs_8h_1a5bb4110dff6259237b59f53236b0c1a1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>BLK_NOCOPY<sp/>((ufs2_daddr_t)(1))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="201" refid="ufs_2ffs_2fs_8h_1affee0e4ffe574b078c3355a00a9b3f14" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>BLK_SNAP<sp/>((ufs2_daddr_t)(2))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="202"><highlight class="normal"></highlight></codeline>
<codeline lineno="203"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="204"><highlight class="comment"><sp/>*<sp/>Sysctl<sp/>values<sp/>for<sp/>the<sp/>fast<sp/>filesystem.</highlight></codeline>
<codeline lineno="205"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="206" refid="ufs_2ffs_2fs_8h_1a0e74599a871f2abe758bef1b42123bb0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_REFCNT<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>1<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>inode<sp/>reference<sp/>count<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="207" refid="ufs_2ffs_2fs_8h_1aa05619dd59913bfda3199f12c7cce015" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_BLKCNT<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>2<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>inode<sp/>used<sp/>block<sp/>count<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="208" refid="ufs_2ffs_2fs_8h_1a77d83208fbc3af8385cda5d0c47cbc61" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_BLK_FREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>3<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>free<sp/>range<sp/>of<sp/>blocks<sp/>in<sp/>map<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="209" refid="ufs_2ffs_2fs_8h_1a17bd0a0454da06da9aab1f86bd0b8ea4" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_DIR_FREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>4<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>free<sp/>specified<sp/>dir<sp/>inodes<sp/>in<sp/>map<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="210" refid="ufs_2ffs_2fs_8h_1a3a3db08c0042cf109c8539af5e531711" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_FILE_FREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>5<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>free<sp/>specified<sp/>file<sp/>inodes<sp/>in<sp/>map<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="211" refid="ufs_2ffs_2fs_8h_1a230781142be04b4f24fcf054aa56f9e9" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_SET_FLAGS<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>6<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>set<sp/>filesystem<sp/>flags<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="212" refid="ufs_2ffs_2fs_8h_1ade4455eda3d3ff668c60075ac72c6d14" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_NDIR<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>7<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>number<sp/>of<sp/>directories<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="213" refid="ufs_2ffs_2fs_8h_1a7eeb711dcadf6283246d8a9e61980a1f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_NBFREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>8<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>number<sp/>of<sp/>free<sp/>blocks<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="214" refid="ufs_2ffs_2fs_8h_1a86d6104e2b0109286e13c06bb0212f46" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_NIFREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>9<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>number<sp/>of<sp/>free<sp/>inodes<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="215" refid="ufs_2ffs_2fs_8h_1a7c032804ff7a087d3ffdd6440c95051c" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_NFFREE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>10<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>number<sp/>of<sp/>free<sp/>frags<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="216" refid="ufs_2ffs_2fs_8h_1ae96f68bf42f9dc8f9802715ef3c109ef" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_ADJ_NUMCLUSTERS<sp/><sp/><sp/><sp/><sp/>11<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>adjust<sp/>number<sp/>of<sp/>free<sp/>clusters<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="217" refid="ufs_2ffs_2fs_8h_1aab848f47ad66f7c4da3dad848157af4f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_SET_CWD<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>12<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>set<sp/>current<sp/>directory<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="218" refid="ufs_2ffs_2fs_8h_1a37a8933573bf9c2e5a8a371355f41e36" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_SET_DOTDOT<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>13<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>set<sp/>inode<sp/>number<sp/>for<sp/>&quot;..&quot;<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="219" refid="ufs_2ffs_2fs_8h_1a41f2e1110d0c1715fc71389ea705d398" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_UNLINK<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>14<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>remove<sp/>a<sp/>name<sp/>in<sp/>the<sp/>filesystem<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="220" refid="ufs_2ffs_2fs_8h_1a56b97e7252798995b0debdd6783bcdcf" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_SET_INODE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>15<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>update<sp/>an<sp/>on-disk<sp/>inode<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="221" refid="ufs_2ffs_2fs_8h_1ad8f63d2ce3a63a7026aa4af23e28c759" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_SET_BUFOUTPUT<sp/><sp/><sp/><sp/><sp/><sp/><sp/>16<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>set<sp/>buffered<sp/>writing<sp/>on<sp/>descriptor<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="222" refid="ufs_2ffs_2fs_8h_1aabac33a5c8c848deec69644756657ca0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_MAXID<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>16<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>valid<sp/>ffs<sp/>ids<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="223"><highlight class="normal"></highlight></codeline>
<codeline lineno="224"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="225"><highlight class="comment"><sp/>*<sp/>Command<sp/>structure<sp/>passed<sp/>in<sp/>to<sp/>the<sp/>filesystem<sp/>to<sp/>adjust<sp/>filesystem<sp/>values.</highlight></codeline>
<codeline lineno="226"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="227" refid="ufs_2ffs_2fs_8h_1acb828f4d6f55a3dd7e66fcdf4ed54627" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FFS_CMD_VERSION<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x19790518<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>version<sp/>ID<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="228" refid="structfsck__cmd" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structfsck__cmd" kindref="compound">fsck_cmd</ref><sp/>{</highlight></codeline>
<codeline lineno="229" refid="structfsck__cmd_1afecc79b8563530b01494949d6ab04f71" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><ref refid="structfsck__cmd_1afecc79b8563530b01494949d6ab04f71" kindref="member">version</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>version<sp/>of<sp/>command<sp/>structure<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="230" refid="structfsck__cmd_1ae5e77c2532806fbbdf84f22a4beb1acd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><ref refid="structfsck__cmd_1ae5e77c2532806fbbdf84f22a4beb1acd" kindref="member">handle</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>reference<sp/>to<sp/>filesystem<sp/>to<sp/>be<sp/>changed<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="231" refid="structfsck__cmd_1ac57cfd510bb1787c63f08b54ed3280cd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structfsck__cmd_1ac57cfd510bb1787c63f08b54ed3280cd" kindref="member">value</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>inode<sp/>or<sp/>block<sp/>number<sp/>to<sp/>be<sp/>affected<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="232" refid="structfsck__cmd_1ae25303126aeff4fa5fa837146d210186" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structfsck__cmd_1ae25303126aeff4fa5fa837146d210186" kindref="member">size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>amount<sp/>or<sp/>range<sp/>to<sp/>be<sp/>adjusted<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="233" refid="structfsck__cmd_1a61850225bd7e885356aee009319100a0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structfsck__cmd_1a61850225bd7e885356aee009319100a0" kindref="member">spare</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>reserved<sp/>for<sp/>future<sp/>use<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="234"><highlight class="normal">};</highlight></codeline>
<codeline lineno="235"><highlight class="normal"></highlight></codeline>
<codeline lineno="236"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="237"><highlight class="comment"><sp/>*<sp/>Per<sp/>cylinder<sp/>group<sp/>information;<sp/>summarized<sp/>in<sp/>blocks<sp/>allocated</highlight></codeline>
<codeline lineno="238"><highlight class="comment"><sp/>*<sp/>from<sp/>first<sp/>cylinder<sp/>group<sp/>data<sp/>blocks.<sp/><sp/>These<sp/>blocks<sp/>have<sp/>to<sp/>be</highlight></codeline>
<codeline lineno="239"><highlight class="comment"><sp/>*<sp/>read<sp/>in<sp/>from<sp/>fs_csaddr<sp/>(size<sp/>fs_cssize)<sp/>in<sp/>addition<sp/>to<sp/>the</highlight></codeline>
<codeline lineno="240"><highlight class="comment"><sp/>*<sp/>super<sp/>block.</highlight></codeline>
<codeline lineno="241"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="242" refid="structcsum" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structcsum" kindref="compound">csum</ref><sp/>{</highlight></codeline>
<codeline lineno="243" refid="structcsum_1a910936b597b99baa5f64ddd5a15f6b70" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><ref refid="structcsum_1a910936b597b99baa5f64ddd5a15f6b70" kindref="member">cs_ndir</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>directories<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="244" refid="structcsum_1ac77b40fc2a8d65ec266e9471fb96ed99" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><ref refid="structcsum_1ac77b40fc2a8d65ec266e9471fb96ed99" kindref="member">cs_nbfree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>blocks<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="245" refid="structcsum_1a997edf4fbc43862abb72a4a7e411a51d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><ref refid="structcsum_1a997edf4fbc43862abb72a4a7e411a51d" kindref="member">cs_nifree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>inodes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="246" refid="structcsum_1a4725bcc5b848a377eb7aeb181018405d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><ref refid="structcsum_1a4725bcc5b848a377eb7aeb181018405d" kindref="member">cs_nffree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>frags<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="247"><highlight class="normal">};</highlight></codeline>
<codeline lineno="248" refid="structcsum__total" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structcsum__total" kindref="compound">csum_total</ref><sp/>{</highlight></codeline>
<codeline lineno="249" refid="structcsum__total_1ace49dca16f94651c7e9b1df65d8197d9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structcsum__total_1ace49dca16f94651c7e9b1df65d8197d9" kindref="member">cs_ndir</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>directories<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="250" refid="structcsum__total_1ac41c6231e09b4ca0b7fd2fe16d73abee" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structcsum__total_1ac41c6231e09b4ca0b7fd2fe16d73abee" kindref="member">cs_nbfree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>blocks<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="251" refid="structcsum__total_1a804f2ae79c647da155cbd6ea5952b3b3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structcsum__total_1a804f2ae79c647da155cbd6ea5952b3b3" kindref="member">cs_nifree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>inodes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="252" refid="structcsum__total_1a6d734f6ae45524cb242fb899168cc1e6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structcsum__total_1a6d734f6ae45524cb242fb899168cc1e6" kindref="member">cs_nffree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>frags<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="253" refid="structcsum__total_1a89edf9903e16183ddc371bbbc7756217" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structcsum__total_1a89edf9903e16183ddc371bbbc7756217" kindref="member">cs_numclusters</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>free<sp/>clusters<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="254" refid="structcsum__total_1ab96e3e2dbc1ce2a4b2f8bbdcdba76200" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><ref refid="structcsum__total_1ab96e3e2dbc1ce2a4b2f8bbdcdba76200" kindref="member">cs_spare</ref>[3];<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>future<sp/>expansion<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="255"><highlight class="normal">};</highlight></codeline>
<codeline lineno="256"><highlight class="normal"></highlight></codeline>
<codeline lineno="257"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="258"><highlight class="comment"><sp/>*<sp/>Super<sp/>block<sp/>for<sp/>an<sp/>FFS<sp/>filesystem.</highlight></codeline>
<codeline lineno="259"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="260" refid="structfs" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structfs" kindref="compound">fs</ref><sp/>{</highlight></codeline>
<codeline lineno="261" refid="structfs_1a845f442a845714c10fff6d8b12c9eb9e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a845f442a845714c10fff6d8b12c9eb9e" kindref="member">fs_firstfield</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>historic<sp/>filesystem<sp/>linked<sp/>list,<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="262" refid="structfs_1a7246de3f8042955f49127b1e656838f5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a7246de3f8042955f49127b1e656838f5" kindref="member">fs_unused_1</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/><sp/><sp/><sp/><sp/>used<sp/>for<sp/>incore<sp/>super<sp/>blocks<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="263" refid="structfs_1ab96f2622ae5d8b12c0ca31a210b3c58e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ab96f2622ae5d8b12c0ca31a210b3c58e" kindref="member">fs_sblkno</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>offset<sp/>of<sp/>super-block<sp/>in<sp/>filesys<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="264" refid="structfs_1adedb82f28a6436a506aa3c47bdf49aa0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1adedb82f28a6436a506aa3c47bdf49aa0" kindref="member">fs_cblkno</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>offset<sp/>of<sp/>cyl-block<sp/>in<sp/>filesys<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="265" refid="structfs_1a680d9067242a7b551779146d839997f4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a680d9067242a7b551779146d839997f4" kindref="member">fs_iblkno</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>offset<sp/>of<sp/>inode-blocks<sp/>in<sp/>filesys<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="266" refid="structfs_1afc80e8002a127f6e31ab675bc79d7466" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1afc80e8002a127f6e31ab675bc79d7466" kindref="member">fs_dblkno</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>offset<sp/>of<sp/>first<sp/>data<sp/>after<sp/>cg<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="267" refid="structfs_1a0e65a1457e48bf92c3ff9ed5de2d2f97" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a0e65a1457e48bf92c3ff9ed5de2d2f97" kindref="member">fs_old_cgoffset</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cylinder<sp/>group<sp/>offset<sp/>in<sp/>cylinder<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="268" refid="structfs_1a3372db524b01604405d0736d4c76ed88" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a3372db524b01604405d0736d4c76ed88" kindref="member">fs_old_cgmask</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>used<sp/>to<sp/>calc<sp/>mod<sp/>fs_ntrak<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="269" refid="structfs_1a948e2a387ab0a3cfd674e93db8e9faf0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a948e2a387ab0a3cfd674e93db8e9faf0" kindref="member">fs_old_time</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>last<sp/>time<sp/>written<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="270" refid="structfs_1ad24dc27973a0594319921fe1aa0394d4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ad24dc27973a0594319921fe1aa0394d4" kindref="member">fs_old_size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>blocks<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="271" refid="structfs_1a07a13bddf97b62b08ec62f12f788be8a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a07a13bddf97b62b08ec62f12f788be8a" kindref="member">fs_old_dsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>data<sp/>blocks<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="272" refid="structfs_1a2d9e55c707f7e3d817aecadcdd64caaf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structfs_1a2d9e55c707f7e3d817aecadcdd64caaf" kindref="member">fs_ncg</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>cylinder<sp/>groups<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="273" refid="structfs_1abeaa37858276e7d7d7f8f4260bc53f6d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1abeaa37858276e7d7d7f8f4260bc53f6d" kindref="member">fs_bsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>size<sp/>of<sp/>basic<sp/>blocks<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="274" refid="structfs_1ac2a347c2b6170615954aee791991f94d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ac2a347c2b6170615954aee791991f94d" kindref="member">fs_fsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>size<sp/>of<sp/>frag<sp/>blocks<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="275" refid="structfs_1a13aa148271139d206d6b778ac9b3ed09" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a13aa148271139d206d6b778ac9b3ed09" kindref="member">fs_frag</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>frags<sp/>in<sp/>a<sp/>block<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="276"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>these<sp/>are<sp/>configuration<sp/>parameters<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="277" refid="structfs_1a3b39e3f97e0438ecbb1a953dec03a5c1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a3b39e3f97e0438ecbb1a953dec03a5c1" kindref="member">fs_minfree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>minimum<sp/>percentage<sp/>of<sp/>free<sp/>blocks<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="278" refid="structfs_1a31507b3bebe2528e83e9eecadea5fca0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a31507b3bebe2528e83e9eecadea5fca0" kindref="member">fs_old_rotdelay</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>num<sp/>of<sp/>ms<sp/>for<sp/>optimal<sp/>next<sp/>block<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="279" refid="structfs_1af615de722bf977da3bf0b21e99099358" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1af615de722bf977da3bf0b21e99099358" kindref="member">fs_old_rps</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>disk<sp/>revolutions<sp/>per<sp/>second<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="280"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>these<sp/>fields<sp/>can<sp/>be<sp/>computed<sp/>from<sp/>the<sp/>others<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="281" refid="structfs_1a9a6df636b99f001bb0fe96c2c567c3db" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a9a6df636b99f001bb0fe96c2c567c3db" kindref="member">fs_bmask</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>``blkoff&apos;&apos;<sp/>calc<sp/>of<sp/>blk<sp/>offsets<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="282" refid="structfs_1af447cdadaacd96c24c81f7e34c0059f5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1af447cdadaacd96c24c81f7e34c0059f5" kindref="member">fs_fmask</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>``fragoff&apos;&apos;<sp/>calc<sp/>of<sp/>frag<sp/>offsets<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="283" refid="structfs_1a664686425d41a31c188000518c356682" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a664686425d41a31c188000518c356682" kindref="member">fs_bshift</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>``lblkno&apos;&apos;<sp/>calc<sp/>of<sp/>logical<sp/>blkno<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="284" refid="structfs_1ac62c66d38fde6372b81e3cf8ef8ec6f2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ac62c66d38fde6372b81e3cf8ef8ec6f2" kindref="member">fs_fshift</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>``numfrags&apos;&apos;<sp/>calc<sp/>number<sp/>of<sp/>frags<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="285"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>these<sp/>are<sp/>configuration<sp/>parameters<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="286" refid="structfs_1a78bdd388e46c8136e6f9e5b6b7a3f600" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a78bdd388e46c8136e6f9e5b6b7a3f600" kindref="member">fs_maxcontig</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>max<sp/>number<sp/>of<sp/>contiguous<sp/>blks<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="287" refid="structfs_1a1236b6b674047859269b8df46a745aba" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a1236b6b674047859269b8df46a745aba" kindref="member">fs_maxbpg</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>max<sp/>number<sp/>of<sp/>blks<sp/>per<sp/>cyl<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="288"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>these<sp/>fields<sp/>can<sp/>be<sp/>computed<sp/>from<sp/>the<sp/>others<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="289" refid="structfs_1a27f2b7e09b8716cf08237aba7529fbf7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a27f2b7e09b8716cf08237aba7529fbf7" kindref="member">fs_fragshift</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>block<sp/>to<sp/>frag<sp/>shift<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="290" refid="structfs_1a420213fcd930d17a087a39fa48eab6bb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a420213fcd930d17a087a39fa48eab6bb" kindref="member">fs_fsbtodb</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>fsbtodb<sp/>and<sp/>dbtofsb<sp/>shift<sp/>constant<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="291" refid="structfs_1a60ddc7f4adc14ba5f09977808f93b124" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a60ddc7f4adc14ba5f09977808f93b124" kindref="member">fs_sbsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>actual<sp/>size<sp/>of<sp/>super<sp/>block<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="292" refid="structfs_1ae626e7eadba9d15bd1aa6bd733de59fe" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ae626e7eadba9d15bd1aa6bd733de59fe" kindref="member">fs_spare1</ref>[2];<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>fs_csmask<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>fs_csshift<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="294" refid="structfs_1a2d119c1181a7e3acad4d7705a589d20b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a2d119c1181a7e3acad4d7705a589d20b" kindref="member">fs_nindir</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>value<sp/>of<sp/>NINDIR<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="295" refid="structfs_1a733402e62d65acbcba0ab0468022b4d5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structfs_1a733402e62d65acbcba0ab0468022b4d5" kindref="member">fs_inopb</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>value<sp/>of<sp/>INOPB<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="296" refid="structfs_1a7262744877dac1c79e119fab7ee3d67d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a7262744877dac1c79e119fab7ee3d67d" kindref="member">fs_old_nspf</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>value<sp/>of<sp/>NSPF<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="297"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>yet<sp/>another<sp/>configuration<sp/>parameter<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="298" refid="structfs_1ad2741b461acb83e521e8f094586e1f04" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ad2741b461acb83e521e8f094586e1f04" kindref="member">fs_optim</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>optimization<sp/>preference,<sp/>see<sp/>below<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="299" refid="structfs_1aaefee9a806967afe881a50fcbe391ff5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1aaefee9a806967afe881a50fcbe391ff5" kindref="member">fs_old_npsect</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>#<sp/>sectors/track<sp/>including<sp/>spares<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="300" refid="structfs_1affe7e7f7fcff6fab9079d83220e3e1cc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1affe7e7f7fcff6fab9079d83220e3e1cc" kindref="member">fs_old_interleave</ref>;<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>hardware<sp/>sector<sp/>interleave<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="301" refid="structfs_1ab013e02a3dd43b54edb8d17a6303987e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ab013e02a3dd43b54edb8d17a6303987e" kindref="member">fs_old_trackskew</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>sector<sp/>0<sp/>skew,<sp/>per<sp/>track<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="302" refid="structfs_1ad573635cfbc906b4d5af65a338705fef" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ad573635cfbc906b4d5af65a338705fef" kindref="member">fs_id</ref>[2];<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>unique<sp/>filesystem<sp/>id<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="303"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>sizes<sp/>determined<sp/>by<sp/>number<sp/>of<sp/>cylinder<sp/>groups<sp/>and<sp/>their<sp/>sizes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="304" refid="structfs_1a1e5f3cc79f0589b713e56ae3f7892287" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a1e5f3cc79f0589b713e56ae3f7892287" kindref="member">fs_old_csaddr</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>blk<sp/>addr<sp/>of<sp/>cyl<sp/>grp<sp/>summary<sp/>area<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="305" refid="structfs_1a8eba877a723ca9b8f9c762a1d65878e9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a8eba877a723ca9b8f9c762a1d65878e9" kindref="member">fs_cssize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>size<sp/>of<sp/>cyl<sp/>grp<sp/>summary<sp/>area<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="306" refid="structfs_1a1a500c66d35a8ae7875ae00c2a953eea" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a1a500c66d35a8ae7875ae00c2a953eea" kindref="member">fs_cgsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cylinder<sp/>group<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="307" refid="structfs_1a7cebf2cb358cde121c29269dbc20a1f3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a7cebf2cb358cde121c29269dbc20a1f3" kindref="member">fs_spare2</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>fs_ntrak<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="308" refid="structfs_1a89b502e2bf515440bc150e8e4ebb12c9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a89b502e2bf515440bc150e8e4ebb12c9" kindref="member">fs_old_nsect</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>sectors<sp/>per<sp/>track<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="309" refid="structfs_1affb1c061e74f60407af46700f5394a0c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1affb1c061e74f60407af46700f5394a0c" kindref="member">fs_old_spc</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>sectors<sp/>per<sp/>cylinder<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="310" refid="structfs_1a3b4d10d43d4175b9444ed73ddcf18140" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a3b4d10d43d4175b9444ed73ddcf18140" kindref="member">fs_old_ncyl</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cylinders<sp/>in<sp/>filesystem<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="311" refid="structfs_1a3059d11894848b96ae73618740f0dac6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a3059d11894848b96ae73618740f0dac6" kindref="member">fs_old_cpg</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cylinders<sp/>per<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="312" refid="structfs_1adf24d0e3ffe0fceef2f3821305e04e3d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structfs_1adf24d0e3ffe0fceef2f3821305e04e3d" kindref="member">fs_ipg</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>inodes<sp/>per<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="313" refid="structfs_1a8231c53c394bf5c523584dbe87295b03" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a8231c53c394bf5c523584dbe87295b03" kindref="member">fs_fpg</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>blocks<sp/>per<sp/>group<sp/>*<sp/>fs_frag<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="314"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>this<sp/>data<sp/>must<sp/>be<sp/>re-computed<sp/>after<sp/>crashes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="315" refid="structfs_1a987656a71ddd126654688a50477b4757" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/><sp/></highlight><highlight class="normal"><ref refid="structcsum" kindref="compound">csum</ref><sp/><ref refid="structfs_1a987656a71ddd126654688a50477b4757" kindref="member">fs_old_cstotal</ref>;<sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cylinder<sp/>summary<sp/>information<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="316"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>these<sp/>fields<sp/>are<sp/>cleared<sp/>at<sp/>mount<sp/>time<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="317" refid="structfs_1a685528bae5950f6dc8d7868ce1df2268" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a06ffba8acf5d133104191f183e67ac8c" kindref="member">int8_t</ref><sp/><sp/><sp/><ref refid="structfs_1a685528bae5950f6dc8d7868ce1df2268" kindref="member">fs_fmod</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>super<sp/>block<sp/>modified<sp/>flag<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="318" refid="structfs_1ad70b3b14f20ee12639f774ce0a6817b0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a06ffba8acf5d133104191f183e67ac8c" kindref="member">int8_t</ref><sp/><sp/><sp/><ref refid="structfs_1ad70b3b14f20ee12639f774ce0a6817b0" kindref="member">fs_clean</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>filesystem<sp/>is<sp/>clean<sp/>flag<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="319" refid="structfs_1ac4a00ffe190e24cf27323062dd3c4b04" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a06ffba8acf5d133104191f183e67ac8c" kindref="member">int8_t</ref><sp/><sp/><sp/><ref refid="structfs_1ac4a00ffe190e24cf27323062dd3c4b04" kindref="member">fs_ronly</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>mounted<sp/>read-only<sp/>flag<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="320" refid="structfs_1a2eb4e28e41443e46d48f4b2d401fa61f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a06ffba8acf5d133104191f183e67ac8c" kindref="member">int8_t</ref><sp/><sp/><sp/><ref refid="structfs_1a2eb4e28e41443e46d48f4b2d401fa61f" kindref="member">fs_old_flags</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>FS_<sp/>flags<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="321" refid="structfs_1a580ddd495e4e346d10f6f74cd8ae35ad" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1ae2b02ed168fc99cff3851603910b1fb6" kindref="member">u_char</ref><sp/><sp/><sp/><ref refid="structfs_1a580ddd495e4e346d10f6f74cd8ae35ad" kindref="member">fs_fsmnt</ref>[<ref refid="ufs_2ffs_2fs_8h_1a0beb14d415a358b818cec76550e4fad1" kindref="member">MAXMNTLEN</ref>];<sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>name<sp/>mounted<sp/>on<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="322" refid="structfs_1af062a835d2e2599fd6ffd453c454dd22" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1ae2b02ed168fc99cff3851603910b1fb6" kindref="member">u_char</ref><sp/><sp/><sp/><ref refid="structfs_1af062a835d2e2599fd6ffd453c454dd22" kindref="member">fs_volname</ref>[<ref refid="ufs_2ffs_2fs_8h_1ac5859c27029a47d17c1279cc197f05c3" kindref="member">MAXVOLLEN</ref>];<sp/></highlight><highlight class="comment">/*<sp/>volume<sp/>name<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="323" refid="structfs_1a582e900902af7c6ba9a7a837c61ce8b9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a250ac047bf3984b5dae755276a305d64" kindref="member">u_int64_t</ref><sp/><ref refid="structfs_1a582e900902af7c6ba9a7a837c61ce8b9" kindref="member">fs_swuid</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>system-wide<sp/>uid<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="324" refid="structfs_1a2cb27fb4a6379e89a430db9f9d51eda5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a2cb27fb4a6379e89a430db9f9d51eda5" kindref="member">fs_pad</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>due<sp/>to<sp/>alignment<sp/>of<sp/>fs_swuid<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="325"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>these<sp/>fields<sp/>retain<sp/>the<sp/>current<sp/>block<sp/>allocation<sp/>info<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="326" refid="structfs_1a30411c307e72e31cec612a97b004453e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a30411c307e72e31cec612a97b004453e" kindref="member">fs_cgrotor</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>last<sp/>cg<sp/>searched<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="327" refid="structfs_1a4cf49593a8f0cf0a1d2d53992fab1ec7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/>*<ref refid="structfs_1a4cf49593a8f0cf0a1d2d53992fab1ec7" kindref="member">fs_ocsp</ref>[<ref refid="ufs_2ffs_2fs_8h_1aca816b354128719c1523e33152a13637" kindref="member">NOCSPTRS</ref>];<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>padding;<sp/>was<sp/>list<sp/>of<sp/>fs_cs<sp/>buffers<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="328" refid="structfs_1ada48615e2bbbfed4cce9753d86d7584f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref><sp/>*<ref refid="structfs_1ada48615e2bbbfed4cce9753d86d7584f" kindref="member">fs_contigdirs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>#<sp/>of<sp/>contig.<sp/>allocated<sp/>dirs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="329" refid="structfs_1a4b9c3e77f89f5a59f71e37f83b8d42aa" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/><sp/></highlight><highlight class="normal"><ref refid="structcsum" kindref="compound">csum</ref><sp/>*<ref refid="structfs_1a4b9c3e77f89f5a59f71e37f83b8d42aa" kindref="member">fs_csp</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>cg<sp/>summary<sp/>info<sp/>buffer<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="330" refid="structfs_1a3456619a6ebb8c8c6b522d5d3ef1b081" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/>*<ref refid="structfs_1a3456619a6ebb8c8c6b522d5d3ef1b081" kindref="member">fs_maxcluster</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>max<sp/>cluster<sp/>in<sp/>each<sp/>cyl<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="331" refid="structfs_1a242bad85def13c2aba47daaf58de7308" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1ac319c165d52643e43249fe003e18bdf3" kindref="member">u_int</ref><sp/><sp/><sp/>*<ref refid="structfs_1a242bad85def13c2aba47daaf58de7308" kindref="member">fs_active</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>used<sp/>by<sp/>snapshots<sp/>to<sp/>track<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="332" refid="structfs_1ada2826b8126cd04502a8d106d97f2feb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ada2826b8126cd04502a8d106d97f2feb" kindref="member">fs_old_cpc</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cyl<sp/>per<sp/>cycle<sp/>in<sp/>postbl<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="333" refid="structfs_1a133f70897ddd802936d9f15f9c4f7b1d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a133f70897ddd802936d9f15f9c4f7b1d" kindref="member">fs_maxbsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>maximum<sp/>blocking<sp/>factor<sp/>permitted<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="334" refid="structfs_1ac2ce9858e817fcdc2ce736089aebe49b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1ac2ce9858e817fcdc2ce736089aebe49b" kindref="member">fs_unrefs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>unreferenced<sp/>inodes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="335" refid="structfs_1a0b72655872d538c1bd9970a3756695da" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1a0b72655872d538c1bd9970a3756695da" kindref="member">fs_providersize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>size<sp/>of<sp/>underlying<sp/>GEOM<sp/>provider<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="336" refid="structfs_1a7c602e34fbe2437930da5af29bdd3f40" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1a7c602e34fbe2437930da5af29bdd3f40" kindref="member">fs_metaspace</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>size<sp/>of<sp/>area<sp/>reserved<sp/>for<sp/>metadata<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="337" refid="structfs_1a7abf5f534e4a4a54dcbb38013f2afcb7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1a7abf5f534e4a4a54dcbb38013f2afcb7" kindref="member">fs_sparecon64</ref>[14];<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>rotation<sp/>block<sp/>list<sp/>head<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="338" refid="structfs_1a7f7bd1346fb9aa31b3509e7736b9c3c5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1a7f7bd1346fb9aa31b3509e7736b9c3c5" kindref="member">fs_sblockloc</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>byte<sp/>offset<sp/>of<sp/>standard<sp/>superblock<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="339" refid="structfs_1a85a5dbf3800d9a52f02efc0367cf87f2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/><sp/></highlight><highlight class="normal"><ref refid="structcsum__total" kindref="compound">csum_total</ref><sp/><ref refid="structfs_1a85a5dbf3800d9a52f02efc0367cf87f2" kindref="member">fs_cstotal</ref>;<sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>cylinder<sp/>summary<sp/>information<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="340" refid="structfs_1a05c9a84e408e2f7898dd0a83f7859112" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1aec5bc03f68bf810247d604821ad95bb7" kindref="member">ufs_time_t</ref><sp/><ref refid="structfs_1a05c9a84e408e2f7898dd0a83f7859112" kindref="member">fs_time</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>last<sp/>time<sp/>written<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="341" refid="structfs_1a4f95748c8c7cc9e3e9ed007405b99761" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1a4f95748c8c7cc9e3e9ed007405b99761" kindref="member">fs_size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>blocks<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="342" refid="structfs_1aa8e6378d3a6150f5a1dc264cf2e306e6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1aa8e6378d3a6150f5a1dc264cf2e306e6" kindref="member">fs_dsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>data<sp/>blocks<sp/>in<sp/>fs<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="343" refid="structfs_1ad43582016bfc00268dbd3de5bdf63c56" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1ad1d47f60518d845f7e798fa0f3458753" kindref="member">ufs2_daddr_t</ref><sp/><ref refid="structfs_1ad43582016bfc00268dbd3de5bdf63c56" kindref="member">fs_csaddr</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>blk<sp/>addr<sp/>of<sp/>cyl<sp/>grp<sp/>summary<sp/>area<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="344" refid="structfs_1a716babdd931f0aae037a388a76fb0f5e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1a716babdd931f0aae037a388a76fb0f5e" kindref="member">fs_pendingblocks</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>blocks<sp/>being<sp/>freed<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="345" refid="structfs_1a0cbe58ffe6a5938d48c456413580d492" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structfs_1a0cbe58ffe6a5938d48c456413580d492" kindref="member">fs_pendinginodes</ref>;<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u)<sp/>inodes<sp/>being<sp/>freed<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="346" refid="structfs_1a1d23acba4998d1e7aaa613fabbeacd8c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="structfs_1a1d23acba4998d1e7aaa613fabbeacd8c" kindref="member">fs_snapinum</ref>[<ref refid="ufs_2ffs_2fs_8h_1a04c33da6605e73954cf2ff32c3f0f15a" kindref="member">FSMAXSNAP</ref>];</highlight><highlight class="comment">/*<sp/>list<sp/>of<sp/>snapshot<sp/>inode<sp/>numbers<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="347" refid="structfs_1aac41d7cc53c7100d01164f2b296b05ee" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structfs_1aac41d7cc53c7100d01164f2b296b05ee" kindref="member">fs_avgfilesize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>expected<sp/>average<sp/>file<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="348" refid="structfs_1ada76c669a82750d9a8c0d7ca2eddd082" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structfs_1ada76c669a82750d9a8c0d7ca2eddd082" kindref="member">fs_avgfpdir</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>expected<sp/>#<sp/>of<sp/>files<sp/>per<sp/>directory<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="349" refid="structfs_1a296f6ea58ab5171bb0cebf8d9e9759b9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a296f6ea58ab5171bb0cebf8d9e9759b9" kindref="member">fs_save_cgsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>save<sp/>real<sp/>cg<sp/>size<sp/>to<sp/>use<sp/>fs_bsize<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="350" refid="structfs_1a60205b64391864a0fdd1184ad7599c68" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1aec5bc03f68bf810247d604821ad95bb7" kindref="member">ufs_time_t</ref><sp/><ref refid="structfs_1a60205b64391864a0fdd1184ad7599c68" kindref="member">fs_mtime</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Last<sp/>mount<sp/>or<sp/>fsck<sp/>time.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="351" refid="structfs_1a54d0164284e53108ca2996f60b55565b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a54d0164284e53108ca2996f60b55565b" kindref="member">fs_sujfree</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>SUJ<sp/>free<sp/>list<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="352" refid="structfs_1a505ae55360f35ac57519ef73a583c65c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a505ae55360f35ac57519ef73a583c65c" kindref="member">fs_sparecon32</ref>[23];<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>reserved<sp/>for<sp/>future<sp/>constants<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="353" refid="structfs_1a3036cb913215b8925934f2d87792e75b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a3036cb913215b8925934f2d87792e75b" kindref="member">fs_flags</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>see<sp/>FS_<sp/>flags<sp/>below<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="354" refid="structfs_1acdd52fe6ac532b73eb877c57b286dd93" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1acdd52fe6ac532b73eb877c57b286dd93" kindref="member">fs_contigsumsize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>size<sp/>of<sp/>cluster<sp/>summary<sp/>array<sp/>*/</highlight><highlight class="normal"><sp/></highlight></codeline>
<codeline lineno="355" refid="structfs_1abc0a279ec4d6a3f7a70e7078c9def3d3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1abc0a279ec4d6a3f7a70e7078c9def3d3" kindref="member">fs_maxsymlinklen</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>max<sp/>length<sp/>of<sp/>an<sp/>internal<sp/>symlink<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="356" refid="structfs_1a8fd0d606db522d961af347195bb59909" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a8fd0d606db522d961af347195bb59909" kindref="member">fs_old_inodefmt</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>format<sp/>of<sp/>on-disk<sp/>inodes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="357" refid="structfs_1a80705fcf0b5478639af84da1d4c24e72" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a250ac047bf3984b5dae755276a305d64" kindref="member">u_int64_t</ref><sp/><ref refid="structfs_1a80705fcf0b5478639af84da1d4c24e72" kindref="member">fs_maxfilesize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>maximum<sp/>representable<sp/>file<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="358" refid="structfs_1aa771c09702d1e51ee526fb822e7230a5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1aa771c09702d1e51ee526fb822e7230a5" kindref="member">fs_qbmask</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>~fs_bmask<sp/>for<sp/>use<sp/>with<sp/>64-bit<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="359" refid="structfs_1ab48686a078d1a8410ec36696f0afeb05" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structfs_1ab48686a078d1a8410ec36696f0afeb05" kindref="member">fs_qfmask</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>~fs_fmask<sp/>for<sp/>use<sp/>with<sp/>64-bit<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="360" refid="structfs_1a6c2e8cf33c773a90113fcc7fe9a75c51" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1a6c2e8cf33c773a90113fcc7fe9a75c51" kindref="member">fs_state</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>validate<sp/>fs_clean<sp/>field<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="361" refid="structfs_1aff096e7b1228e1914b01a8b66e74b1b1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1aff096e7b1228e1914b01a8b66e74b1b1" kindref="member">fs_old_postblformat</ref>;<sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>format<sp/>of<sp/>positional<sp/>layout<sp/>tables<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="362" refid="structfs_1aef6eb7c95acad0463084fc855e91c73d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1aef6eb7c95acad0463084fc855e91c73d" kindref="member">fs_old_nrpos</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>rotational<sp/>positions<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="363" refid="structfs_1ae21d3f568b4f3eec3613927631ff9ccf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1ae21d3f568b4f3eec3613927631ff9ccf" kindref="member">fs_spare5</ref>[2];<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>fs_postbloff<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>fs_rotbloff<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="365" refid="structfs_1aacc2f0aa6f3902f165c563ce5ba76373" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structfs_1aacc2f0aa6f3902f165c563ce5ba76373" kindref="member">fs_magic</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>magic<sp/>number<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="366"><highlight class="normal">};</highlight></codeline>
<codeline lineno="367"><highlight class="normal"></highlight></codeline>
<codeline lineno="368"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>Sanity<sp/>checking.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="369"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>CTASSERT</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="370"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structfs" kindref="compound">fs</ref>)<sp/>==<sp/>1376);</highlight></codeline>
<codeline lineno="371"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="372"><highlight class="normal"></highlight></codeline>
<codeline lineno="373"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="374"><highlight class="comment"><sp/>*<sp/>Filesystem<sp/>identification</highlight></codeline>
<codeline lineno="375"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="376" refid="ufs_2ffs_2fs_8h_1ace25c7a73c514a8e575e1ba8c15c9a9e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_UFS1_MAGIC<sp/><sp/><sp/>0x011954<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>UFS1<sp/>fast<sp/>filesystem<sp/>magic<sp/>number<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="377" refid="ufs_2ffs_2fs_8h_1a0b73b7456fc1dee932dc0c1056c613fc" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_UFS2_MAGIC<sp/><sp/><sp/>0x19540119<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>UFS2<sp/>fast<sp/>filesystem<sp/>magic<sp/>number<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="378" refid="ufs_2ffs_2fs_8h_1a3a790ea6d8778aff9200aaf3e0aead98" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_BAD_MAGIC<sp/><sp/><sp/><sp/>0x19960408<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>UFS<sp/>incomplete<sp/>newfs<sp/>magic<sp/>number<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="379" refid="ufs_2ffs_2fs_8h_1a44a8a0e97e596d49a1a323b5db0a7650" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_OKAY<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x7c269d38<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>superblock<sp/>checksum<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="380" refid="ufs_2ffs_2fs_8h_1acb239d9104407b43a7a21a797b344df8" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_42INODEFMT<sp/><sp/><sp/>-1<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>4.2BSD<sp/>inode<sp/>format<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="381" refid="ufs_2ffs_2fs_8h_1aec36ab3845dc8939b802549b97517678" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_44INODEFMT<sp/><sp/><sp/>2<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>4.4BSD<sp/>inode<sp/>format<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="382"><highlight class="normal"></highlight></codeline>
<codeline lineno="383"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="384"><highlight class="comment"><sp/>*<sp/>Preference<sp/>for<sp/>optimization.</highlight></codeline>
<codeline lineno="385"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="386" refid="ufs_2ffs_2fs_8h_1ae331c132b869580e7851c80f4611ea38" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_OPTTIME<sp/><sp/><sp/><sp/><sp/><sp/>0<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>minimize<sp/>allocation<sp/>time<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="387" refid="ufs_2ffs_2fs_8h_1abb1205b813dfa4f9e210648585dab67d" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_OPTSPACE<sp/><sp/><sp/><sp/><sp/>1<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>minimize<sp/>disk<sp/>fragmentation<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="388"><highlight class="normal"></highlight></codeline>
<codeline lineno="389"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="390"><highlight class="comment"><sp/>*<sp/>Filesystem<sp/>flags.</highlight></codeline>
<codeline lineno="391"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="392"><highlight class="comment"><sp/>*<sp/>The<sp/>FS_UNCLEAN<sp/>flag<sp/>is<sp/>set<sp/>by<sp/>the<sp/>kernel<sp/>when<sp/>the<sp/>filesystem<sp/>was</highlight></codeline>
<codeline lineno="393"><highlight class="comment"><sp/>*<sp/>mounted<sp/>with<sp/>fs_clean<sp/>set<sp/>to<sp/>zero.<sp/>The<sp/>FS_DOSOFTDEP<sp/>flag<sp/>indicates</highlight></codeline>
<codeline lineno="394"><highlight class="comment"><sp/>*<sp/>that<sp/>the<sp/>filesystem<sp/>should<sp/>be<sp/>managed<sp/>by<sp/>the<sp/>soft<sp/>updates<sp/>code.</highlight></codeline>
<codeline lineno="395"><highlight class="comment"><sp/>*<sp/>Note<sp/>that<sp/>the<sp/>FS_NEEDSFSCK<sp/>flag<sp/>is<sp/>set<sp/>and<sp/>cleared<sp/>only<sp/>by<sp/>the</highlight></codeline>
<codeline lineno="396"><highlight class="comment"><sp/>*<sp/>fsck<sp/>utility.<sp/>It<sp/>is<sp/>set<sp/>when<sp/>background<sp/>fsck<sp/>finds<sp/>an<sp/>unexpected</highlight></codeline>
<codeline lineno="397"><highlight class="comment"><sp/>*<sp/>inconsistency<sp/>which<sp/>requires<sp/>a<sp/>traditional<sp/>foreground<sp/>fsck<sp/>to<sp/>be</highlight></codeline>
<codeline lineno="398"><highlight class="comment"><sp/>*<sp/>run.<sp/>Such<sp/>inconsistencies<sp/>should<sp/>only<sp/>be<sp/>found<sp/>after<sp/>an<sp/>uncorrectable</highlight></codeline>
<codeline lineno="399"><highlight class="comment"><sp/>*<sp/>disk<sp/>error.<sp/>A<sp/>foreground<sp/>fsck<sp/>will<sp/>clear<sp/>the<sp/>FS_NEEDSFSCK<sp/>flag<sp/>when</highlight></codeline>
<codeline lineno="400"><highlight class="comment"><sp/>*<sp/>it<sp/>has<sp/>successfully<sp/>cleaned<sp/>up<sp/>the<sp/>filesystem.<sp/>The<sp/>kernel<sp/>uses<sp/>this</highlight></codeline>
<codeline lineno="401"><highlight class="comment"><sp/>*<sp/>flag<sp/>to<sp/>enforce<sp/>that<sp/>inconsistent<sp/>filesystems<sp/>be<sp/>mounted<sp/>read-only.</highlight></codeline>
<codeline lineno="402"><highlight class="comment"><sp/>*<sp/>The<sp/>FS_INDEXDIRS<sp/>flag<sp/>when<sp/>set<sp/>indicates<sp/>that<sp/>the<sp/>kernel<sp/>maintains</highlight></codeline>
<codeline lineno="403"><highlight class="comment"><sp/>*<sp/>on-disk<sp/>auxiliary<sp/>indexes<sp/>(such<sp/>as<sp/>B-trees)<sp/>for<sp/>speeding<sp/>directory</highlight></codeline>
<codeline lineno="404"><highlight class="comment"><sp/>*<sp/>accesses.<sp/>Kernels<sp/>that<sp/>do<sp/>not<sp/>support<sp/>auxiliary<sp/>indices<sp/>clear<sp/>the</highlight></codeline>
<codeline lineno="405"><highlight class="comment"><sp/>*<sp/>flag<sp/>to<sp/>indicate<sp/>that<sp/>the<sp/>indices<sp/>need<sp/>to<sp/>be<sp/>rebuilt<sp/>(by<sp/>fsck)<sp/>before</highlight></codeline>
<codeline lineno="406"><highlight class="comment"><sp/>*<sp/>they<sp/>can<sp/>be<sp/>used.</highlight></codeline>
<codeline lineno="407"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="408"><highlight class="comment"><sp/>*<sp/>FS_ACLS<sp/>indicates<sp/>that<sp/>POSIX.1e<sp/>ACLs<sp/>are<sp/>administratively<sp/>enabled</highlight></codeline>
<codeline lineno="409"><highlight class="comment"><sp/>*<sp/>for<sp/>the<sp/>file<sp/>system,<sp/>so<sp/>they<sp/>should<sp/>be<sp/>loaded<sp/>from<sp/>extended<sp/>attributes,</highlight></codeline>
<codeline lineno="410"><highlight class="comment"><sp/>*<sp/>observed<sp/>for<sp/>access<sp/>control<sp/>purposes,<sp/>and<sp/>be<sp/>administered<sp/>by<sp/>object</highlight></codeline>
<codeline lineno="411"><highlight class="comment"><sp/>*<sp/>owners.<sp/><sp/>FS_NFS4ACLS<sp/>indicates<sp/>that<sp/>NFSv4<sp/>ACLs<sp/>are<sp/>administratively</highlight></codeline>
<codeline lineno="412"><highlight class="comment"><sp/>*<sp/>enabled.<sp/><sp/>This<sp/>flag<sp/>is<sp/>mutually<sp/>exclusive<sp/>with<sp/>FS_ACLS.<sp/><sp/>FS_MULTILABEL</highlight></codeline>
<codeline lineno="413"><highlight class="comment"><sp/>*<sp/>indicates<sp/>that<sp/>the<sp/>TrustedBSD<sp/>MAC<sp/>Framework<sp/>should<sp/>attempt<sp/>to<sp/>back<sp/>MAC</highlight></codeline>
<codeline lineno="414"><highlight class="comment"><sp/>*<sp/>labels<sp/>into<sp/>extended<sp/>attributes<sp/>on<sp/>the<sp/>file<sp/>system<sp/>rather<sp/>than<sp/>maintain</highlight></codeline>
<codeline lineno="415"><highlight class="comment"><sp/>*<sp/>a<sp/>single<sp/>mount<sp/>label<sp/>for<sp/>all<sp/>objects.</highlight></codeline>
<codeline lineno="416"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="417" refid="ufs_2ffs_2fs_8h_1a6d8bc767f9c8365bef4d66b4c9efe0bd" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_UNCLEAN<sp/><sp/><sp/><sp/><sp/><sp/>0x0001<sp/><sp/></highlight><highlight class="comment">/*<sp/>filesystem<sp/>not<sp/>clean<sp/>at<sp/>mount<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="418" refid="ufs_2ffs_2fs_8h_1a4d3ebb952d8b6e07239c2bb0f0819847" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_DOSOFTDEP<sp/><sp/><sp/><sp/>0x0002<sp/><sp/></highlight><highlight class="comment">/*<sp/>filesystem<sp/>using<sp/>soft<sp/>dependencies<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="419" refid="ufs_2ffs_2fs_8h_1a495af838867548e70461e7dbda6bc325" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_NEEDSFSCK<sp/><sp/><sp/><sp/>0x0004<sp/><sp/></highlight><highlight class="comment">/*<sp/>filesystem<sp/>needs<sp/>sync<sp/>fsck<sp/>before<sp/>mount<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="420" refid="ufs_2ffs_2fs_8h_1a61d9ee509859575e0b8f3417c22d66d2" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_SUJ<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x0008<sp/><sp/></highlight><highlight class="comment">/*<sp/>Filesystem<sp/>using<sp/>softupdate<sp/>journal<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="421" refid="ufs_2ffs_2fs_8h_1ae61037919a220a5a6f77e3c860a0f556" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_ACLS<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x0010<sp/><sp/></highlight><highlight class="comment">/*<sp/>file<sp/>system<sp/>has<sp/>POSIX.1e<sp/>ACLs<sp/>enabled<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="422" refid="ufs_2ffs_2fs_8h_1a6ca57badba0a0a0bb1cba4d7186ed005" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_MULTILABEL<sp/><sp/><sp/>0x0020<sp/><sp/></highlight><highlight class="comment">/*<sp/>file<sp/>system<sp/>is<sp/>MAC<sp/>multi-label<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="423" refid="ufs_2ffs_2fs_8h_1aa06dce7dd9b81f4b727c7011d209f1bd" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_GJOURNAL<sp/><sp/><sp/><sp/><sp/>0x0040<sp/><sp/></highlight><highlight class="comment">/*<sp/>gjournaled<sp/>file<sp/>system<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="424" refid="ufs_2ffs_2fs_8h_1a982ce44156d077a994c2ec7faa4b89a9" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_FLAGS_UPDATED<sp/>0x0080<sp/></highlight><highlight class="comment">/*<sp/>flags<sp/>have<sp/>been<sp/>moved<sp/>to<sp/>new<sp/>location<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="425" refid="ufs_2ffs_2fs_8h_1a8e03c37e9f2b46f17c2d72ac54f9a9d5" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_NFS4ACLS<sp/><sp/><sp/><sp/><sp/>0x0100<sp/><sp/></highlight><highlight class="comment">/*<sp/>file<sp/>system<sp/>has<sp/>NFSv4<sp/>ACLs<sp/>enabled<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="426" refid="ufs_2ffs_2fs_8h_1a47d7b1f35a014650abc4cbc6abc5967e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_INDEXDIRS<sp/><sp/><sp/><sp/>0x0200<sp/><sp/></highlight><highlight class="comment">/*<sp/>kernel<sp/>supports<sp/>indexed<sp/>directories<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="427" refid="ufs_2ffs_2fs_8h_1ac194d44f6d8ee87a5f468366a2ba321a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FS_TRIM<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x0400<sp/><sp/></highlight><highlight class="comment">/*<sp/>issue<sp/>BIO_DELETE<sp/>for<sp/>deleted<sp/>blocks<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="428"><highlight class="normal"></highlight></codeline>
<codeline lineno="429"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="430"><highlight class="comment"><sp/>*<sp/>Macros<sp/>to<sp/>access<sp/>bits<sp/>in<sp/>the<sp/>fs_active<sp/>array.</highlight></codeline>
<codeline lineno="431"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="432" refid="ufs_2ffs_2fs_8h_1af5d1b5729eafd3c171c9dd5885549621" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ACTIVECGNUM(fs,<sp/>cg)<sp/><sp/><sp/><sp/><sp/>((fs)-&gt;fs_active[(cg)<sp/>/<sp/>(NBBY<sp/>*<sp/>sizeof(int))])</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="433" refid="ufs_2ffs_2fs_8h_1ad30e7295122b283f4e385651d2f24d83" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ACTIVECGOFF(cg)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(1<sp/>&lt;&lt;<sp/>((cg)<sp/>%<sp/>(NBBY<sp/>*<sp/>sizeof(int))))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="434" refid="ufs_2ffs_2fs_8h_1ad84db69fcb3b77114c3be14364120622" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ACTIVESET(fs,<sp/>cg)<sp/><sp/><sp/><sp/><sp/><sp/><sp/>do<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="435"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>((fs)-&gt;fs_active)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="436"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ACTIVECGNUM((fs),<sp/>(cg))<sp/>|=<sp/>ACTIVECGOFF((cg));<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="437"><highlight class="preprocessor">}<sp/>while<sp/>(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="438" refid="ufs_2ffs_2fs_8h_1ae8adbc207667e22a3263c9a27bc65606" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ACTIVECLEAR(fs,<sp/>cg)<sp/><sp/><sp/><sp/><sp/>do<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="439"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>((fs)-&gt;fs_active)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="440"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ACTIVECGNUM((fs),<sp/>(cg))<sp/>&amp;=<sp/>~ACTIVECGOFF((cg));<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="441"><highlight class="preprocessor">}<sp/>while<sp/>(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="442"><highlight class="normal"></highlight></codeline>
<codeline lineno="443"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="444"><highlight class="comment"><sp/>*<sp/>The<sp/>size<sp/>of<sp/>a<sp/>cylinder<sp/>group<sp/>is<sp/>calculated<sp/>by<sp/>CGSIZE.<sp/>The<sp/>maximum<sp/>size</highlight></codeline>
<codeline lineno="445"><highlight class="comment"><sp/>*<sp/>is<sp/>limited<sp/>by<sp/>the<sp/>fact<sp/>that<sp/>cylinder<sp/>groups<sp/>are<sp/>at<sp/>most<sp/>one<sp/>block.</highlight></codeline>
<codeline lineno="446"><highlight class="comment"><sp/>*<sp/>Its<sp/>size<sp/>is<sp/>derived<sp/>from<sp/>the<sp/>size<sp/>of<sp/>the<sp/>maps<sp/>maintained<sp/>in<sp/>the</highlight></codeline>
<codeline lineno="447"><highlight class="comment"><sp/>*<sp/>cylinder<sp/>group<sp/>and<sp/>the<sp/>(struct<sp/>cg)<sp/>size.</highlight></codeline>
<codeline lineno="448"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="449" refid="ufs_2ffs_2fs_8h_1add70b683b5059fd3c82f852a6a6f15e8" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CGSIZE(fs)<sp/>\</highlight></codeline>
<codeline lineno="450"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>base<sp/>cg<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(sizeof(struct<sp/>cg)<sp/>+<sp/>sizeof(int32_t)<sp/>+<sp/>\</highlight></codeline>
<codeline lineno="451"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>btotoff<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/>(fs)-&gt;fs_old_cpg<sp/>*<sp/>sizeof(int32_t)<sp/>+<sp/>\</highlight></codeline>
<codeline lineno="452"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>old<sp/>boff<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/>(fs)-&gt;fs_old_cpg<sp/>*<sp/>sizeof(u_int16_t)<sp/>+<sp/>\</highlight></codeline>
<codeline lineno="453"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>inode<sp/>map<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/>howmany((fs)-&gt;fs_ipg,<sp/>NBBY)<sp/>+<sp/>\</highlight></codeline>
<codeline lineno="454"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>block<sp/>map<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/>howmany((fs)-&gt;fs_fpg,<sp/>NBBY)<sp/>+\</highlight></codeline>
<codeline lineno="455"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>if<sp/>present<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/>((fs)-&gt;fs_contigsumsize<sp/>&lt;=<sp/>0<sp/>?<sp/>0<sp/>:<sp/>\</highlight></codeline>
<codeline lineno="456"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cluster<sp/>sum<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/>(fs)-&gt;fs_contigsumsize<sp/>*<sp/>sizeof(int32_t)<sp/>+<sp/>\</highlight></codeline>
<codeline lineno="457"><highlight class="preprocessor"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cluster<sp/>map<sp/>*/</highlight><highlight class="preprocessor"><sp/><sp/><sp/>howmany(fragstoblks(fs,<sp/>(fs)-&gt;fs_fpg),<sp/>NBBY)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="458"><highlight class="normal"></highlight></codeline>
<codeline lineno="459"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="460"><highlight class="comment"><sp/>*<sp/>The<sp/>minimal<sp/>number<sp/>of<sp/>cylinder<sp/>groups<sp/>that<sp/>should<sp/>be<sp/>created.</highlight></codeline>
<codeline lineno="461"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="462" refid="ufs_2ffs_2fs_8h_1a797bf03d58cdfd1c381eb11aacff1a09" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MINCYLGRPS<sp/><sp/><sp/><sp/><sp/><sp/>4</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="463"><highlight class="normal"></highlight></codeline>
<codeline lineno="464"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="465"><highlight class="comment"><sp/>*<sp/>Convert<sp/>cylinder<sp/>group<sp/>to<sp/>base<sp/>address<sp/>of<sp/>its<sp/>global<sp/>summary<sp/>info.</highlight></codeline>
<codeline lineno="466"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="467" refid="ufs_2ffs_2fs_8h_1a5f7b68c2daf5963c504dd3eb9f424e83" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>fs_cs(fs,<sp/>indx)<sp/>fs_csp[indx]</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="468"><highlight class="normal"></highlight></codeline>
<codeline lineno="469"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="470"><highlight class="comment"><sp/>*<sp/>Cylinder<sp/>group<sp/>block<sp/>for<sp/>a<sp/>filesystem.</highlight></codeline>
<codeline lineno="471"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="472" refid="ufs_2ffs_2fs_8h_1a543096929f4921023de02820c6b50436" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CG_MAGIC<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x090255</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="473" refid="structcg" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structcg" kindref="compound">cg</ref><sp/>{</highlight></codeline>
<codeline lineno="474" refid="structcg_1a1549459c3334b515b7d603e7761d7c89" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structcg_1a1549459c3334b515b7d603e7761d7c89" kindref="member">cg_firstfield</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>historic<sp/>cyl<sp/>groups<sp/>linked<sp/>list<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="475" refid="structcg_1a6629382df74fc53d4cd75335ac356c4f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structcg_1a6629382df74fc53d4cd75335ac356c4f" kindref="member">cg_magic</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>magic<sp/>number<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="476" refid="structcg_1a1bdeaf16858c154be8aa5104a924751c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structcg_1a1bdeaf16858c154be8aa5104a924751c" kindref="member">cg_old_time</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>time<sp/>last<sp/>written<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="477" refid="structcg_1aceada36408389a91028335c34b8f1155" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1aceada36408389a91028335c34b8f1155" kindref="member">cg_cgx</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>we<sp/>are<sp/>the<sp/>cgx&apos;th<sp/>cylinder<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="478" refid="structcg_1af44e6cc32447721638515ce1a8038eed" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a3542c6a0490e65fc4fc407273126e64f" kindref="member">int16_t</ref><sp/><sp/><ref refid="structcg_1af44e6cc32447721638515ce1a8038eed" kindref="member">cg_old_ncyl</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>cyl&apos;s<sp/>this<sp/>cg<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="479" refid="structcg_1ad40cea978c5330c511d7d4d2b2de7d76" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a3542c6a0490e65fc4fc407273126e64f" kindref="member">int16_t</ref><sp/><sp/><ref refid="structcg_1ad40cea978c5330c511d7d4d2b2de7d76" kindref="member">cg_old_niblk</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>inode<sp/>blocks<sp/>this<sp/>cg<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="480" refid="structcg_1a91889f3c3755c33d5358d36ee9fd4ead" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a91889f3c3755c33d5358d36ee9fd4ead" kindref="member">cg_ndblk</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>data<sp/>blocks<sp/>this<sp/>cg<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="481" refid="structcg_1a352e2d3f82fbc0d04146d5b81a4c8883" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/><sp/><sp/></highlight><highlight class="normal"><ref refid="structcsum" kindref="compound">csum</ref><sp/><ref refid="structcg_1a352e2d3f82fbc0d04146d5b81a4c8883" kindref="member">cg_cs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cylinder<sp/>summary<sp/>information<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="482" refid="structcg_1aa52ea1ed3541365c0c8c5f88398b4ef3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1aa52ea1ed3541365c0c8c5f88398b4ef3" kindref="member">cg_rotor</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>position<sp/>of<sp/>last<sp/>used<sp/>block<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="483" refid="structcg_1af647c6284b3a503d74a86e18d21e7713" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1af647c6284b3a503d74a86e18d21e7713" kindref="member">cg_frotor</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>position<sp/>of<sp/>last<sp/>used<sp/>frag<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="484" refid="structcg_1a0b5e0ed212a5ca12d57fa73b6ade7e6d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a0b5e0ed212a5ca12d57fa73b6ade7e6d" kindref="member">cg_irotor</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>position<sp/>of<sp/>last<sp/>used<sp/>inode<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="485" refid="structcg_1ae1db958010964e7b1f79d18073d1d1f1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1ae1db958010964e7b1f79d18073d1d1f1" kindref="member">cg_frsum</ref>[<ref refid="ufs_2ffs_2fs_8h_1a0a726df03725023405ee5dd1d3a897c5" kindref="member">MAXFRAG</ref>];<sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>counts<sp/>of<sp/>available<sp/>frags<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="486" refid="structcg_1a2208c3571c5132d7a71c391fc01831ec" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structcg_1a2208c3571c5132d7a71c391fc01831ec" kindref="member">cg_old_btotoff</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(int32)<sp/>block<sp/>totals<sp/>per<sp/>cylinder<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="487" refid="structcg_1a5d2597d680958b4c819945ca8ceb1c51" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structcg_1a5d2597d680958b4c819945ca8ceb1c51" kindref="member">cg_old_boff</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u_int16)<sp/>free<sp/>block<sp/>positions<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="488" refid="structcg_1abef9dae6d7b2be4d8ebd5101bbf20fe9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1abef9dae6d7b2be4d8ebd5101bbf20fe9" kindref="member">cg_iusedoff</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u_int8)<sp/>used<sp/>inode<sp/>map<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="489" refid="structcg_1a55992e8fc119b63883dba8e95a71ca4b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a55992e8fc119b63883dba8e95a71ca4b" kindref="member">cg_freeoff</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u_int8)<sp/>free<sp/>block<sp/>map<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="490" refid="structcg_1a031907005887ad84d5a2a2da5d9b845a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a031907005887ad84d5a2a2da5d9b845a" kindref="member">cg_nextfreeoff</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u_int8)<sp/>next<sp/>available<sp/>space<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="491" refid="structcg_1a5f7ec2931318694963baba548c69dba6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a5f7ec2931318694963baba548c69dba6" kindref="member">cg_clustersumoff</ref>;<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u_int32)<sp/>counts<sp/>of<sp/>avail<sp/>clusters<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="492" refid="structcg_1a2fec2c1851d01640cdd1f7e79b8a6c27" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a2fec2c1851d01640cdd1f7e79b8a6c27" kindref="member">cg_clusteroff</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>(u_int8)<sp/>free<sp/>cluster<sp/>map<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="493" refid="structcg_1aa39739c2163167bfa532ce47113257e3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1aa39739c2163167bfa532ce47113257e3" kindref="member">cg_nclusterblks</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>clusters<sp/>this<sp/>cg<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="494" refid="structcg_1afa149be56047f3105c9e0dd613f4d167" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1afa149be56047f3105c9e0dd613f4d167" kindref="member">cg_niblk</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>inode<sp/>blocks<sp/>this<sp/>cg<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="495" refid="structcg_1ae863f73fe3756c6a4480c6983264d96b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1ae863f73fe3756c6a4480c6983264d96b" kindref="member">cg_initediblk</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>last<sp/>initialized<sp/>inode<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="496" refid="structcg_1a53b8d892549fdbe29cf4fd1192f5a528" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1aba29fd78d95cce0ecb249c24b58d07da" kindref="member">u_int32_t</ref><sp/><ref refid="structcg_1a53b8d892549fdbe29cf4fd1192f5a528" kindref="member">cg_unrefs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>number<sp/>of<sp/>unreferenced<sp/>inodes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="497" refid="structcg_1a7d115802a32162161a2fb5c0bf578429" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a6f6221103820f185abcc62b874665a93" kindref="member">int32_t</ref><sp/><sp/><ref refid="structcg_1a7d115802a32162161a2fb5c0bf578429" kindref="member">cg_sparecon32</ref>[2];<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>reserved<sp/>for<sp/>future<sp/>use<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="498" refid="structcg_1a40b8e4a904a59fc359f03c727c934846" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1aec5bc03f68bf810247d604821ad95bb7" kindref="member">ufs_time_t</ref><sp/><ref refid="structcg_1a40b8e4a904a59fc359f03c727c934846" kindref="member">cg_time</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>time<sp/>last<sp/>written<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="499" refid="structcg_1a6d53ca6360ffc18d638f244bd3a3a47d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><ref refid="structcg_1a6d53ca6360ffc18d638f244bd3a3a47d" kindref="member">cg_sparecon64</ref>[3];<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>reserved<sp/>for<sp/>future<sp/>use<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="500" refid="structcg_1ab07080046ac58389c390e6d3428036cd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1ac7c42f52639b9aca7da966a0783996d7" kindref="member">u_int8_t</ref><sp/><ref refid="structcg_1ab07080046ac58389c390e6d3428036cd" kindref="member">cg_space</ref>[1];<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>space<sp/>for<sp/>cylinder<sp/>group<sp/>maps<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="501"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>actually<sp/>longer<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="502"><highlight class="normal">};</highlight></codeline>
<codeline lineno="503"><highlight class="normal"></highlight></codeline>
<codeline lineno="504"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="505"><highlight class="comment"><sp/>*<sp/>Macros<sp/>for<sp/>access<sp/>to<sp/>cylinder<sp/>group<sp/>array<sp/>structures</highlight></codeline>
<codeline lineno="506"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="507" refid="ufs_2ffs_2fs_8h_1ad863abad97449c80021eb3e264e31cf6" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cg_chkmagic(cgp)<sp/>((cgp)-&gt;cg_magic<sp/>==<sp/>CG_MAGIC)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="508" refid="ufs_2ffs_2fs_8h_1a1deb24b931a6b8fe6f5d0e76b8c41097" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cg_inosused(cgp)<sp/>\</highlight></codeline>
<codeline lineno="509"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>((u_int8_t<sp/>*)((u_int8_t<sp/>*)(cgp)<sp/>+<sp/>(cgp)-&gt;cg_iusedoff))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="510" refid="ufs_2ffs_2fs_8h_1a00468f2d32403dba365e84ccb8f2dc5f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cg_blksfree(cgp)<sp/>\</highlight></codeline>
<codeline lineno="511"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>((u_int8_t<sp/>*)((u_int8_t<sp/>*)(cgp)<sp/>+<sp/>(cgp)-&gt;cg_freeoff))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="512" refid="ufs_2ffs_2fs_8h_1afdf6206c0f72fe914b885987a0dc76c0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cg_clustersfree(cgp)<sp/>\</highlight></codeline>
<codeline lineno="513"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>((u_int8_t<sp/>*)((u_int8_t<sp/>*)(cgp)<sp/>+<sp/>(cgp)-&gt;cg_clusteroff))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="514" refid="ufs_2ffs_2fs_8h_1a640bf0194e9406d9780d9eb83f66bc68" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cg_clustersum(cgp)<sp/>\</highlight></codeline>
<codeline lineno="515"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>((int32_t<sp/>*)((uintptr_t)(cgp)<sp/>+<sp/>(cgp)-&gt;cg_clustersumoff))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="516"><highlight class="normal"></highlight></codeline>
<codeline lineno="517"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="518"><highlight class="comment"><sp/>*<sp/>Turn<sp/>filesystem<sp/>block<sp/>numbers<sp/>into<sp/>disk<sp/>block<sp/>addresses.</highlight></codeline>
<codeline lineno="519"><highlight class="comment"><sp/>*<sp/>This<sp/>maps<sp/>filesystem<sp/>blocks<sp/>to<sp/>device<sp/>size<sp/>blocks.</highlight></codeline>
<codeline lineno="520"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="521" refid="ufs_2ffs_2fs_8h_1ae26526d0ac7505aae7345f0288c17fe6" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>fsbtodb(fs,<sp/>b)<sp/><sp/>((daddr_t)(b)<sp/>&lt;&lt;<sp/>(fs)-&gt;fs_fsbtodb)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="522" refid="ufs_2ffs_2fs_8h_1a7875100ca8ad379e53628cb7dec48ecd" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>dbtofsb(fs,<sp/>b)<sp/><sp/>((b)<sp/>&gt;&gt;<sp/>(fs)-&gt;fs_fsbtodb)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="523"><highlight class="normal"></highlight></codeline>
<codeline lineno="524"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="525"><highlight class="comment"><sp/>*<sp/>Cylinder<sp/>group<sp/>macros<sp/>to<sp/>locate<sp/>things<sp/>in<sp/>cylinder<sp/>groups.</highlight></codeline>
<codeline lineno="526"><highlight class="comment"><sp/>*<sp/>They<sp/>calc<sp/>filesystem<sp/>addresses<sp/>of<sp/>cylinder<sp/>group<sp/>data<sp/>structures.</highlight></codeline>
<codeline lineno="527"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="528" refid="ufs_2ffs_2fs_8h_1af7e946b674acc4ead5e3ae15317f52c0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgbase(fs,<sp/>c)<sp/><sp/><sp/>(((ufs2_daddr_t)(fs)-&gt;fs_fpg)<sp/>*<sp/>(c))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="529" refid="ufs_2ffs_2fs_8h_1a83691a5846b97b4083c907e6c49de4fc" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgdata(fs,<sp/>c)<sp/><sp/><sp/>(cgdmin(fs,<sp/>c)<sp/>+<sp/>(fs)-&gt;fs_metaspace)<sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>data<sp/>zone<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="530" refid="ufs_2ffs_2fs_8h_1a80e3d3175ea2099883a57d6acd3682e0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgmeta(fs,<sp/>c)<sp/><sp/><sp/>(cgdmin(fs,<sp/>c))<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>meta<sp/>data<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="531" refid="ufs_2ffs_2fs_8h_1a03cdc9c21f1412b107d85751f275c208" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgdmin(fs,<sp/>c)<sp/><sp/><sp/>(cgstart(fs,<sp/>c)<sp/>+<sp/>(fs)-&gt;fs_dblkno)<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>1st<sp/>data<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="532" refid="ufs_2ffs_2fs_8h_1af2bea0d775018173b6e6f5141f09bdd0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgimin(fs,<sp/>c)<sp/><sp/><sp/>(cgstart(fs,<sp/>c)<sp/>+<sp/>(fs)-&gt;fs_iblkno)<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>inode<sp/>blk<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="533" refid="ufs_2ffs_2fs_8h_1a6ccbaf50dd709f99482cafcbc427d834" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgsblock(fs,<sp/>c)<sp/>(cgstart(fs,<sp/>c)<sp/>+<sp/>(fs)-&gt;fs_sblkno)<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>super<sp/>blk<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="534" refid="ufs_2ffs_2fs_8h_1a5c527699eccebab4828fd122caea6cb7" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgtod(fs,<sp/>c)<sp/><sp/><sp/><sp/>(cgstart(fs,<sp/>c)<sp/>+<sp/>(fs)-&gt;fs_cblkno)<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>cg<sp/>block<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="535" refid="ufs_2ffs_2fs_8h_1a1446925c904a61056fb611a539de03ca" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>cgstart(fs,<sp/>c)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="536"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((fs)-&gt;fs_magic<sp/>==<sp/>FS_UFS2_MAGIC<sp/>?<sp/>cgbase(fs,<sp/>c)<sp/>:<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="537"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(cgbase(fs,<sp/>c)<sp/>+<sp/>(fs)-&gt;fs_old_cgoffset<sp/>*<sp/>((c)<sp/>&amp;<sp/>~((fs)-&gt;fs_old_cgmask))))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="538"><highlight class="normal"></highlight></codeline>
<codeline lineno="539"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="540"><highlight class="comment"><sp/>*<sp/>Macros<sp/>for<sp/>handling<sp/>inode<sp/>numbers:</highlight></codeline>
<codeline lineno="541"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>inode<sp/>number<sp/>to<sp/>filesystem<sp/>block<sp/>offset.</highlight></codeline>
<codeline lineno="542"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>inode<sp/>number<sp/>to<sp/>cylinder<sp/>group<sp/>number.</highlight></codeline>
<codeline lineno="543"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>inode<sp/>number<sp/>to<sp/>filesystem<sp/>block<sp/>address.</highlight></codeline>
<codeline lineno="544"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="545" refid="ufs_2ffs_2fs_8h_1a22af882911b5ccb5c744257642089932" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ino_to_cg(fs,<sp/>x)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((ino_t)(x))<sp/>/<sp/>(fs)-&gt;fs_ipg)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="546" refid="ufs_2ffs_2fs_8h_1aff52db23f4b31f920a657a75e0e5d58b" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ino_to_fsba(fs,<sp/>x)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="547"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((ufs2_daddr_t)(cgimin(fs,<sp/>ino_to_cg(fs,<sp/>(ino_t)(x)))<sp/>+<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>\</highlight></codeline>
<codeline lineno="548"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(blkstofrags((fs),<sp/>((((ino_t)(x))<sp/>%<sp/>(fs)-&gt;fs_ipg)<sp/>/<sp/>INOPB(fs))))))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="549" refid="ufs_2ffs_2fs_8h_1aa318a9ca261ab408a6df7949a593fb57" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ino_to_fsbo(fs,<sp/>x)<sp/><sp/><sp/><sp/><sp/><sp/>(((ino_t)(x))<sp/>%<sp/>INOPB(fs))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="550"><highlight class="normal"></highlight></codeline>
<codeline lineno="551"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="552"><highlight class="comment"><sp/>*<sp/>Give<sp/>cylinder<sp/>group<sp/>number<sp/>for<sp/>a<sp/>filesystem<sp/>block.</highlight></codeline>
<codeline lineno="553"><highlight class="comment"><sp/>*<sp/>Give<sp/>cylinder<sp/>group<sp/>block<sp/>number<sp/>for<sp/>a<sp/>filesystem<sp/>block.</highlight></codeline>
<codeline lineno="554"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="555" refid="ufs_2ffs_2fs_8h_1addb9672ece80e7c226115ecace858eec" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>dtog(fs,<sp/>d)<sp/><sp/><sp/><sp/><sp/>((d)<sp/>/<sp/>(fs)-&gt;fs_fpg)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="556" refid="ufs_2ffs_2fs_8h_1ad66c886093f91fbf139daaf137e0bd60" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>dtogd(fs,<sp/>d)<sp/><sp/><sp/><sp/>((d)<sp/>%<sp/>(fs)-&gt;fs_fpg)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="557"><highlight class="normal"></highlight></codeline>
<codeline lineno="558"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="559"><highlight class="comment"><sp/>*<sp/>Extract<sp/>the<sp/>bits<sp/>for<sp/>a<sp/>block<sp/>from<sp/>a<sp/>map.</highlight></codeline>
<codeline lineno="560"><highlight class="comment"><sp/>*<sp/>Compute<sp/>the<sp/>cylinder<sp/>and<sp/>rotational<sp/>position<sp/>of<sp/>a<sp/>cyl<sp/>block<sp/>addr.</highlight></codeline>
<codeline lineno="561"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="562" refid="ufs_2ffs_2fs_8h_1ac11647795eb085ee43328d0c5bda47ae" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>blkmap(fs,<sp/>map,<sp/>loc)<sp/>\</highlight></codeline>
<codeline lineno="563"><highlight class="preprocessor"><sp/><sp/><sp/><sp/>(((map)[(loc)<sp/>/<sp/>NBBY]<sp/>&gt;&gt;<sp/>((loc)<sp/>%<sp/>NBBY))<sp/>&amp;<sp/>(0xff<sp/>&gt;&gt;<sp/>(NBBY<sp/>-<sp/>(fs)-&gt;fs_frag)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="564"><highlight class="normal"></highlight></codeline>
<codeline lineno="565"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="566"><highlight class="comment"><sp/>*<sp/>The<sp/>following<sp/>macros<sp/>optimize<sp/>certain<sp/>frequently<sp/>calculated</highlight></codeline>
<codeline lineno="567"><highlight class="comment"><sp/>*<sp/>quantities<sp/>by<sp/>using<sp/>shifts<sp/>and<sp/>masks<sp/>in<sp/>place<sp/>of<sp/>divisions</highlight></codeline>
<codeline lineno="568"><highlight class="comment"><sp/>*<sp/>modulos<sp/>and<sp/>multiplications.</highlight></codeline>
<codeline lineno="569"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="570" refid="ufs_2ffs_2fs_8h_1acd9d1b3e1eed7fc3850f8a78636dd5a7" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>blkoff(fs,<sp/>loc)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(loc<sp/>%<sp/>fs-&gt;fs_bsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="571"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((loc)<sp/>&amp;<sp/>(fs)-&gt;fs_qbmask)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="572" refid="ufs_2ffs_2fs_8h_1af9974b7bff345fab3b3e629ac40d9b92" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>fragoff(fs,<sp/>loc)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(loc<sp/>%<sp/>fs-&gt;fs_fsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="573"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((loc)<sp/>&amp;<sp/>(fs)-&gt;fs_qfmask)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="574" refid="ufs_2ffs_2fs_8h_1a9f0783e610130a4e2414a8b5d970b6ea" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>lfragtosize(fs,<sp/>frag)<sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>((off_t)frag<sp/>*<sp/>fs-&gt;fs_fsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="575"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((off_t)(frag))<sp/>&lt;&lt;<sp/>(fs)-&gt;fs_fshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="576" refid="ufs_2ffs_2fs_8h_1a5b967dc8f042bb719c6e745e78824d7e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>lblktosize(fs,<sp/>blk)<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>((off_t)blk<sp/>*<sp/>fs-&gt;fs_bsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="577"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((off_t)(blk))<sp/>&lt;&lt;<sp/>(fs)-&gt;fs_bshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="578"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>Use<sp/>this<sp/>only<sp/>when<sp/>`blk&apos;<sp/>is<sp/>known<sp/>to<sp/>be<sp/>small,<sp/>e.g.,<sp/>&lt;<sp/>NDADDR.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="579" refid="ufs_2ffs_2fs_8h_1a1d55f50ebbb5fa90396f3576e071bc98" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>smalllblktosize(fs,<sp/>blk)<sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(blk<sp/>*<sp/>fs-&gt;fs_bsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="580"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((blk)<sp/>&lt;&lt;<sp/>(fs)-&gt;fs_bshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="581" refid="ufs_2ffs_2fs_8h_1a1ea09415cf1bc5de0d0d4a7158a5c736" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>lblkno(fs,<sp/>loc)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(loc<sp/>/<sp/>fs-&gt;fs_bsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="582"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((loc)<sp/>&gt;&gt;<sp/>(fs)-&gt;fs_bshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="583" refid="ufs_2ffs_2fs_8h_1acfa519646d8a011297a5859930944c99" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>numfrags(fs,<sp/>loc)<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(loc<sp/>/<sp/>fs-&gt;fs_fsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="584"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((loc)<sp/>&gt;&gt;<sp/>(fs)-&gt;fs_fshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="585" refid="ufs_2ffs_2fs_8h_1aa89a88333cc6b36b00f042417af7ab28" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>blkroundup(fs,<sp/>size)<sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>roundup(size,<sp/>fs-&gt;fs_bsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="586"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((size)<sp/>+<sp/>(fs)-&gt;fs_qbmask)<sp/>&amp;<sp/>(fs)-&gt;fs_bmask)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="587" refid="ufs_2ffs_2fs_8h_1a1494995062a8a6dbbe60f8dc6a3e995d" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>fragroundup(fs,<sp/>size)<sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>roundup(size,<sp/>fs-&gt;fs_fsize)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="588"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((size)<sp/>+<sp/>(fs)-&gt;fs_qfmask)<sp/>&amp;<sp/>(fs)-&gt;fs_fmask)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="589" refid="ufs_2ffs_2fs_8h_1af495910a3c363ed48f63e8ed71efc29f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>fragstoblks(fs,<sp/>frags)<sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(frags<sp/>/<sp/>fs-&gt;fs_frag)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="590"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((frags)<sp/>&gt;&gt;<sp/>(fs)-&gt;fs_fragshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="591" refid="ufs_2ffs_2fs_8h_1a95d2f2b9e139c995142d775a63ed5f03" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>blkstofrags(fs,<sp/>blks)<sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(blks<sp/>*<sp/>fs-&gt;fs_frag)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="592"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((blks)<sp/>&lt;&lt;<sp/>(fs)-&gt;fs_fragshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="593" refid="ufs_2ffs_2fs_8h_1af1fecccf20b0223160bae2bd1e0b4fac" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>fragnum(fs,<sp/>fsb)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>(fsb<sp/>%<sp/>fs-&gt;fs_frag)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="594"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((fsb)<sp/>&amp;<sp/>((fs)-&gt;fs_frag<sp/>-<sp/>1))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="595" refid="ufs_2ffs_2fs_8h_1a6eee27f474f8a078036aa7f53c397baf" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>blknum(fs,<sp/>fsb)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>calculates<sp/>rounddown(fsb,<sp/>fs-&gt;fs_frag)<sp/>*/</highlight><highlight class="preprocessor"><sp/>\</highlight></codeline>
<codeline lineno="596"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((fsb)<sp/>&amp;~<sp/>((fs)-&gt;fs_frag<sp/>-<sp/>1))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="597"><highlight class="normal"></highlight></codeline>
<codeline lineno="598"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="599"><highlight class="comment"><sp/>*<sp/>Determine<sp/>the<sp/>number<sp/>of<sp/>available<sp/>frags<sp/>given<sp/>a</highlight></codeline>
<codeline lineno="600"><highlight class="comment"><sp/>*<sp/>percentage<sp/>to<sp/>hold<sp/>in<sp/>reserve.</highlight></codeline>
<codeline lineno="601"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="602" refid="ufs_2ffs_2fs_8h_1a7f6459b64009021912845ee4ef17bcdd" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>freespace(fs,<sp/>percentreserved)<sp/>\</highlight></codeline>
<codeline lineno="603"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(blkstofrags((fs),<sp/>(fs)-&gt;fs_cstotal.cs_nbfree)<sp/>+<sp/>\</highlight></codeline>
<codeline lineno="604"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(fs)-&gt;fs_cstotal.cs_nffree<sp/>-<sp/>\</highlight></codeline>
<codeline lineno="605"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((off_t)((fs)-&gt;fs_dsize))<sp/>*<sp/>(percentreserved)<sp/>/<sp/>100))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="606"><highlight class="normal"></highlight></codeline>
<codeline lineno="607"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="608"><highlight class="comment"><sp/>*<sp/>Determining<sp/>the<sp/>size<sp/>of<sp/>a<sp/>file<sp/>block<sp/>in<sp/>the<sp/>filesystem.</highlight></codeline>
<codeline lineno="609"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="610" refid="ufs_2ffs_2fs_8h_1ac1f210a96207f2bb6fbcbc25d9d2d4e1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>blksize(fs,<sp/>ip,<sp/>lbn)<sp/>\</highlight></codeline>
<codeline lineno="611"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((lbn)<sp/>&gt;=<sp/>NDADDR<sp/>||<sp/>(ip)-&gt;i_size<sp/>&gt;=<sp/>smalllblktosize(fs,<sp/>(lbn)<sp/>+<sp/>1))<sp/>\</highlight></codeline>
<codeline lineno="612"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>?<sp/>(fs)-&gt;fs_bsize<sp/>\</highlight></codeline>
<codeline lineno="613"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>:<sp/>(fragroundup(fs,<sp/>blkoff(fs,<sp/>(ip)-&gt;i_size))))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="614" refid="ufs_2ffs_2fs_8h_1ad35c4c33dc54a0b8db742e0b3b5f64aa" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>sblksize(fs,<sp/>size,<sp/>lbn)<sp/>\</highlight></codeline>
<codeline lineno="615"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((lbn)<sp/>&gt;=<sp/>NDADDR<sp/>||<sp/>(size)<sp/>&gt;=<sp/>((lbn)<sp/>+<sp/>1)<sp/>&lt;&lt;<sp/>(fs)-&gt;fs_bshift)<sp/>\</highlight></codeline>
<codeline lineno="616"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>?<sp/>(fs)-&gt;fs_bsize<sp/>\</highlight></codeline>
<codeline lineno="617"><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>:<sp/>(fragroundup(fs,<sp/>blkoff(fs,<sp/>(size)))))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="618"><highlight class="normal"></highlight></codeline>
<codeline lineno="619"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="620"><highlight class="comment"><sp/>*<sp/>Number<sp/>of<sp/>indirects<sp/>in<sp/>a<sp/>filesystem<sp/>block.</highlight></codeline>
<codeline lineno="621"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="622" refid="ufs_2ffs_2fs_8h_1a6d58397786421684bb8db78f01e13ae6" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NINDIR(fs)<sp/><sp/><sp/><sp/><sp/><sp/>((fs)-&gt;fs_nindir)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="623"><highlight class="normal"></highlight></codeline>
<codeline lineno="624"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="625"><highlight class="comment"><sp/>*<sp/>Indirect<sp/>lbns<sp/>are<sp/>aligned<sp/>on<sp/>NDADDR<sp/>addresses<sp/>where<sp/>single<sp/>indirects</highlight></codeline>
<codeline lineno="626"><highlight class="comment"><sp/>*<sp/>are<sp/>the<sp/>negated<sp/>address<sp/>of<sp/>the<sp/>lowest<sp/>lbn<sp/>reachable,<sp/>double<sp/>indirects</highlight></codeline>
<codeline lineno="627"><highlight class="comment"><sp/>*<sp/>are<sp/>this<sp/>lbn<sp/>-<sp/>1<sp/>and<sp/>triple<sp/>indirects<sp/>are<sp/>this<sp/>lbn<sp/>-<sp/>2.<sp/><sp/>This<sp/>yields</highlight></codeline>
<codeline lineno="628"><highlight class="comment"><sp/>*<sp/>an<sp/>unusual<sp/>bit<sp/>order<sp/>to<sp/>determine<sp/>level.</highlight></codeline>
<codeline lineno="629"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="630"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="631"><highlight class="normal">lbn_level(<ref refid="ufs_8h_1acfdbacc42c74f81152f66f8f81316513" kindref="member">ufs_lbn_t</ref><sp/>lbn)</highlight></codeline>
<codeline lineno="632"><highlight class="normal">{</highlight></codeline>
<codeline lineno="633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lbn<sp/>&gt;=<sp/>0)</highlight></codeline>
<codeline lineno="634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="635"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(lbn<sp/>&amp;<sp/>0x3)<sp/>{</highlight></codeline>
<codeline lineno="636"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>0:</highlight></codeline>
<codeline lineno="637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(0);</highlight></codeline>
<codeline lineno="638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>1:</highlight></codeline>
<codeline lineno="639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>2:</highlight></codeline>
<codeline lineno="641"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(2);</highlight></codeline>
<codeline lineno="642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>3:</highlight></codeline>
<codeline lineno="643"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(1);</highlight></codeline>
<codeline lineno="644"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="645"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="646"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="647"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(-1);</highlight></codeline>
<codeline lineno="648"><highlight class="normal">}</highlight></codeline>
<codeline lineno="649"><highlight class="normal"></highlight></codeline>
<codeline lineno="650"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="ufs_8h_1acfdbacc42c74f81152f66f8f81316513" kindref="member">ufs_lbn_t</ref></highlight></codeline>
<codeline lineno="651"><highlight class="normal">lbn_offset(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structfs" kindref="compound">fs</ref><sp/>*<ref refid="structfs" kindref="compound">fs</ref>,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>level)</highlight></codeline>
<codeline lineno="652"><highlight class="normal">{</highlight></codeline>
<codeline lineno="653"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1acfdbacc42c74f81152f66f8f81316513" kindref="member">ufs_lbn_t</ref><sp/>res;</highlight></codeline>
<codeline lineno="654"><highlight class="normal"></highlight></codeline>
<codeline lineno="655"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(res<sp/>=<sp/>1;<sp/>level<sp/>&gt;<sp/>0;<sp/>level--)</highlight></codeline>
<codeline lineno="656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>res<sp/>*=<sp/><ref refid="ufs_2ffs_2fs_8h_1a6d58397786421684bb8db78f01e13ae6" kindref="member">NINDIR</ref>(<ref refid="structfs" kindref="compound">fs</ref>);</highlight></codeline>
<codeline lineno="657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(res);</highlight></codeline>
<codeline lineno="658"><highlight class="normal">}</highlight></codeline>
<codeline lineno="659"><highlight class="normal"></highlight></codeline>
<codeline lineno="660"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="661"><highlight class="comment"><sp/>*<sp/>Number<sp/>of<sp/>inodes<sp/>in<sp/>a<sp/>secondary<sp/>storage<sp/>block/fragment.</highlight></codeline>
<codeline lineno="662"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="663" refid="ufs_2ffs_2fs_8h_1a093aab4d88e8ac7dacc93d9cb6cc58ee" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>INOPB(fs)<sp/><sp/><sp/><sp/><sp/><sp/><sp/>((fs)-&gt;fs_inopb)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="664" refid="ufs_2ffs_2fs_8h_1a5939afd460c193768d22b459157fff03" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>INOPF(fs)<sp/><sp/><sp/><sp/><sp/><sp/><sp/>((fs)-&gt;fs_inopb<sp/>&gt;&gt;<sp/>(fs)-&gt;fs_fragshift)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="665"><highlight class="normal"></highlight></codeline>
<codeline lineno="666"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="667"><highlight class="comment"><sp/>*<sp/>Softdep<sp/>journal<sp/>record<sp/>format.</highlight></codeline>
<codeline lineno="668"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="669"><highlight class="normal"></highlight></codeline>
<codeline lineno="670" refid="ufs_2ffs_2fs_8h_1a134d634023dc6c806ebd0ac3302387c6" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_ADDREF<sp/><sp/><sp/><sp/><sp/><sp/>1<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Add<sp/>a<sp/>reference<sp/>to<sp/>an<sp/>inode.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="671" refid="ufs_2ffs_2fs_8h_1a690b2696b6fb9002fc9b8eba3020d652" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_REMREF<sp/><sp/><sp/><sp/><sp/><sp/>2<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Remove<sp/>a<sp/>reference<sp/>from<sp/>an<sp/>inode.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="672" refid="ufs_2ffs_2fs_8h_1a7c7eb2831fd7d0973e30650b4727675b" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_NEWBLK<sp/><sp/><sp/><sp/><sp/><sp/>3<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Allocate<sp/>a<sp/>block.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="673" refid="ufs_2ffs_2fs_8h_1a9d5817e0238c71f6e4adf39f9e9271d7" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_FREEBLK<sp/><sp/><sp/><sp/><sp/>4<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Free<sp/>a<sp/>block<sp/>or<sp/>a<sp/>tree<sp/>of<sp/>blocks.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="674" refid="ufs_2ffs_2fs_8h_1ac75aa27fa6823a9333348a5f2b9264aa" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_MVREF<sp/><sp/><sp/><sp/><sp/><sp/><sp/>5<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Move<sp/>a<sp/>reference<sp/>from<sp/>one<sp/>off<sp/>to<sp/>another.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="675" refid="ufs_2ffs_2fs_8h_1a99f5802b336acd498d6887f60942e94d" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_TRUNC<sp/><sp/><sp/><sp/><sp/><sp/><sp/>6<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Partial<sp/>truncation<sp/>record.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="676" refid="ufs_2ffs_2fs_8h_1a4e0d73f00c3077e2f469d7bae5f033e7" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JOP_SYNC<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>7<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>fsync()<sp/>complete<sp/>record.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="677"><highlight class="normal"></highlight></codeline>
<codeline lineno="678" refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>JREC_SIZE<sp/><sp/><sp/><sp/><sp/><sp/><sp/>32<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Record<sp/>and<sp/>segment<sp/>header<sp/>size.<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="679"><highlight class="normal"></highlight></codeline>
<codeline lineno="680" refid="ufs_2ffs_2fs_8h_1a57fecb337d45cced110e07e4453667ba" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SUJ_MIN<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(4<sp/>*<sp/>1024<sp/>*<sp/>1024)<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Minimum<sp/>journal<sp/>size<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="681" refid="ufs_2ffs_2fs_8h_1a91e540c7a8059e7ed242e6b393185134" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SUJ_MAX<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(32<sp/>*<sp/>1024<sp/>*<sp/>1024)<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Maximum<sp/>journal<sp/>size<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="682" refid="ufs_2ffs_2fs_8h_1a37c8e3e7ddf943e18f40826f0d4bf6b5" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SUJ_FILE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&quot;.sujournal&quot;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Journal<sp/>file<sp/>name<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="683"><highlight class="normal"></highlight></codeline>
<codeline lineno="684"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="685"><highlight class="comment"><sp/>*<sp/>Size<sp/>of<sp/>the<sp/>segment<sp/>record<sp/>header.<sp/><sp/>There<sp/>is<sp/>at<sp/>most<sp/>one<sp/>for<sp/>each<sp/>disk</highlight></codeline>
<codeline lineno="686"><highlight class="comment"><sp/>*<sp/>block<sp/>in<sp/>the<sp/>journal.<sp/><sp/>The<sp/>segment<sp/>header<sp/>is<sp/>followed<sp/>by<sp/>an<sp/>array<sp/>of</highlight></codeline>
<codeline lineno="687"><highlight class="comment"><sp/>*<sp/>records.<sp/><sp/>fsck<sp/>depends<sp/>on<sp/>the<sp/>first<sp/>element<sp/>in<sp/>each<sp/>record<sp/>being<sp/>&apos;op&apos;</highlight></codeline>
<codeline lineno="688"><highlight class="comment"><sp/>*<sp/>and<sp/>the<sp/>second<sp/>being<sp/>&apos;ino&apos;.<sp/><sp/>Segments<sp/>may<sp/>span<sp/>multiple<sp/>disk<sp/>blocks<sp/>but</highlight></codeline>
<codeline lineno="689"><highlight class="comment"><sp/>*<sp/>the<sp/>header<sp/>is<sp/>present<sp/>on<sp/>each.</highlight></codeline>
<codeline lineno="690"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="691" refid="structjsegrec" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjsegrec" kindref="compound">jsegrec</ref><sp/>{</highlight></codeline>
<codeline lineno="692" refid="structjsegrec_1a198b9e44f9efb4b83a5fa65db4ff53d3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a747748dd98cf1e2e89eb8b1fa37113df" kindref="member">uint64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjsegrec_1a198b9e44f9efb4b83a5fa65db4ff53d3" kindref="member">jsr_seq</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Our<sp/>sequence<sp/>number<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="693" refid="structjsegrec_1a93710448b9cb973d2e09ca82c204c082" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a747748dd98cf1e2e89eb8b1fa37113df" kindref="member">uint64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjsegrec_1a93710448b9cb973d2e09ca82c204c082" kindref="member">jsr_oldest</ref>;<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Oldest<sp/>valid<sp/>sequence<sp/>number<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="694" refid="structjsegrec_1a3f09bcd6ccfd591b362a781c15e58c19" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjsegrec_1a3f09bcd6ccfd591b362a781c15e58c19" kindref="member">jsr_cnt</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Count<sp/>of<sp/>valid<sp/>records<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="695" refid="structjsegrec_1a96eca30447796db9cf1e61e3edfa736b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjsegrec_1a96eca30447796db9cf1e61e3edfa736b" kindref="member">jsr_blocks</ref>;<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Count<sp/>of<sp/>device<sp/>bsize<sp/>blocks.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="696" refid="structjsegrec_1a0409c1b36d194690929c1b81d2d98d8b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjsegrec_1a0409c1b36d194690929c1b81d2d98d8b" kindref="member">jsr_crc</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>32bit<sp/>crc<sp/>of<sp/>the<sp/>valid<sp/>space<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="697" refid="structjsegrec_1a23ce2acd0dc9d357a5d5c45072ac57a5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1aec5bc03f68bf810247d604821ad95bb7" kindref="member">ufs_time_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjsegrec_1a23ce2acd0dc9d357a5d5c45072ac57a5" kindref="member">jsr_time</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>timestamp<sp/>for<sp/>mount<sp/>instance<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="698"><highlight class="normal">};</highlight></codeline>
<codeline lineno="699"><highlight class="normal"></highlight></codeline>
<codeline lineno="700"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="701"><highlight class="comment"><sp/>*<sp/>Reference<sp/>record.<sp/><sp/>Records<sp/>a<sp/>single<sp/>link<sp/>count<sp/>modification.</highlight></codeline>
<codeline lineno="702"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="703" refid="structjrefrec" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjrefrec" kindref="compound">jrefrec</ref><sp/>{</highlight></codeline>
<codeline lineno="704" refid="structjrefrec_1ad9c1d6d19e0529443ffcd9520df382c8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1ad9c1d6d19e0529443ffcd9520df382c8" kindref="member">jr_op</ref>;</highlight></codeline>
<codeline lineno="705" refid="structjrefrec_1afbe139367c273c54c5b790c395385061" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1afbe139367c273c54c5b790c395385061" kindref="member">jr_ino</ref>;</highlight></codeline>
<codeline lineno="706" refid="structjrefrec_1afca2073ad3ca483ae3b7bd4558d01c68" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1afca2073ad3ca483ae3b7bd4558d01c68" kindref="member">jr_parent</ref>;</highlight></codeline>
<codeline lineno="707" refid="structjrefrec_1a69d1f31dca46cdf7944aa3be87fb5a82" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1a69d1f31dca46cdf7944aa3be87fb5a82" kindref="member">jr_nlink</ref>;</highlight></codeline>
<codeline lineno="708" refid="structjrefrec_1a1242006807e29a0c31872311698f115a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1a1242006807e29a0c31872311698f115a" kindref="member">jr_mode</ref>;</highlight></codeline>
<codeline lineno="709" refid="structjrefrec_1a2c060bb7bc920e9f63e1b5ec1bd41406" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1a2c060bb7bc920e9f63e1b5ec1bd41406" kindref="member">jr_diroff</ref>;</highlight></codeline>
<codeline lineno="710" refid="structjrefrec_1a6b0d2a77c1f4207db50cf88c13a50b3e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a747748dd98cf1e2e89eb8b1fa37113df" kindref="member">uint64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjrefrec_1a6b0d2a77c1f4207db50cf88c13a50b3e" kindref="member">jr_unused</ref>;</highlight></codeline>
<codeline lineno="711"><highlight class="normal">};</highlight></codeline>
<codeline lineno="712"><highlight class="normal"></highlight></codeline>
<codeline lineno="713"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="714"><highlight class="comment"><sp/>*<sp/>Move<sp/>record.<sp/><sp/>Records<sp/>a<sp/>reference<sp/>moving<sp/>within<sp/>a<sp/>directory<sp/>block.<sp/><sp/>The</highlight></codeline>
<codeline lineno="715"><highlight class="comment"><sp/>*<sp/>nlink<sp/>is<sp/>unchanged<sp/>but<sp/>we<sp/>must<sp/>search<sp/>both<sp/>locations.</highlight></codeline>
<codeline lineno="716"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="717" refid="structjmvrec" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjmvrec" kindref="compound">jmvrec</ref><sp/>{</highlight></codeline>
<codeline lineno="718" refid="structjmvrec_1a363ae8708e7609f9e0f194237582d09f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjmvrec_1a363ae8708e7609f9e0f194237582d09f" kindref="member">jm_op</ref>;</highlight></codeline>
<codeline lineno="719" refid="structjmvrec_1a35f86d3845ed80222885d4ed6918e205" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjmvrec_1a35f86d3845ed80222885d4ed6918e205" kindref="member">jm_ino</ref>;</highlight></codeline>
<codeline lineno="720" refid="structjmvrec_1ae422e0440c4fdb322972e30c4b57ac83" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjmvrec_1ae422e0440c4fdb322972e30c4b57ac83" kindref="member">jm_parent</ref>;</highlight></codeline>
<codeline lineno="721" refid="structjmvrec_1a778a515848c751d9177b0811a801461d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjmvrec_1a778a515848c751d9177b0811a801461d" kindref="member">jm_unused</ref>;</highlight></codeline>
<codeline lineno="722" refid="structjmvrec_1a12037114ac756c27ec7e161974e2be16" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjmvrec_1a12037114ac756c27ec7e161974e2be16" kindref="member">jm_oldoff</ref>;</highlight></codeline>
<codeline lineno="723" refid="structjmvrec_1a5ca871291a05ade9c0faf6381dd0ab09" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjmvrec_1a5ca871291a05ade9c0faf6381dd0ab09" kindref="member">jm_newoff</ref>;</highlight></codeline>
<codeline lineno="724"><highlight class="normal">};</highlight></codeline>
<codeline lineno="725"><highlight class="normal"></highlight></codeline>
<codeline lineno="726"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="727"><highlight class="comment"><sp/>*<sp/>Block<sp/>record.<sp/><sp/>A<sp/>set<sp/>of<sp/>frags<sp/>or<sp/>tree<sp/>of<sp/>blocks<sp/>starting<sp/>at<sp/>an<sp/>indirect<sp/>are</highlight></codeline>
<codeline lineno="728"><highlight class="comment"><sp/>*<sp/>freed<sp/>or<sp/>a<sp/>set<sp/>of<sp/>frags<sp/>are<sp/>allocated.</highlight></codeline>
<codeline lineno="729"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="730" refid="structjblkrec" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjblkrec" kindref="compound">jblkrec</ref><sp/>{</highlight></codeline>
<codeline lineno="731" refid="structjblkrec_1a41e3aed5863269fe86822b2eccd22906" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1a41e3aed5863269fe86822b2eccd22906" kindref="member">jb_op</ref>;</highlight></codeline>
<codeline lineno="732" refid="structjblkrec_1a2ac2f02b6a0100caf563f1b25fe7a4c2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1a2ac2f02b6a0100caf563f1b25fe7a4c2" kindref="member">jb_ino</ref>;</highlight></codeline>
<codeline lineno="733" refid="structjblkrec_1a453d7ed85a430c2c3f649b46451b21ae" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1ad1d47f60518d845f7e798fa0f3458753" kindref="member">ufs2_daddr_t</ref><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1a453d7ed85a430c2c3f649b46451b21ae" kindref="member">jb_blkno</ref>;</highlight></codeline>
<codeline lineno="734" refid="structjblkrec_1a53a989bf94c9673bf8cc7d633235c55b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="ufs_8h_1acfdbacc42c74f81152f66f8f81316513" kindref="member">ufs_lbn_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1a53a989bf94c9673bf8cc7d633235c55b" kindref="member">jb_lbn</ref>;</highlight></codeline>
<codeline lineno="735" refid="structjblkrec_1aac97a200e4ef35a5397c12442e04696c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1aac97a200e4ef35a5397c12442e04696c" kindref="member">jb_frags</ref>;</highlight></codeline>
<codeline lineno="736" refid="structjblkrec_1a3b7d6f9767994ef1e9c100121e0f581e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a281b4b5562236420969a830503b0ba19" kindref="member">uint16_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1a3b7d6f9767994ef1e9c100121e0f581e" kindref="member">jb_oldfrags</ref>;</highlight></codeline>
<codeline lineno="737" refid="structjblkrec_1a1b033d8a5dd4b5d9551b0ca8b584fde7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjblkrec_1a1b033d8a5dd4b5d9551b0ca8b584fde7" kindref="member">jb_unused</ref>;</highlight></codeline>
<codeline lineno="738"><highlight class="normal">};</highlight></codeline>
<codeline lineno="739"><highlight class="normal"></highlight></codeline>
<codeline lineno="740"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="741"><highlight class="comment"><sp/>*<sp/>Truncation<sp/>record.<sp/><sp/>Records<sp/>a<sp/>partial<sp/>truncation<sp/>so<sp/>that<sp/>it<sp/>may<sp/>be</highlight></codeline>
<codeline lineno="742"><highlight class="comment"><sp/>*<sp/>completed<sp/>at<sp/>check<sp/>time.<sp/><sp/>Also<sp/>used<sp/>for<sp/>sync<sp/>records.</highlight></codeline>
<codeline lineno="743"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="744" refid="structjtrncrec" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjtrncrec" kindref="compound">jtrncrec</ref><sp/>{</highlight></codeline>
<codeline lineno="745" refid="structjtrncrec_1a0214a2b7a68b722eb13ab337e046288e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjtrncrec_1a0214a2b7a68b722eb13ab337e046288e" kindref="member">jt_op</ref>;</highlight></codeline>
<codeline lineno="746" refid="structjtrncrec_1a7af65ef59a97f8cb9dc18c8dc8b5cfe6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjtrncrec_1a7af65ef59a97f8cb9dc18c8dc8b5cfe6" kindref="member">jt_ino</ref>;</highlight></codeline>
<codeline lineno="747" refid="structjtrncrec_1af4fab278a8b152a877634a828007e39b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a96411d49619f50e635418ee57651b95d" kindref="member">int64_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjtrncrec_1af4fab278a8b152a877634a828007e39b" kindref="member">jt_size</ref>;</highlight></codeline>
<codeline lineno="748" refid="structjtrncrec_1a3b83cbbec259498771f542221cb3805a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjtrncrec_1a3b83cbbec259498771f542221cb3805a" kindref="member">jt_extsize</ref>;</highlight></codeline>
<codeline lineno="749" refid="structjtrncrec_1acb303ba5718d17cb15bfcbe2c4eb0ea9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structjtrncrec_1acb303ba5718d17cb15bfcbe2c4eb0ea9" kindref="member">jt_pad</ref>[3];</highlight></codeline>
<codeline lineno="750"><highlight class="normal">};</highlight></codeline>
<codeline lineno="751"><highlight class="normal"></highlight></codeline>
<codeline lineno="752" refid="unionjrec" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">union<sp/></highlight><highlight class="normal"><ref refid="unionjrec" kindref="compound">jrec</ref><sp/>{</highlight></codeline>
<codeline lineno="753" refid="unionjrec_1a40d605d9d09cc571a962597339bc0f95" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjsegrec" kindref="compound">jsegrec</ref><sp/><sp/><ref refid="unionjrec_1a40d605d9d09cc571a962597339bc0f95" kindref="member">rec_jsegrec</ref>;</highlight></codeline>
<codeline lineno="754" refid="unionjrec_1a1d52e1b5425be5182c03d46f97a0c2e1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjrefrec" kindref="compound">jrefrec</ref><sp/><sp/><ref refid="unionjrec_1a1d52e1b5425be5182c03d46f97a0c2e1" kindref="member">rec_jrefrec</ref>;</highlight></codeline>
<codeline lineno="755" refid="unionjrec_1a271af649dc0e887bba8d54e75d4bb2e4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjmvrec" kindref="compound">jmvrec</ref><sp/><sp/><sp/><ref refid="unionjrec_1a271af649dc0e887bba8d54e75d4bb2e4" kindref="member">rec_jmvrec</ref>;</highlight></codeline>
<codeline lineno="756" refid="unionjrec_1a39310a4de1f1230cd25ed6d748b9e1ec" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjblkrec" kindref="compound">jblkrec</ref><sp/><sp/><ref refid="unionjrec_1a39310a4de1f1230cd25ed6d748b9e1ec" kindref="member">rec_jblkrec</ref>;</highlight></codeline>
<codeline lineno="757" refid="unionjrec_1a6a20b64e3b9ae832c62c7778ac984d47" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structjtrncrec" kindref="compound">jtrncrec</ref><sp/><ref refid="unionjrec_1a6a20b64e3b9ae832c62c7778ac984d47" kindref="member">rec_jtrncrec</ref>;</highlight></codeline>
<codeline lineno="758"><highlight class="normal">};</highlight></codeline>
<codeline lineno="759"><highlight class="normal"></highlight></codeline>
<codeline lineno="760"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>CTASSERT</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="761"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structjsegrec" kindref="compound">jsegrec</ref>)<sp/>==<sp/><ref refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" kindref="member">JREC_SIZE</ref>);</highlight></codeline>
<codeline lineno="762"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structjrefrec" kindref="compound">jrefrec</ref>)<sp/>==<sp/><ref refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" kindref="member">JREC_SIZE</ref>);</highlight></codeline>
<codeline lineno="763"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structjmvrec" kindref="compound">jmvrec</ref>)<sp/>==<sp/><ref refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" kindref="member">JREC_SIZE</ref>);</highlight></codeline>
<codeline lineno="764"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structjblkrec" kindref="compound">jblkrec</ref>)<sp/>==<sp/><ref refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" kindref="member">JREC_SIZE</ref>);</highlight></codeline>
<codeline lineno="765"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structjtrncrec" kindref="compound">jtrncrec</ref>)<sp/>==<sp/><ref refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" kindref="member">JREC_SIZE</ref>);</highlight></codeline>
<codeline lineno="766"><highlight class="normal">CTASSERT(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">union</highlight><highlight class="normal"><sp/><ref refid="unionjrec" kindref="compound">jrec</ref>)<sp/>==<sp/><ref refid="ufs_2ffs_2fs_8h_1a4905331616d422822b20d4a8feebb8ac" kindref="member">JREC_SIZE</ref>);</highlight></codeline>
<codeline lineno="767"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="768"><highlight class="normal"></highlight></codeline>
<codeline lineno="769"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="ufs_2ffs_2fs_8h_1a9de91045e6b0e9956ab6648124ac3dcc" kindref="member">inside</ref>[],<sp/><ref refid="ufs_2ffs_2fs_8h_1a34ec76b74d405e5b8d84f03da131e31b" kindref="member">around</ref>[];</highlight></codeline>
<codeline lineno="770"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/><ref refid="include_2sys_2types_8h_1ae2b02ed168fc99cff3851603910b1fb6" kindref="member">u_char</ref><sp/>*<ref refid="ufs_2ffs_2fs_8h_1a2b6976f7b2ef1386046f64697328599c" kindref="member">fragtbl</ref>[];</highlight></codeline>
<codeline lineno="771"><highlight class="normal"></highlight></codeline>
<codeline lineno="772"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="773"><highlight class="comment"><sp/>*<sp/>IOCTLs<sp/>used<sp/>for<sp/>filesystem<sp/>write<sp/>suspension.</highlight></codeline>
<codeline lineno="774"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="775" refid="ufs_2ffs_2fs_8h_1a52c0d0571a2cba9f05c05e33cc141936" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>UFSSUSPEND<sp/><sp/><sp/><sp/><sp/><sp/>_IOW(&apos;U&apos;,<sp/>1,<sp/>fsid_t)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="776" refid="ufs_2ffs_2fs_8h_1ae33287b99e13a8ad88976a730658c7fe" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>UFSRESUME<sp/><sp/><sp/><sp/><sp/><sp/><sp/>_IO(&apos;U&apos;,<sp/>2)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="777"><highlight class="normal"></highlight></codeline>
<codeline lineno="778"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="C:/Dev/git/UbixOS/sys/include/ufs/ffs/fs.h"/>
  </compounddef>
</doxygen>