From owner-man-jp-reviewer@jp.freebsd.org  Fri May 22 12:46:06 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) id MAA25219;
	Fri, 22 May 1998 12:46:06 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from april.on.rim.or.jp (root@april.on.rim.or.jp [202.247.131.85])
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) with ESMTP id MAA25213
	for <man-jp-reviewer@jp.freebsd.org>; Fri, 22 May 1998 12:46:04 +0900 (JST)
	(envelope-from ryo2@pallo.on.rim.or.jp)
Received: from pallo.on.rim.or.jp (ppp086.on.rim.or.jp [202.247.138.214]) by april.on.rim.or.jp (8.8.5/3.4Wbeta6-rim1.1) with ESMTP id MAA06503; Fri, 22 May 1998 12:46:01 +0900 (JST)
Message-Id: <199805220346.MAA06503@april.on.rim.or.jp>
Received: from localhost by pallo.on.rim.or.jp (8.8.5/3.5Wpl5-97062619)
	id MAA08270; Fri, 22 May 1998 12:40:14 +0900 (JST)
To: man-jp-reviewer@jp.freebsd.org
From: Yoshishige Arai <ryo2@on.rim.or.jp>
X-Mailer: Mew version 1.70 on Emacs 19.28.1 / Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Fri, 22 May 1998 12:40:13 +0900
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: man-jp-reviewer 151
Subject: [man-jp-reviewer 151] fs.5
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org

$B$"$i$$!w%j%`%M%C%H$G$9!#(Bfs.5 $B$$$-$^$9!#(B

