doc/ja_JP.eucJP/man/man5/fs.5
2003-01-03 05:50:54 +00:00

371 lines
14 KiB
Groff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.\" 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
.\" %FreeBSD: src/share/man/man5/fs.5,v 1.17 2002/12/12 17:25:57 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd April 19, 1994
.Dt FS 5
.Os
.Sh ̾¾Î
.Nm fs ,
.Nm inode
.Nd ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ü¥ê¥å¡¼¥à¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
.Sh ½ñ¼°
.In sys/param.h
.In ufs/ffs/fs.h
.Pp
.In sys/types.h
.In sys/lock.h
.In ufs/ufs/quota.h
.In ufs/ufs/inode.h
.Sh ²òÀâ
¥Õ¥¡¥¤¥ë
.Aq Pa fs.h
¤È
.Aq Pa inode.h
¤Ï¡¢¥é¥ó¥À¥à¥¢¥¯¥»¥¹¥Ç¥Ð¥¤¥¹ (¥Ç¥£¥¹¥¯) ¾å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥ª¥Ö¥¸¥§¥¯¥È
¤Î´ðËÜ¥Õ¥©¡¼¥Þ¥Ã¥È¤òºîÀ®¡¢´ÉÍý¤¹¤ëºÝ¤Ë»È¤ï¤ì¤ë¤¤¤¯¤Ä¤«¤Î¹½Â¤ÂΡ¢
ÄêµÁºÑ¤ßÊÑ¿ô¡¢¥Þ¥¯¥í¤òÀë¸À¤·¤Þ¤¹¡£
.Pp
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤È¥Ö¥í¥Ã¥¯¿ô¤«¤é¹½À®¤µ¤ì¤Æ¤ª¤ê¡¢
¤³¤ì¤é¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ñ¥é¥á¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
.Dv BBLOCK
¤«¤é»Ï¤Þ¤ê
Â礭¤µ
.Dv BBSIZE
¤À¤±Â³¤¯¥»¥¯¥¿¤Ï¡¢
¥Ç¥£¥¹¥¯¥é¥Ù¥ë¤È¤¤¤¯¤Ä¤«¤Î°ì¼¡¡¢Æó¼¡¥Ï¡¼¥É¥¦¥§¥¢¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥×¥í¥°¥é¥à
¤Î¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
.Pp
¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢
.Dv SBLOCK
¥»¥¯¥¿¤«¤é»Ï¤Þ¤ê¡¢¤½¤³¤Ë¤Ï
Â礭¤µ¤¬
.Dv SBSIZE
¤Ç¤¢¤ë
.Em ¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯
¤¬¤¢¤ê¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë
.Aq Pa ufs/ffs/fs.h
¤Ë¤¢¤ë°Ê²¼¤Î¹½Â¤ÂΤϡ¢¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤òµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£
.Bd -literal
/*
* FFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯
*/
struct fs {
int32_t fs_firstfield; /* ÆâÉô¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯ÍѤ˻Ȥï¤ì¤ë¡¢Îò»ËŪ¤Ê */
int32_t fs_unused_1; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥ê¥ó¥¯ºÑ¤ß¥ê¥¹¥È */
ufs_daddr_t fs_sblkno; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Î¥¢¥É¥ì¥¹ */
ufs_daddr_t fs_cblkno; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î¥·¥ê¥ó¥À¥Ö¥í¥Ã¥¯¤Î¥ª¥Õ¥»¥Ã¥È */
ufs_daddr_t fs_iblkno; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î inode ¥Ö¥í¥Ã¥¯¤Î¥ª¥Õ¥»¥Ã¥È */
ufs_daddr_t fs_dblkno; /* cg ¸å¤ÎºÇ½é¤Î¥Ç¡¼¥¿¤Î¥ª¥Õ¥»¥Ã¥È */
int32_t fs_cgoffset; /* ¥·¥ê¥ó¥ÀÆâ¤Î¥·¥ê¥ó¥À¥°¥ë¡¼¥×¥ª¥Õ¥»¥Ã¥È */
int32_t fs_cgmask; /* mod fs_ntrak ¤Î·×»»¤Ë»È¤ï¤ì¤ë */
time_t fs_time; /* ºÇ¸å¤Ë½ñ¤­¹þ¤Þ¤ì¤¿»þ¹ï */
int32_t fs_size; /* fs Æâ¤Î¥Ö¥í¥Ã¥¯¿ô */
int32_t fs_dsize; /* fs Æâ¤Î¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¿ô */
int32_t fs_ncg; /* ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤Î¿ô */
int32_t fs_bsize; /* fs Æâ¤Î´ðËÜ¥Ö¥í¥Ã¥¯¥µ¥¤¥º */
int32_t fs_fsize; /* fs Æâ¤Î¥Õ¥é¥°¥á¥ó¥È¥Ö¥í¥Ã¥¯¥µ¥¤¥º */
int32_t fs_frag; /* fs ¤Î 1 ¥Ö¥í¥Ã¥¯Ãæ¤Î¥Õ¥é¥°¥á¥ó¥È¿ô */
/* °Ê²¼¤Ï¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿ */
int32_t fs_minfree; /* ¥Õ¥ê¡¼¥Ö¥í¥Ã¥¯¤ÎºÇ¾®¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸ */
int32_t fs_rotdelay; /* ºÇŬ¤Ê¼¡¥Ö¥í¥Ã¥¯¤Î¤¿¤á¤Î ms ¿ô */
int32_t fs_rps; /* 1 É䢤¿¤ê¤Î¥Ç¥£¥¹¥¯²óž */
/* ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¾¤Î¥Õ¥£¡¼¥ë¥É¤«¤é·×»»¤Ç¤­¤ë */
int32_t fs_bmask; /* ``blkoff'' ¥Ö¥í¥Ã¥¯¥ª¥Õ¥»¥Ã¥È¤Î·×»» */
int32_t fs_fmask; /* ``fragoff'' ¥Õ¥é¥°¥á¥ó¥È¥ª¥Õ¥»¥Ã¥È¤Î·×»» */
int32_t fs_bshift; /* ``lblkno'' ÏÀÍý¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Î·×»» */
int32_t fs_fshift; /* ``numfrags'' ¥Õ¥é¥°¥á¥ó¥È¿ô¤Î·×»» */
/* °Ê²¼¤Ï¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿ */
int32_t fs_maxcontig; /* Ϣ³¤·¤¿¥Ö¥í¥Ã¥¯¤ÎºÇÂç¿ô */
int32_t fs_maxbpg; /* ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤¢¤¿¤ê¤ÎºÇÂç¥Ö¥í¥Ã¥¯¿ô */
/* ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¾¤Î¥Õ¥£¡¼¥ë¥É¤«¤é·×»»¤Ç¤­¤ë */
int32_t fs_fragshift; /* ¥Õ¥é¥°¥á¥ó¥È¥·¥Õ¥È¤¹¤ë¥Ö¥í¥Ã¥¯ */
int32_t fs_fsbtodb; /* fsbtodb ¤È dbtofsb ¥·¥Õ¥ÈÄê¿ô */
int32_t fs_sbsize; /* ¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Î¼ÂºÝ¤ÎÂ礭¤µ */
int32_t fs_csmask; /* csum ¥Ö¥í¥Ã¥¯¥ª¥Õ¥»¥Ã¥È */
int32_t fs_csshift; /* csum ¥Ö¥í¥Ã¥¯¿ô */
int32_t fs_nindir; /* NINDIR ¤ÎÃÍ */
int32_t fs_inopb; /* INOPB ¤ÎÃÍ */
int32_t fs_nspf; /* NSPF ¤ÎÃÍ */
/* Ê̤Υ³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿ */
int32_t fs_optim; /* ºÇŬ²½¤ÎÁªÂò¡¢°Ê²¼¤ò»²¾È */
/* ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤«¤é°ú¤­½Ð¤µ¤ì¤ë */
int32_t fs_npsect; /* ͽÈ÷¤ò´Þ¤à¥È¥é¥Ã¥¯¤¢¤¿¤ê¤Î¥»¥¯¥¿¿ô */
int32_t fs_interleave; /* ¥Ï¡¼¥É¥¦¥§¥¢¥»¥¯¥¿¥¤¥ó¥¿¥ê¡¼¥Ö */
int32_t fs_trackskew; /* ¥È¥é¥Ã¥¯¤¢¤¿¤ê¤Î¥»¥¯¥¿ 0 ¤æ¤¬¤ß */
/* fs_id ¤Ï̤»ÈÍѤΠfs_headswitch ¤È fs_trkseek ¤Î¥Õ¥£¡¼¥ë¥É¤Î¶õ´Ö¤òÊÝ»ý */
int32_t fs_id[2]; /* ¥æ¥Ë¡¼¥¯¤Ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à ID */
/* ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤Î¿ô¤È¥µ¥¤¥º¤Ë¤è¤ê·è¤á¤é¤ì¤ë¥µ¥¤¥º */
ufs_daddr_t fs_csaddr; /* ¥·¥ê¥ó¥À¥°¥ë¡¼¥×Áí³çÎΰè¤Î¥Ö¥í¥Ã¥¯¥¢¥É¥ì¥¹ */
int32_t fs_cssize; /* ¥·¥ê¥ó¥À¥°¥ë¡¼¥×Áí³çÎΰè¤Î¥µ¥¤¥º */
int32_t fs_cgsize; /* ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¥µ¥¤¥º */
/* ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤«¤é°ú¤­½Ð¤µ¤ì¤ë */
int32_t fs_ntrak; /* ¥·¥ê¥ó¥À¤¢¤¿¤ê¤Î¥È¥é¥Ã¥¯¿ô */
int32_t fs_nsect; /* ¥È¥é¥Ã¥¯¤¢¤¿¤ê¤Î¥»¥¯¥¿¿ô */
int32_t fs_spc; /* ¥·¥ê¥ó¥À¤¢¤¿¤ê¤Î¥»¥¯¥¿¿ô */
/* ¤³¤ì¤Ï¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ð¥Ñ¡¼¥Æ¥£¥·¥ç¥óºîÀ®»þ¤Î¤â¤Î */
int32_t fs_ncyl; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥·¥ê¥ó¥À¿ô */
/* ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¾¤Î¥Õ¥£¡¼¥ë¥É¤«¤é·×»»¤Ç¤­¤ë */
int32_t fs_cpg; /* ¥°¥ë¡¼¥×¤¢¤¿¤ê¤Î¥·¥ê¥ó¥À¿ô */
int32_t fs_ipg; /* ¥°¥ë¡¼¥×¤¢¤¿¤ê¤Î inode ¿ô */
int32_t fs_fpg; /* ¥°¥ë¡¼¥×¤¢¤¿¤ê¤Î¥Ö¥í¥Ã¥¯¿ô * fs_frag */
/* ¤³¤Î¥Ç¡¼¥¿¤Ï¥¯¥é¥Ã¥·¥å¸å¤ËºÆ·×»»¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ */
struct csum fs_cstotal;/* ¥·¥ê¥ó¥ÀÁí³ç¾ðÊó */
/* °Ê²¼¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Þ¥¦¥ó¥È»þ¤Ë¥¯¥ê¥¢¤µ¤ì¤ë */
int8_t fs_fmod; /* ¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯Êѹ¹¥Õ¥é¥° */
int8_t fs_clean; /* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥¯¥ê¡¼¥ó¤Ç¤¢¤ë¥Õ¥é¥° */
int8_t fs_ronly; /* ÆÉ¤ß¹þ¤ßÀìÍѤǥޥ¦¥ó¥È¤µ¤ì¤¿¥Õ¥é¥° */
int8_t fs_flags; /* ¸½ºß̤»ÈÍѤΥե饰 */
int8_t fs_fsmnt[MAXMNTLEN]; /* ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë̾Á° */
/* ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¸½ºß¤Î¥Ö¥í¥Ã¥¯¤ÎÇÛÃÖ¾ðÊó¤òÊÝ»ý¤¹¤ë */
int32_t fs_cgrotor; /* ºÇ¸å¤Ë¸¡º÷¤µ¤ì¤¿ cg */
struct csum *fs_csp[MAXCSBUFS]; /* fs_cs ¾ðÊó¥Ð¥Ã¥Õ¥¡¤Î¥ê¥¹¥È */
int32_t *fs_maxcluster;/* ³Æ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤ÎºÇÂ祯¥é¥¹¥¿ */
int32_t fs_cpc; /* postbl Æâ¤Î¥µ¥¤¥¯¥ë¤¢¤¿¤ê¤Î¥·¥ê¥ó¥À */
int16_t fs_opostbl[16][8]; /* µì²óž¥Ö¥í¥Ã¥¯¥ê¥¹¥È¥Ø¥Ã¥É */
int32_t fs_sparecon[50]; /* ¾­Íè¤Î¤¿¤á¤ËͽÌ󤵤줿Äê¿ô */
int32_t fs_contigsumsize; /* ¥¯¥é¥¹¥¿Áí³çÇÛÎó¤ÎÂ礭¤µ */
int32_t fs_maxsymlinklen; /* ÆâÉô¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ÎºÇÂçĹ */
int32_t fs_inodefmt; /* ¥Ç¥£¥¹¥¯¾å¤Î inode ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È */
u_int64_t fs_maxfilesize;/* ºÇÂçɽ¼¨²Äǽ¥Õ¥¡¥¤¥ë¥µ¥¤¥º */
int64_t fs_qbmask; /* ~fs_bmask - 64 ¥Ó¥Ã¥È¥µ¥¤¥º¤Ç»È¤¦ */
int64_t fs_qfmask; /* ~fs_fmask - 64 ¥Ó¥Ã¥È¥µ¥¤¥º¤Ç»È¤¦ */
int32_t fs_state; /* fs_clean ¥Õ¥£¡¼¥ë¥É¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹ */
int32_t fs_postblformat;/* °ÌÃ֥쥤¥¢¥¦¥È¥Æ¡¼¥Ö¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È */
int32_t fs_nrpos; /* ²óž°ÌÃ֤οô */
int32_t fs_postbloff; /* (u_int16) ²óž¥Ö¥í¥Ã¥¯¥ê¥¹¥È¥Ø¥Ã¥É */
int32_t fs_rotbloff; /* (u_int8) ³Æ²óžËè¤Î¥Ö¥í¥Ã¥¯ */
int32_t fs_magic; /* ¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð */
u_int8_t fs_space[1]; /* ³Æ²óžËè¤Î¥Ö¥í¥Ã¥¯¤Î¥ê¥¹¥È */
/* ¼ÂºÝ¤Ï¤â¤Ã¤ÈŤ¤ */
};
/*
* ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¼±ÊÌ
*/
#define FS_MAGIC 0x011954 /* fast ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð */
#define FS_OKAY 0x7c269d38 /* ¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¥Á¥§¥Ã¥¯¥µ¥à */
#define FS_42INODEFMT -1 /* 4.2BSD inode ¥Õ¥©¡¼¥Þ¥Ã¥È */
#define FS_44INODEFMT 2 /* 4.4BSD inode ¥Õ¥©¡¼¥Ã¥È
*/
/*
* ºÇŬ²½¤Î¤¿¤á¤ÎÁªÂò
*/
#define FS_OPTTIME 0 /* ºÇ¾®¥¢¥í¥±¡¼¥·¥ç¥ó»þ´Ö */
#define FS_OPTSPACE 1 /* ºÇ¾®¥Ç¥£¥¹¥¯¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó */
/*
* ²óž¥ì¥¤¥¢¥¦¥È¥Æ¡¼¥Ö¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¥¿¥¤¥×
*/
#define FS_42POSTBLFMT -1 /* 4.2BSD ²óž¥Æ¡¼¥Ö¥ë¥Õ¥©¡¼¥Þ¥Ã¥È */
#define FS_DYNAMICPOSTBLFMT 1 /* ưŪ²óž¥Æ¡¼¥Ö¥ë¥Õ¥©¡¼¥Þ¥Ã¥È */
.Ed
.Pp
³Æ¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Ï¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤«¤éÀ®¤ê¤Þ¤¹¡£
³Æ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤Ë¤Ï inode ¤È¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤¹¡£
.Pp
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤ò½çÈ֤˵­½Ò¤¹¤ë¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Ë
¤è¤Ã¤Æµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Ï½ÅÍפʥǡ¼¥¿¤Ç¤¢¤ê¡¢²õÌÇŪ¤Ê»¼º¤«¤é¼é¤ë¤¿¤á¤Ë
³Æ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤ËÊ£À½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àºîÀ®»þ¤Ë¹Ô¤Ê¤ï¤ì¡¢½ÅÍפʥ¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Ï
Êѹ¹¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢ÆÃ¤Ë»´»ö¤¬¤Õ¤ê¤«¤«¤é¤Ê¤±¤ì¤Ð¡¢Ê£À½¤¬»²¾È¤µ¤ì¤ë
ɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
.Pp
inode ¤ËÊݸ¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Ë¤è¤Ã¤Æ¡¢`¥Ö¥í¥Ã¥¯' ¤Î¥Õ¥é¥°¥á¥ó¥È¤Î
°ÌÃÖ¤ò·è¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ö¥í¥Ã¥¯¤Î¤Û¤È¤ó¤É¤Ï
.Dv MAXBSIZE
¤Ç¤¹¤¬¡¢2, 4, 8 ¸Ä¤Ëʬ¤±¤ë¤³¤È¤¬¼«Í³¤Ë¤Ç¤­¡¢
¤½¤ì¤¾¤ì¤ò°ÌÃÖ»ØÄê¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤ÎÃÇÊÒ¤Ï
.Dv DEV_BSIZE
¤Þ¤¿¤Ï
.Dv DEV_BSIZE
ñ°Ì¤ÎÇÜ¿ô¤Ç¤¢¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¡£
.Pp
Â礭¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢Èó¾ï¤ËÂ礭¤Ê¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤«¤é¤Ê¤ê¤Þ¤¹¡£
¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤Î²áÅÙ¤ÎϲÈñ¤òÈò¤±¤ë¤¿¤á¤Ë¡¢¾®¤µ¤Ê¥Õ¥¡¥¤¥ë¤Î
ºÇ¸å¤Î¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤Ï¡¢
Â礭¤Ê¥Ö¥í¥Ã¥¯¤Î¥Õ¥é¥°¥á¥ó¥È¤¬É¬Íפʿô¤À¤±ÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢¤½¤Î¤è¤¦¤Ê¥Õ¥é¥°¥á¥ó¥È (Â礭¤Ê¥Ö¥í¥Ã¥¯¤ò
ʬ³ä¤·¤¿°ìÊÒ) ¤Î 1 ¤Ä¤Ø¤Î¥Ý¥¤¥ó¥¿¤À¤±¤òÊÝ»ý¤·¤Þ¤¹¡£
¤½¤Î¤è¤¦¤Ê¥Õ¥é¥°¥á¥ó¥È¤ÎÂ礭¤µ¤Ï¡¢
inode ¤Ë¤¢¤ë¾ðÊ󤫤é·èÄꤹ¤ë¤³¤È¤¬¤Ç¤­¡¢
.Fn blksize fs ip lbn
¥Þ¥¯¥í¤¬»È¤Ã¤Æ¤¤¤Þ¤¹¡£
.Pp
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢Äó¶¡²Äǽ¤Ê¶õ¤­¤ò¥Õ¥é¥°¥á¥ó¥È¥ì¥Ù¥ë¤Çµ­Ï¿¤·¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥Ö¥í¥Ã¥¯¤Î¶õ¤­¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢¥Õ¥é¥°¥á¥ó¥È¤òʤ٤ÆÄ´¤Ù¤Þ¤¹¡£
.Pp
root inode ¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤ª¤ª¤â¤È¤Ç¤¹¡£
inode 0 ¤Ï¡¢Ä̾ï¤ÎÌÜŪ¤Ç¤Ï»È¤ï¤ì¤º¡¢Îò»ËŪ¤Ë
¥Ð¥Ã¥É¥Ö¥í¥Ã¥¯¤Ï inode 1 ¤Ë¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ root inode ¤Ï¡¢2 ¤Ç¤¹
(inode 1 ¤Ï¡¢¤â¤Ï¤ä¤³¤ÎÌÜŪ¤Ç¤Ï»È¤ï¤ì¤Þ¤»¤ó¤¬¡¢
¿¤¯¤Î¥À¥ó¥×¥Æ¡¼¥×¤¬¤³¤Î²¾Äê¤ò¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ì¤Ë¤Ä¤¤¤Æ¤ÏÊѹ¹¤Ç¤­¤Þ¤»¤ó)¡£
.Pp
.Fa fs_minfree
Í×ÁǤϡ¢¶õ¤¤¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ö¥í¥Ã¥¯¤ÎºÇÄãµöÍÆ³ä¹ç¤òÍ¿¤¨¤Þ¤¹¡£
¶õ¤­¥ê¥¹¥È¤¬¤³¤Î¥ì¥Ù¥ë°Ê²¼¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢¥¹¡¼¥Ñ¥æ¡¼¥¶
¤À¤±¤¬¥Ö¥í¥Ã¥¯¤Î³ÎÊݤò³¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
.Fa fs_minfree
Í×ÁǤϡ¢¶õ¤­¥Ö¥í¥Ã¥¯¤ÎͽÈ÷¤¬É¬Íפʤ¤¤È»×¤ï¤ì¤¿¤é 0 ¤Ë¥»¥Ã¥È¤·¤Æ¤â
¤«¤Þ¤¤¤Þ¤»¤ó¤¬¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ 90% °Ê¾åµÍ¤Þ¤Ã¤¿¾õÂÖ¤ÇÆ°¤¤¤Æ¤¤¤ë¤È¤­¤Ë¤Ï¡¢
¤«¤Ê¤êÀ­Ç½¤¬Äã²¼¤¹¤ë¤Ç¤·¤ç¤¦¡£
¤½¤Î¤¿¤á¥Ç¥Õ¥©¥ë¥È¤Î
.Fa fs_minfree
¤ÎÃÍ¤Ï 10% ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
.Pp
·Ð¸³¾å¡¢¥Ö¥í¥Ã¥¯¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¤È 90% »ÈÍÑÃæ¤Î¥Ç¥£¥¹¥¯Á´ÂΤÎÍøÍÑ
¤Î·ó¤Í¹ç¤¤¤¬ºÇ¤âÎɤ¤¤Î¤Ï¡¢¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó 8 ¤Î¤È¤­¤Ç¤¹¡£
¤½¤Î¤¿¤á¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥é¥°¥á¥ó¥È¥µ¥¤¥º¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Î 8 ÇܤˤʤäƤ¤¤Þ¤¹¡£
.Pp
Í×ÁÇ
.Fa fs_optim
¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Ö¥í¥Ã¥¯¤ò³ÎÊݤ¹¤ë¤Î¤ËÍפ¹¤ë»þ´Ö¤òºÇ¾®¤Ë
¤·¤è¤¦¤È¤¹¤ë¤«¡¢¤½¤ì¤È¤â¥Ç¥£¥¹¥¯¾å¤ÎÎΰè¤Î¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òºÇ¾®¤Ë
¤·¤è¤¦¤È¤¹¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£
fs_minfree (¾åµ­»²¾È) ¤ÎÃͤ¬ 10% ¤è¤ê¾®¤µ¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
¤Ï¶õ´Ö¤ÎºÇŬ²½¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¡¢
´°Á´¤ÊÂ礭¤µ¤Î¥Ö¥í¥Ã¥¯¤¬¤Ê¤¯¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£
minfree ¤ÎÃͤ¬ 10% ¤ÈÅù¤·¤¤¤«¤½¤ì°Ê¾å¤Î¾ì¹ç¤Ë¤Ï¡¢¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó
¤¬ÌäÂê¤È¤Ï¤Ê¤ê¤Ë¤¯¤¯¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï»þ´Ö¤ÎºÇŬ²½¤ò¥Ç¥Õ¥©¥ë¥È¤Ë
¤·¤Þ¤¹¡£
.Pp
.Em ¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤Ë´ØÏ¢¤·¤¿À©¸Â :
Ϣ³¤·¤¿¥Ö¥í¥Ã¥¯¤òºÇ¾®¤Î²óžÃÙ¤ì¤ÇÇÛÃÖ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¡¢
³Æ¥·¥ê¥ó¥À¤Ï°Û¤Ê¤ë²óž°ÌÃ֤ǤÎÍøÍѲÄǽ¤Ê¥Ö¥í¥Ã¥¯¿ô¤òÊÝ»ý¤·Â³¤±¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï²óž°ÌÃÖ¤ò 8 ʬ³ä¤Çɽ¤·¡¢¤³¤Î¤È¤­¤ÎÁí³ç¾ðÊó¤Îʬ²òǽ¤Ï
ŵ·¿Åª¤Ê 3600 rpm ¤Î¥É¥é¥¤¥Ö¤Ç 2ms ¤Ë¤Ê¤ê¤Þ¤¹¡£
.Pp
Í×ÁÇ
.Fa fs_rotdelay
¤Ï¡¢Æ±°ì¥·¥ê¥ó¥À¾å¤ÇÊ̤Υǥ£¥¹¥¯Å¾Á÷¤ò³«»Ï¤¹¤ë
ºÇ¾®¥ß¥êÉÿô¤òÍ¿¤¨¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¤¢¤ë¥Õ¥¡¥¤¥ëÃæ¤Î¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤Î¼þ²ó¤ÎÃæ¤Ç¤ÎºÇŬ¤ÊÇÛÃÖ¤ò
·èÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Î
.Fa fs_rotdelay
¤ÎÃÍ¤Ï 2ms ¤Ç¤¹¡£
.Pp
³Æ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢ÀÅŪ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¿ô¤Î inode ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
inode ¤Ï¡¢¥Ç¥£¥¹¥¯¶õ´Ö¤¢¤¿¤ê
.Dv NBPI
¥Ð¥¤¥È³ÎÊݤµ¤ì¤Þ¤¹¡£
inode ¤òÇÛÃÖ¤¹¤ëÀïά¤Ï¡¢¶Ëü¤ËÊݼéŪ¤Ç¤¹¡£
.Pp
.Dv MINBSIZE
¤¬µö¤µ¤ì¤ëºÇ¾®¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ç¤¹¡£
.Dv MINBSIZE
¤¬ 4096 ¤Ç¤Ï¡¢2 ÃʤޤǤÎ(¥Ö¥í¥Ã¥¯)´ÖÀÜ»²¾È¤ò»È¤Ã¤Æ
2^32 ¤ÎÂ礭¤µ¤Î¥Õ¥¡¥¤¥ë¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
.Dv MINBSIZE
¤Ï¡¢¥·¥ê¥ó¥À¥°¥ë¡¼¥×¥Ö¥í¥Ã¥¯¤òÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礭¤µ¤Ç¤Ê¤±¤ì¤Ð
¤Ê¤ê¤Þ¤»¤ó¡£
¤·¤¿¤¬¤Ã¤Æ
.Pq Fa ¹½Â¤ÂÎ cg
¤Ø¤ÎÊѹ¹¤ÏÂ礭¤µ¤ò
.Dv MINBSIZE
°ÊÆâ¤Ë¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Ï·è¤·¤Æ
.Dv SBSIZE
¤ÎÂ礭¤µ°Ê¾å¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
.Pp
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹Ì¾¤Ï¡¢
.Fa fs_fsmnt
¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£
.Dv MAXMNTLEN
¤Ï¡¢¤³¤Î̾Á°¤Î¤¿¤á¤Ë¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿Îΰè¤ÎÎ̤òÄêµÁ¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àËè¤ÎÁí³ç¾ðÊó¤ÎÎ̤ξå¸Â¤Ï¡¢
.Dv MAXCSBUFS
¤Ë¤è¤êÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
4096 ¥Ð¥¤¥È¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Î¾ì¹ç¤Ç¤Ï¡¢¤³¤ì¤Ï¸½ºßºÇÂç 200 Ëü¥·¥ê¥ó¥Àʬ
ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
.Pp
¤½¤ì¤¾¤ì¤Î¥·¥ê¥ó¥À¥°¥ë¡¼¥×¾ðÊó¤Ï¡¢ÀèÆ¬¤Î¥·¥ê¥ó¥À¥°¥ë¡¼¥×
¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤«¤é³ÎÊݤµ¤ì¤¿¥Ö¥í¥Ã¥¯¤ËÍ×Ì󤵤ì¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Ö¥í¥Ã¥¯¤Ï¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤Ë²Ã¤¨¤Æ
.Fa fs_csaddr
(
.Fa fs_cssize ¤ÎÂ礭¤µ)
¤«¤éÆÉ¤ß¹þ¤Þ¤ì¤Þ¤¹¡£
.Pp
.Sy Ãí°Õ:
.Fn sizeof "struct csum"
¤Ï
.Fn fs_cs
¥Þ¥¯¥í¤òư¤«¤¹¤¿¤á¤Ë 2 ¤Î¤Ù¤­¾è¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
.Pp
.Em "¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯" :
¼þ²ó¥ì¥¤¥¢¥¦¥È¥Æ¡¼¥Ö¥ë¤ÎÂ礭¤µ¤Ï¡¢¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¤¬
.Dv SBSIZE
¤ÎÂ礭¤µ¤ò»ý¤Ä¤³¤È¤Ë¤è¤êÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤ÎÂ礭¤µ¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ë
.Em µÕÈæÎã
¤·¤Þ¤¹¡£
¥»¥¯¥¿¥µ¥¤¥º¤¬ 2 ¤Î¤Ù¤­¾è¤Ç¤Ê¤¤¤È¤­¤Ë¤Ï¡¢¼þ²ó¥Ñ¥¿¡¼¥ó¤ò
.Pq Fa fs_cpc
¤À¤±·«¤êÊÖ¤¹¤Þ¤Ç¤Ë´Þ¤Þ¤ì¤ë¥·¥ê¥ó¥À¿ô¤¬Áý²Ã¤¹¤ë¤Î¤Ç¡¢
ƱÍͤ˥ơ¼¥Ö¥ë¤ÎÂ礭¤µ¤âÁý²Ã¤·¤Þ¤¹¡£
¼þ²ó¥ì¥¤¥¢¥¦¥È¥Æ¡¼¥Ö¥ë¤ÎÂ礭¤µ¤Ï¡¢
.Pq Fa struct fs
¤Ë»Ä¤Ã¤Æ¤¤¤ë¥Ð¥¤¥È¿ô¤«¤é³ä¤ê½Ð¤µ¤ì¤Þ¤¹¡£
.Pp
¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤¢¤¿¤ê¤Î¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¿ô¤Ï¡¢¥·¥ê¥ó¥À¥°¥ë¡¼¥×¤¬
¤¿¤«¤À¤« 1 ¥Ö¥í¥Ã¥¯¤Ç¤¢¤ë¤Î¤Ç¡¢À©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
inode ¤È¶õ¤­¥Ö¥í¥Ã¥¯¥Æ¡¼¥Ö¥ë¤Ï¡¢Ã±°ì¥Ö¥í¥Ã¥¯¤«¤é
¥·¥ê¥ó¥À¥°¥ë¡¼¥×¹½Â¤ÂÎ
.Pq Fa struct cg
¤Î¤¿¤á¤ÎÎΰè¤ò½ü¤¤¤¿»Ä¤ê¤Ë¤Ô¤Ã¤¿¤ê¹ç¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
.Pp
.Em Inode :
inode ¤Ï¡¢
.Ux
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë´Ø¤¹¤ëưºî¤ÎÃæ¿´¤Ç¤¹¡£
³Æ¥¢¥¯¥Æ¥£¥Ö¤Ê¥Õ¥¡¥¤¥ë¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¡¢¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¢
¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¡¢root ¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¥æ¥Ë¡¼¥¯¤Ê inode ¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
inode ¤Ï¤½¤Î¥Ç¥Ð¥¤¥¹ / i ÈÖ¹æ¤Ë¤è¤Ã¤Æ `̾Á°ÉÕ¤±' ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¾Ü¤·¤¯¤Ï¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
.Aq Pa ufs/ufs/inode.h
¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
.Sh Îò»Ë
filsys ¤È̾ÉÕ¤±¤é¤ì¤¿¥¹¡¼¥Ñ¥Ö¥í¥Ã¥¯¹½Â¤¤Ï
.At v6
¤«¤éÅо줷¤Þ¤·¤¿¡£¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï
.Bx 4.2
¤«¤éÅо줷¤Þ¤·¤¿¡£