summary area/summary information $B$KNI$$Lu8l$O$J$$$G$7$g$&$+!#(B
$BMWLs!"35MW$b2?$+9g$o$J$$5$$,$7$F!"!VAm3g!W$K$7$F$*$-$^$7$?$,(B..

allocate/allocation $B$OLu8l$,E}0l$7$K$/$/$F$A$g$C$HG:$_!"(B
$B!VG[CV(B/$B3NJ](B/$B3d$jEv$F!W$,:.:_$H$J$j$^$7$?!#B>$NLu$r8+$F$_$k$H!"(B

gcc.1, pccardd.8 $B$G$O!V3dEv(B/$B3dEv$F(B/$B3d$jEv$F!W:.:_!#(B
grops.1, mcon.1, window.1, edquota.8, fsck.8, mfs.8, pw.8, restore.8,
rlogind.8, rrestore.8, telnetd.8, xntpdc.8 $B$G$O!V3d$jEv$F!W!"(B
ld.1, mkdosfs.1, perl.1 $B$G$O!V%"%m%1!<%H!W!"(B
systat.1, routed.8, vmstat.8 $B$G$O!V3NJ](B($B$9$k(B)$B!W!"(B
disklabel.8 $B$G$O(B allocated $B$K!VMQ0U$5$l$?!W!"(B
diskpart.8 $B$G$O!VG[CV!W!"(B
mfs.8  $B$G$O!V3d$jEv$F(B/$B3NJ]!W$,:.:_!"(B
mrouted.8 $B$G$O!V$o$j$"$F!W!"(B
xntpd.8 $B$G$O!V3dEv$F!W!"(B
swapon.8 $B$G$O(B swap allocation $B$K!V%9%o%C%W6u4V!W!"(B
ftpd.8 $B$G$OLu$5$l$F$$$J$$(B($B$3$l!"$A$g$C$H%^%:%$(B)

$B$N$h$&$K$J$C$F$$$^$7$?!#$;$a$FAw$j2>L>$OE}0l$7$?$$$G$9$M!#(B

long    fs_trackskew;   /* sector 0 skew, per track */

$B$N$H$3$m$N(B skew $B$,$o$+$j$^$;$s!#$H$j$"$($:!V%;%/%?(B 0 $B$f$,$_!W$H$7$^$7(B
$B$?$,!"$b$C$H$$$$8@MU$O$J$$$G$7$g$&$+(B?

.\" Copyright (c) 1983, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)fs.5	8.2 (Berkeley) 4/19/94
.\" jpman %Id: fs.5,v 0.0 1998/04/24 15:56:32 horikawa Stab %
.\"	$Id: fs.5,v 1.3.2.2 1997/03/07 04:18:04 mpp Exp $
.\"
.Dd April 19, 1994
.Dt FS 5
.Os BSD 4.2
.Sh $BL>>N(B
.Nm fs ,
.Nm inode
.Nd $B%U%!%$%k%7%9%F%`%\%j%e!<%`$N%U%)!<%^%C%H(B
.Sh $B=q<0(B
.Fd #include <sys/types.h>
.Fd #include <ufs/ffs/fs.h>
.Fd #include <ufs/ufs/inode.h>
.Sh $B2r@b(B
$B%U%!%$%k(B
.Aq Pa fs.h
$B$H(B
.Aq Pa inode.h
$B$O!"%i%s%@%`%"%/%;%9%G%P%$%9(B($B%G%#%9%/(B)$B>e$N%U%!%$%k%7%9%F%`%*%V%8%'%/%H(B
$B$N4pK\%U%)!<%^%C%H$r:n@.!"4IM}$9$k:]$K;H$o$l$k$$$/$D$+$N9=B$BN!"(B
$BDj5A:Q$_JQ?t!"%^%/%m$r@k8@$7$^$9!#(B
.Pp
$B%U%!%$%k%7%9%F%`$r@.$9%V%m%C%/%5%$%:$H%V%m%C%/?t$O!"%U%!%$%k%7%9%F%`$N(B
$B%Q%i%a!<%?$K$J$j$^$9!#(B
.Dv BBLOCK
$B$G;O$^$k%;%/%?$H!"B3$/(B
.Dv BBSIZE
$B$O%G%#%9%/%i%Y%k$H$$$/$D$+$N0l<!!"Fs<!%V!<%H%9%H%i%C%W%W%m%0%i%`(B
$B$N$?$a$K;H$o$l$^$9!#(B
.Pp
$B<B:]$N%U%!%$%k%7%9%F%`$O!"(B
.Dv SBLOCK
$B%;%/%?$+$i;O$^$j!"$=$3$K$O(B
$B%5%$%:$,(B
.Dv SBSIZE
$B$G$"$k(B
.Em super-block
$B$,$"$j$^$9!#(B
$B0J2<$N9=B$BN$O%U%!%$%k(B
.Aq Pa ufs/ffs/fs.h
$B$K=q$+$l$F$*$j!"%9!<%Q%V%m%C%/$r5-=R$7$F$$$^$9(B:
.Bd -literal
/*
 * $B%U%!%$%k%7%9%F%`$N%9!<%Q%V%m%C%/(B
 */
struct fs {
	struct	fs *fs_link;	/* $BFbIt%9!<%Q%V%m%C%/MQ$K;H$o$l$k%U%!%$%k%7%9%F%`$N(B */
	struct	fs *fs_rlink;	/*   $B%j%s%/:Q$_%j%9%H(B */
	daddr_t	fs_sblkno;	/* $B%U%!%$%k%7%9%F%`Fb$N%9!<%Q%V%m%C%/$N%"%I%l%9(B */
	daddr_t	fs_cblkno;	/* $B%U%!%$%k%7%9%F%`Fb$N%7%j%s%@%V%m%C%/$N%*%U%;%C%H(B */
	daddr_t	fs_iblkno;	/* $B%U%!%$%k%7%9%F%`Fb$N(B inode $B%V%m%C%/$N%*%U%;%C%H(B */
	daddr_t	fs_dblkno;	/* cg $B8e$N:G=i$N%G!<%?$N%*%U%;%C%H(B */
	long	fs_cgoffset;	/* $B%7%j%s%@Fb$N%7%j%s%@%0%k!<%W%*%U%;%C%H(B */
	long	fs_cgmask;	/* mod fs_ntrak $B$N7W;;$K;H$o$l$k(B */
	time_t 	fs_time;    	/* $B:G8e$K=q$-9~$^$l$?;~9o(B */
	long	fs_size;	/* fs $BFb$N%V%m%C%/?t(B */
	long	fs_dsize;	/* fs $BFb$N%G!<%?%V%m%C%/?t(B */
	long	fs_ncg;	/* $B%7%j%s%@%0%k!<%W$N?t(B */
	long	fs_bsize;	/* fs $BFb$N4pK\%V%m%C%/%5%$%:(B */
	long	fs_fsize;	/* fs $BFb$N%U%i%0%a%s%H%V%m%C%/%5%$%:(B */
	long	fs_frag;	/* fs $B$N(B 1 $B%V%m%C%/Cf$N%U%i%0%a%s%H?t(B */
/* $B0J2<$O%3%s%U%#%0%l!<%7%g%s%Q%i%a!<%?(B */
	long	fs_minfree;	/* $B%U%j!<%V%m%C%/$N:G>.%Q!<%;%s%F!<%8(B */
	long	fs_rotdelay;	/* $B:GE,$J<!%V%m%C%/$N$?$a$N(B ms $B?t(B */
	long	fs_rps;	/* $B0lIC$"$?$j$N%G%#%9%/2sE>(B */
/* $B$3$l$i$N%U%#!<%k%I$OB>$N%U%#!<%k%I$+$i7W;;$G$-$k(B */
	long	fs_bmask;	/* ``blkoff'' $B%V%m%C%/%*%U%;%C%H$N7W;;(B */
	long	fs_fmask;	/* ``fragoff'' $B%U%i%0%a%s%H%*%U%;%C%H$N7W;;(B */
	long	fs_bshift;	/* ``lblkno'' $BO@M}%V%m%C%/HV9f$N7W;;(B */
	long	fs_fshift;	/* ``numfrags'' $B%U%i%0%a%s%H?t$N7W;;(B */
/* $B0J2<$O%3%s%U%#%0%l!<%7%g%s%Q%i%a!<%?(B */
	long	fs_maxcontig;	/* $BO"B3$7$?%V%m%C%/$N:GBg?t(B */
	long	fs_maxbpg;	/* $B%7%j%s%@%0%k!<%W$"$?$j$N:GBg%V%m%C%/?t(B */
/* $B$3$l$i$N%U%#!<%k%I$OB>$N%U%#!<%k%I$+$i7W;;$G$-$k(B */
	long	fs_fragshift;	/* $B%U%i%0%a%s%H%7%U%H$9$k%V%m%C%/(B */
	long	fs_fsbtodb;	/* fsbtodb $B$H(B dbtofsb $B%7%U%HDj?t(B */
	long	fs_sbsize;	/* $B%9!<%Q%V%m%C%/$N<B:]$NBg$-$5(B */
	long	fs_csmask;	/* csum $B%V%m%C%/%*%U%;%C%H(B */
	long	fs_csshift;	/* csum $B%V%m%C%/?t(B */
	long	fs_nindir;	/* NINDIR $B$NCM(B */
	long	fs_inopb;	/* INOPB $B$NCM(B */
	long	fs_nspf;	/* NSPF $B$NCM(B */
/* $BJL$N%3%s%U%#%0%l!<%7%g%s%Q%i%a!<%?(B */
	long	fs_optim;	/* $B:GE,2=M%@h!"0J2<$r;2>H(B */
/* $B$3$l$i$N%U%#!<%k%I$O%O!<%I%&%'%"$+$i0z$-=P$5$l$k(B */
	long	fs_npsect;	/* $BM=Hw$r4^$`%H%i%C%/$"$?$j$N%;%/%??t(B */
	long	fs_interleave;	/* $B%O!<%I%&%'%"%;%/%?%$%s%?!<%j!<%V(B */
	long	fs_trackskew;	/* $B%H%i%C%/$"$?$j$N%;%/%?(B 0 $B$f$,$_(B */
	long	fs_headswitch;	/* $B%X%C%I%9%$%C%A;~4V(B usec */
	long	fs_trkseek;	/* $B%H%i%C%/4V%7!<%/(B usec */
/* $B%7%j%s%@%0%k!<%W$N?t$H%5%$%:$K$h$j7h$a$i$l$k%5%$%:(B */
	daddr_t fs_csaddr;	/* $B%7%j%s%@%0%k!<%WAm3gNN0h$N%V%m%C%/%"%I%l%9(B */
	long	fs_cssize;	/* $B%7%j%s%@%0%k!<%WAm3gNN0h$N%5%$%:(B */
	long	fs_cgsize;	/* $B%7%j%s%@%0%k!<%W%5%$%:(B */
/* $B$3$l$i$N%U%#!<%k%I$O%O!<%I%&%'%"$+$i0z$-=P$5$l$k(B */
	long	fs_ntrak;	/* $B%7%j%s%@$"$?$j$N%H%i%C%/?t(B */
	long	fs_nsect;	/* $B%H%i%C%/$"$?$j$N%;%/%??t(B */
	long  	fs_spc;   	/* $B%7%j%s%@$"$?$j$N%;%/%??t(B */
/* $B$3$l$O%G%#%9%/%I%i%$%P%Q!<%F%#%7%g%s:n@.;~$N$b$N(B */
	long	fs_ncyl;   	/* $B%U%!%$%k%7%9%F%`$N%7%j%s%@?t(B */
/* $B$3$l$i$N%U%#!<%k%I$OB>$N%U%#!<%k%I$+$i7W;;$G$-$k(B */
	long	fs_cpg;	/* $B%0%k!<%W$"$?$j$N%7%j%s%@?t(B */
	long	fs_ipg;	/* $B%0%k!<%W$"$?$j$N(B inode $B?t(B */
	long	fs_fpg;	/* $B%0%k!<%W$"$?$j$N%V%m%C%/?t(B * fs_frag */
/* $B$3$N%G!<%?$O%/%i%C%7%e8e$K:F7W;;$5$l$J$1$l$P$J$i$J$$(B */
	struct	csum fs_cstotal;	/* $B%7%j%s%@Am3g>pJs(B */
/* $B0J2<$N%U%#!<%k%I$O%^%&%s%H;~$K%/%j%"$5$l$k(B */
	char   	fs_fmod;    	/* $B%9!<%Q%V%m%C%/JQ99%U%i%0(B */
	char   	fs_clean;    	/* $B%U%!%$%k%7%9%F%`$,%/%j!<%s$G$"$k%U%i%0(B */
	char   	fs_ronly;   	/* $BFI$_9~$_@lMQ$G%^%&%s%H$5$l$?%U%i%0(B */
	char   	fs_flags;   	/* $B8=:_L$;HMQ$N%U%i%0(B */
	char	fs_fsmnt[MAXMNTLEN];	/* $B%^%&%s%HL>%*%s(B */
/* $B$3$l$i$N%U%#!<%k%I$O8=:_$N%V%m%C%/$NG[CV>pJs$rJ];}$9$k(B */
	long	fs_cgrotor;	/* $B:G8e$K8!:w$5$l$?(B cg */
	struct	csum *fs_csp[MAXCSBUFS]; /* fs_cs $B>pJs%P%C%U%!$N%j%9%H(B */
	long	fs_cpc;	/* postbl $BFb$N%5%$%/%k$"$?$j$N%7%j%s%@(B */
	short	fs_opostbl[16][8];	/* $B5l2sE>%V%m%C%/%j%9%H%X%C%I(B */
	long	fs_sparecon[50];	/* $B>-Mh$N$?$a$KM=Ls$5$l$?Dj?t(B */
	long	fs_contigsumsize;/* $B%/%i%9%?Am3gG[Ns$NBg$-$5(B */
	long	fs_maxsymlinklen;/* $BFbIt%7%s%\%j%C%/%j%s%/$N:GBgD9(B */
	long	fs_inodefmt;	/* $B%G%#%9%/>e$N(B inode $B$N%U%)!<%^%C%H(B */
	u_quad_t fs_maxfilesize;/* $B:GBgI=<(2DG=%U%!%$%k%5%$%:(B */
	quad	fs_qbmask;	/* ~fs_bmask - quad size $B$G;H$&(B */
	quad	fs_qfmask;	/* ~fs_fmask - quad size $B$G;H$&(B */
	long	fs_postblformat; /* $B0LCV%l%$%"%&%H%F!<%V%k$N%U%)!<%^%C%H(B */
	long	fs_nrpos;	/* $B2sE>0LCV$N?t(B */
	long	fs_postbloff;	/* (short) $B2sE>%V%m%C%/%j%9%H%X%C%I(B */
	long	fs_rotbloff;	/* (u_char) $B3F2sE>Kh$N%V%m%C%/(B */
	long	fs_magic;	/* $B%^%8%C%/%J%s%P(B */
	u_char	fs_space[1];	/* $B3F2sE>Kh$N%V%m%C%/$N%j%9%H(B */
/* $B<B:]$O$b$C$HD9$$(B */
};

/*
 * $B%U%!%$%k%7%9%F%`<1JL(B
 */
#define	FS_MAGIC	0x011954   /* fast $B%U%!%$%k%7%9%F%`$N%^%8%C%/%J%s%P(B */
#define	FS_OKAY		0x7c269d38 /* $B%9!<%Q%V%m%C%/%A%'%C%/%5%`(B */
#define FS_42INODEFMT	-1	   /* 4.2BSD inode $B%U%)!<%^%C%H(B */
#define FS_44INODEFMT	2	    /* 4.4BSD inode $B%U%)!<%^%C%H(B */
/*
 * $B:GE,2=$N$?$a$NA*Br(B
 */
#define FS_OPTTIME	0	/* $B:G>.%"%m%1!<%7%g%s;~4V(B */
#define FS_OPTSPACE	1	/* $B:G>.%G%#%9%/%U%i%0%a%s%F!<%7%g%s(B */

/*
 * $B2sE>%l%$%"%&%H%F!<%V%k%U%)!<%^%C%H%?%$%W(B
 */
#define FS_42POSTBLFMT		-1  /* 4.2BSD $B2sE>%F!<%V%k%U%)!<%^%C%H(B */
#define FS_DYNAMICPOSTBLFMT	1   /* $BF0E*2sE>%F!<%V%k%U%)!<%^%C%H(B */
.Ed
.Pp
$B3F%G%#%9%/%I%i%$%V$O$$$/$D$+$N%U%!%$%k%7%9%F%`$r4^$s$G$$$^$9!#(B
$B0l$D$N%U%!%$%k%7%9%F%`$O!"$$$/$D$+$N%7%j%s%@%0%k!<%W$+$i@.$j$^$9!#(B
$B3F%7%j%s%@%0%k!<%W$K$O(B inode $B$H%G!<%?$,$"$j$^$9!#(B
.Pp
$B%U%!%$%k%7%9%F%`$O!"%7%j%s%@%0%k!<%W$r=gHV$K5-=R$9$k%9!<%Q%V%m%C%/$K(B
$B$h$C$F5-=R$5$l$F$$$^$9!#(B
$B%9!<%Q%V%m%C%/$O=EMW$J%G!<%?$G$"$j!"2uLGE*$JB;<:$+$i<i$k$?$a$K(B
$B3F%7%j%s%@%0%k!<%W$KJ#@=$5$l$F$$$^$9!#(B
$B$3$l$O%U%!%$%k%7%9%F%`:n@.;~$K9T$J$o$l!"=EMW$J%9!<%Q%V%m%C%/%G!<%?$O(B
$BJQ99$5$l$J$$$N$G!"FC$K;4;v$,$U$j$+$+$i$J$1$l$P!"J#@=$,;2>H$5$l$k(B
$BI,MW$O$"$j$^$;$s!#(B
.Pp
inode $B$KJ]B8$5$l$?%"%I%l%9$K$h$C$F!"(B`$B%V%m%C%/(B' $B$N%U%i%0%a%s%H$N(B
$B0LCV$r7h$a$k$3$H$,$G$-$^$9!#(B
$B%U%!%$%k%7%9%F%`%V%m%C%/$N$[$H$s$I$O(B
.Dv MAXBSIZE
$B$G$9$,!"(B2, 4, 8 $B8D$KJ,$1$k$3$H$,<+M3$K$G$-!"(B
$B$=$l$>$l$r0LCV;XDj$G$-$^$9(B; $B$3$l$i$NCGJR$O(B
.Dv DEV_BSIZE
$B$^$?$O(B
.Dv DEV_BSIZE
$BC10L$NG\?t$G$"$l$PNI$$$N$G$9!#(B
.Pp
$BBg$-$J%U%!%$%k$O!"Hs>o$KBg$-$J%G!<%?%V%m%C%/$+$i@.$j$^$9!#(B
$B%G%#%9%/%9%Z!<%9$NO2Hq$rHr$1$k$?$a$K!">.$5$J%U%!%$%k$N(B
$B:G8e$N%G!<%?%V%m%C%/$O!"I,MW$K$h$C$FBg$-$J%V%m%C%/$NB?$/$N%U%i%0%a%s%H(B
$B$HF1MM$K$=$l0l$D$@$1$G3NJ]$5$l$^$9!#(B
$B%U%!%$%k%7%9%F%`%U%)!<%^%C%H$O!"$=$N$h$&$J%U%i%0%a%s%H$X$NC10l$N(B
$B%]%$%s%?$rJ];}$7!"%U%i%0%a%s%H$OJ,3d$5$l$?C10l$NBg$-$J%V%m%C%/JR$G$9!#(B
$B$=$N$h$&$J%U%i%0%a%s%H$NBg$-$5$O!"(B
inode $B$K$"$k>pJs$+$i7hDj$9$k$3$H$,$G$-!"(B
.Fn blksize fs ip lbn
$B%^%/%m$,;H$C$F$$$^$9!#(B
.Pp
$B%U%!%$%k%7%9%F%`$O!"Ds6!2DG=$J6u$-$r%U%i%0%a%s%H%l%Y%k$G5-O?$7$^$9(B;
$B%V%m%C%/$N6u$-$r7hDj$9$k$?$a$K!"%U%i%0%a%s%H$rJB$Y$FD4$Y$^$9!#(B
.Pp
root inode $B$O!"%U%!%$%k%7%9%F%`$N$*$*$b$H$G$9!#(B
inode 0 $B$O!"DL>o$NL\E*$G$O;H$o$l$:!"Nr;KE*$K(B
$B%P%C%I%V%m%C%/$O(B inode 1 $B$K%j%s%/$5$l$^$9!#(B
$BF1MM$K(B root inode $B$O!"(B2 $B$G$9(B(inode 1 $B$O!"$b$O$d$3$NL\E*$G$O;H$o$l$^$;$s$,!"(B
$BB?$/$N%@%s%W%F!<%W$,$3$N2>Dj$r$7$F$$$k$N$G!"$=$l$K$D$$$F$OJQ99$G$-$^$;$s(B)$B!#(B
.Pp
.Fa fs_minfree
$BMWAG$O6u$$$F$$$k%U%!%$%k%7%9%F%`%V%m%C%/$N:GDc5vMF3d9g$rM?$($^$9!#(B
$B6u$-%j%9%H$,$3$N%l%Y%k0J2<$K$J$C$?>l9g!"%9!<%Q%f!<%6(B
$B$@$1$,%V%m%C%/$N3NJ]$rB3$1$k$3$H$,$G$-$^$9!#(B
.Fa fs_minfree
$BMWAG$O!"6u$-%V%m%C%/$NM=Hw$,I,MW$J$$$H;W$o$l$?$i(B 0 $B$K%;%C%H$7$F$b(B
$B$+$^$$$^$;$s$,!"%U%!%$%k%7%9%F%`$,(B 90% $B0J>e5M$^$C$?>uBV$GF0$$$F$$$k$H$-$K$O!"(B
$B$+$J$j@-G=$,Dc2<$9$k$G$7$g$&(B; $B$=$N$?$a%G%U%)%k%H$N(B
.Fa fs_minfree
$B$NCM$O(B 10% $B$K$J$C$F$$$^$9!#(B
.Pp
$B7P83>e%V%m%C%/%U%i%0%a%s%F!<%7%g%s$H(B 90% $B;HMQCf$N%G%#%9%/A4BN$NMxMQ(B
$B$N7s$M9g$$$,:G$bNI$$$N$O!"%U%i%0%a%s%F!<%7%g%s(B 8 $B$N$H$-$G$9!#(B
$B$=$N$?$a%G%U%)%k%H$N%U%i%0%a%s%H%5%$%:$O%V%m%C%/%5%$%:$N(B 8 $BG\$K$J$C$F$$$^$9!#(B
.Pp
$BMWAG(B
.Fa fs_optim
$B$O%U%!%$%k%7%9%F%`$,%V%m%C%/$r3NJ]$9$k$N$KMW$9$k;~4V$r:G>.$K(B
$B$7$h$&$H$9$k$+!"$=$l$H$b%G%#%9%/$N%U%i%0%a%s%F!<%7%g%sNN0h$r:G>.$K(B
$B$7$h$&$H$9$k$+$r;XDj$7$^$9!#(B
fs_minfree ($B>e5-;2>H(B) $B$NCM$,(B 10% $B$h$j>.$5$$>l9g$O!"%U%!%$%k%7%9%F%`(B
$B$O6u4V$N:GE,2=$r%G%U%)%k%H$H$7!"$A$g$&$I$h$$Bg$-$5$N%V%m%C%/0J30$G$O(B
$BF/$3$&$H$7$J$/$J$j$^$9!#(B
minfree $B$NCM$,(B 10% $B$HEy$7$$$+$=$l0J>e$N>l9g$K$O!"%U%i%0%a%s%F!<%7%g%s(B
$B$,LdBj$H$O$J$j$K$/$/!"%U%!%$%k%7%9%F%`$O;~4V$N:GE,2=$r%G%U%)%k%H$K(B
$B$7$^$9!#(B
.Pp
.Em $B%7%j%s%@%0%k!<%W$K4XO"$7$?@)8B(B :
$B3F%7%j%s%@$O0[$J$k2sE>0LCV$G%V%m%C%/$r<hF@$9$k%H%i%C%/$r(B
$BJ];}$9$k$N$G!"O"B3$7$?%V%m%C%/$O:G>.$N2sE>CY$l$GG[CV$9$k$3$H$,$G$-$^$9!#(B
$B%G%U%)%k%H$N(B 8 $B$ONI9%$J2sE>0LCV$G$"$j!"Am3g>pJs$NJ,2rG=$O(B
$BE57?E*$J(B 3600 $B2sE>$N%I%i%$%V$G(B 2ms $B$K$J$j$^$9!#(B
.Pp
$BMWAG(B
.Fa fs_rotdelay
$B$O!"F10l%7%j%s%@>e$GJL$N%G%#%9%/E>Aw$r=i4|2=$9$k(B
$B:G>.%_%jIC?t$rM?$($^$9!#(B
$B$3$l$O!"%U%!%$%kFb$G%G%#%9%/%V%m%C%/$N:GE,$J2sE>%l%$%"%&%H$r7hDj$9$k(B
$B$N$K;H$o$l$^$9(B;
$B%G%U%)%k%H$N(B
.Fa fs_rotdelay
$B$NCM$O(B 2ms $B$G$9!#(B
.Pp
$B3F%U%!%$%k%7%9%F%`$O!"E}7WE*$K3d$jEv$F$i$l$??t$N(B inode $B$r;}$C$F$$$^$9!#(B
inode $B$O!"%G%#%9%/6u4V$"$?$j(B
.Dv NBPI
$B%P%$%H3NJ]$5$l$^$9!#(Binode $B$rG[CV$9$k@oN,$O!"6KC<$KJ]<iE*$G$9!#(B
.Pp
.Dv MINBSIZE
$B$,5v$5$l$k:G>.$N%V%m%C%/%5%$%:$G$9!#(B
.Dv MINBSIZE
$B$,(B 4096 $B$G$O!"FsCJ3,$[$I1s2s$j$9$k$@$1$G(B 2^32 $B$NBg$-$5$N%U%!%$%k$r(B
$B:n@.$9$k$3$H$,$G$-$^$9!#(B
.Dv MINBSIZE
$B$O!"%7%j%s%@%0%k!<%W%V%m%C%/$rJ];}$9$k$N$K==J,$JBg$-$5$G$J$1$l$P(B
$B$J$j$^$;$s!#$=$&$7$F(B
.Pq Fa $B9=B$BN(B cg
$B$X$NJQ99$OBg$-$5$r(B
.Dv MINBSIZE
$B0JFb$K$7$F$*$+$J$1$l$P$J$j$^$;$s!#(B
$B%9!<%Q%V%m%C%/$O7h$7$F(B
.Dv SBSIZE
$B$NBg$-$50J>e$G$O$J$$$H$$$&$3$H$KCm0U$7$F2<$5$$!#(B
.Pp
$B%U%!%$%k%7%9%F%`$,%^%&%s%H$5$l$F$$$k%Q%9L>$O!"(B
.Fa fs_fsmnt
$B$KJ];}$5$l$^$9!#(B
.Dv MAXMNTLEN
$B$O!"$3$NL>A0$N$?$a$K%9!<%Q%V%m%C%/$K3d$jEv$F$i$l$?NN0h$NNL$rDj5A$7$^$9!#(B
$B%U%!%$%k%7%9%F%`Kh$NAm3g>pJs$NNL$N>e8B$O!"(B
.Dv MAXCSBUFS
$B$K$h$jDj5A$5$l$F$$$^$9!#(B
4096 $B%P%$%H%V%m%C%/%5%$%:$N$?$a$K!"$3$l$O8=:_:GBg(B 200 $BK|%7%j%s%@J,(B
$BMQ0U$5$l$F$$$^$9!#(B
.Pp
$B$=$l$>$l$N%7%j%s%@%0%k!<%W>pJs$O!"@hF,$N%7%j%s%@%0%k!<%W(B
$B%G!<%?%V%m%C%/$+$i3NJ]$5$l$?%V%m%C%/$KMWLs$5$l$^$9!#(B
$B$3$l$i$N%V%m%C%/$O%9!<%Q%V%m%C%/$K2C$($F(B
.Fa fs_csaddr
(
.Fa fs_cssize $B$NBg$-$5(B)
$B$+$iFI$_9~$^$l$^$9!#(B
.Pp
.Sy $BCm0U(B:
.Fn sizeof "struct csum"
$B$O(B
.Fn fs_cs
$B%^%/%m$rF0$+$9$?$a$N(B 2 $BG\$G$J$1$l$P$J$j$^$;$s!#(B
.Pp
The
.Em "$B%U%!%$%k%7%9%F%`$N%9!<%Q%V%m%C%/(B" :
$B2sE>%l%$%"%&%H%F!<%V%k$NBg$-$5$O!"%9!<%Q%V%m%C%/(B
.Dv SBSIZE
$B$NBg$-$5$G$"$k$H$$$&;v<B$K$h$j@)8B$5$l$F$$$^$9!#(B
$B$3$l$i$N%F!<%V%k$NBg$-$5$O!"%U%!%$%k%7%9%F%`$N%V%m%C%/%5%$%:$K(B
.Em $B5UHfNc(B
$B$7$^$9!#%F!<%V%k$NBg$-$5$O(B
$B2sE>%Q%?!<%s$,(B
.Pq Fa fs_cpc
$B$r7+$jJV$9A0$K4^$^$l$F$$$?%7%j%s%@?t$rA}$d$9$h$&$K!"(B
$B%;%/%?%5%$%:$,(B 2 $BG\$G$J$$>l9g$KA}$($^$9!#(B
$B2sE>%l%$%"%&%H%F!<%V%k$NBg$-$5$O!"(B
.Pq Fa struct fs
$B$K;D$C$F$$$k%P%$%H?t$+$i3d$j=P$5$l$^$9!#(B
.Pp
$B%7%j%s%@%0%k!<%W$"$?$j$N%G!<%?%V%m%C%/?t$O!"%7%j%s%@%0%k!<%W$,(B
$B$[$H$s$I(B 1 $B%V%m%C%/$G$"$k$N$G!"@)8B$5$l$F$$$^$9!#(B
inode $B$H6u$-%V%m%C%/%F!<%V%k$O!"%7%j%s%@%0%k!<%W9=B$BN(B
.Pq Fa struct cg
$B$N$?$a$NNN0h$r=|$$$?C10l%V%m%C%/$K$T$C$?$j9g$C$F$$$J$1$l$P$J$j$^$;$s!#(B
.Pp
.Em Inode :
inode $B$O!"(B
.Tn UNIX
$B%U%!%$%k%7%9%F%`Fb$N$9$Y$F$N%U%!%$%k3hF0@-$NCf?4$G$9!#(B
$B3F3hF0%U%!%$%k!"8=:_$N3hF0%G%#%l%/%H%j!"%^%&%s%H$5$l$?%U%!%$%k!"(B
$B%F%-%9%H%U%!%$%k!"(B'/' $B$K3d$jEv$F$i$l$k(B inode $B$O$?$C$?0l$D$G$9!#(B
inode $B$O$=$N%G%P%$%9(B / i $BHV9f$K$h$C$FL>A0IU$1$5$l$F$$$^$9!#(B
$B>\$7$/$O%$%s%/%k!<%I%U%!%$%k(B
.Aq Pa sys/inode.h
$B$r;2>H$7$F2<$5$$!#(B
.Sh $BNr;K(B
filsys $B$HL>IU$1$i$l$?%9!<%Q%V%m%C%/9=B$$O(B
.At v6
$B$+$iEP>l$7$^$7$?!#$3$N%^%K%e%"%k$G5-=R$5$l$F$$$k%U%!%$%k%7%9%F%`$O(B
.Bx 4.2
$B$+$iEP>l$7$^$7$?!#(B
