![]() |
![]()
| ![]() |
![]()
̾??
????
?????ե?????
?ե????륷???ƥ??ϥ֥??å????????ȥ֥??å??????鹽???????Ƥ??ꡢ
???????ϥե????륷???ƥ??Υѥ?????ˤʤ??ޤ???
?ºݤΥե????륷???ƥ??ϡ?
/* * FFS ?ե????륷???ƥ??Υ????ѥ֥??å? */ struct fs { int32_t fs_firstfield; /* ?????????ѥ֥??å??Ѥ˻Ȥ????롢????Ū */ int32_t fs_unused_1; /* FS ???ꥹ?? */ int32_t fs_sblkno; /* fs ?⥹???ѥ֥??å????ե??å? */ int32_t fs_cblkno; /* fs ?⥷???????֥??å????ե??å? */ int32_t fs_iblkno; /* fs ?? inode ?֥??å????ե??å? */ int32_t fs_dblkno; /* cg ???κǽ??Υǡ????Υ??ե??å? */ int32_t fs_old_cgoffset; /* ???????????Υ??????????롼?ץ??ե??å? */ int32_t fs_old_cgmask; /* mod fs_ntrak ?η??˻Ȥ????? */ int32_t fs_old_time; /* ?Ǹ??˽??ޤ줿???? */ int32_t fs_old_size; /* fs ???Υ֥??å??? */ int32_t fs_old_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_old_rotdelay; /* ??Ŭ?ʼ??֥??å??Τ????? ms ?? */ int32_t fs_old_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_spare1[2]; /* ?Ť? fs_csmask */ /* ?Ť? fs_csshift */ int32_t fs_nindir; /* NINDIR ???? */ int32_t fs_inopb; /* INOPB ???? */ int32_t fs_old_nspf; /* NSPF ????*/ /* ?̤Υ????ե??????졼???????ѥ???? */ int32_t fs_optim; /* ??Ŭ???????ʲ??? */ int32_t fs_old_npsect; /* ͽ?????ޤࡢ?ȥ??å??????ꥻ?????? */ int32_t fs_old_interleave; /* ?ϡ??ɥ???????????????? */ int32_t fs_old_trackskew; /* ?ȥ??å????????Υ????? 0 ?????塼 */ int32_t fs_id[2]; /* ???ˡ????ʥե????륷???ƥ? ID */ /* ???????????롼?פο??ȥ??????ˤ????????????륵???? */ int32_t fs_old_csaddr; /* ???????????롼???????ΰ??Υ֥??å????ɥ쥹 */ int32_t fs_cssize; /* ???????????롼???????ΰ??Υ????? */ int32_t fs_cgsize; /* ???????????롼?ץ????? */ int32_t fs_spare2; /* ?Ť? fs_ntrak */ int32_t fs_old_nsect; /* ?ȥ??å????????Υ??????? */ int32_t fs_old_spc; /* ???????????????Υ??????? */ int32_t fs_old_ncyl; /* ?ե????륷???ƥ??Υ????????? */ int32_t fs_old_cpg; /* ???롼?פ??????Υ????????? */ int32_t fs_ipg; /* ???롼?פ??????? inode ?? */ int32_t fs_fpg; /* ???롼?פ??????Υ֥??å??? * fs_frag */ /* ???Υǡ????ϥ????å??????˺Ʒ??????ʤ????Фʤ??ʤ? */ struct csum fs_old_cstotal; /* ???????????????? */ /* ?ʲ??Υե??????ɤϥޥ????Ȼ??˥??ꥢ?????? */ int8_t fs_fmod; /* ?????ѥ֥??å??ѹ??ե饰 */ int8_t fs_clean; /* ?ե????륷???ƥब??????Ǥ????ե饰 */ int8_t fs_ronly; /* ?ɤ߹??????Ѥǥޥ????Ȥ??줿?ե饰 */ int8_t fs_old_flags; /* ?Ť? FS_ ?ե饰 */ u_char fs_fsmnt[MAXMNTLEN]; /* ?ޥ????Ⱦ?????̾?? */ u_char fs_volname[MAXVOLLEN]; /* ?ܥ??塼??̾ */ u_int64_t fs_swuid; /* ?????ƥ??磻?ɤ? UID */ int32_t fs_pad; /* fs_swuid ?Υ??饤?????????? */ /* ???????Υե??????ɤϸ??ߤΥ֥??å??????־??????ݻ????? */ int32_t fs_cgrotor; /* ?Ǹ??˸??????줿 cg */ void *fs_ocsp[NOCSPTRS]; /* ?ѥåɡ?fs_cs ?Хåե??Υꥹ?Ȥ??ä? */ u_int8_t *fs_contigdirs; /* Ϣ³???????Ƥ??줿 dir ?? */ struct csum *fs_csp; /* fs_cs ?????Хåե??Υꥹ?? */ int32_t *fs_maxcluster; /* ?ƥ??????????롼?פκ??祯?饹?? */ u_int *fs_active; /* fs ?ȥ??å??Ѥˡ????ʥåץ????åȤ????? */ int32_t fs_old_cpc; /* postbl ???Υ??????뤢?????Υ??????? */ int32_t fs_maxbsize; /* ?????Υ֥??å??????? */ int64_t fs_sparecon64[17]; /* ?Ť??????ơ????????֥??å??ꥹ?ȥإå? */ int64_t fs_sblockloc; /* ɸ???Υ????ѥ֥??å??ΥХ??ȥ??ե??å? */ struct csum_total fs_cstotal; /* ???????????????? */ ufs_time_t fs_time; /* ?Ǹ??˽??ޤ줿???? */ int64_t fs_size; /* fs ???Υ֥??å??? */ int64_t fs_dsize; /* fs ???Υǡ????֥??å??? */ ufs2_daddr_t fs_csaddr; /* ???????????롼???????????ΰ??Υ֥??å????ɥ쥹 */ int64_t fs_pendingblocks; /* ???߳????????Υ֥??å??? */ int32_t fs_pendinginodes; /* ???߳????????? inode ?? */ int32_t fs_snapinum[FSMAXSNAP]; /* ???ʥåץ????å? inode ???Υꥹ?? */ int32_t fs_avgfilesize; /* ?ե????륵??????ʿ?Ѥδ????? */ int32_t fs_avgfpdir; /* ?ǥ??쥯?ȥꤢ?????Υե????????δ????? */ int32_t fs_save_cgsize; /* ?? cg ??????????¸????fs_bsize ?????? */ int32_t fs_sparecon32[26]; /* ???????????Τ?????ͽ?? */ int32_t fs_flags; /* ???Ҥ? FS_ ?ե饰???? */ int32_t fs_contigsumsize; /* ???饹?????????????礭?? */ int32_t fs_maxsymlinklen; /* ?????????ܥ??å????κ???Ĺ */ int32_t fs_old_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_old_postblformat; /* ???֥쥤?????ȥơ??֥??Υե????ޥå? */ int32_t fs_old_nrpos; /* ??ž???֤ο? */ int32_t fs_spare5[2]; /* ?Ť? fs_postbloff */ /* ?Ť? fs_rotbloff */ int32_t fs_magic; /* ?ޥ??å??ʥ??? */ }; /* * ?ե????륷???ƥ༱?? */ #define FS_UFS1_MAGIC 0x011954 /* UFS1 ?ե????ȥե????륷???ƥ??Υޥ??å??ʥ??? */ #define FS_UFS2_MAGIC 0x19540119 /* UFS2 ?ե????ȥե????륷???ƥ??Υޥ??å??ʥ??? */ #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 /* ?Ǿ??ǥ??????ե饰?????ơ??????? */ ?ƥǥ??????ɥ饤?֤Ϥ????Ĥ??Υե????륷???ƥ????ޤ??Ǥ??ޤ??? 1 ?ĤΥե????륷???ƥ??ϡ??????Ĥ??Υ??????????롼?פ????????ޤ??? ?ƥ??????????롼?פˤ? inode ?ȥǡ??????????ޤ??? ?ե????륷???ƥ??ϡ????????????롼?פ????֤˵??Ҥ??륹???ѥ֥??å??? ???äƵ??Ҥ????Ƥ??ޤ??? ?????ѥ֥??å??Ͻ??פʥǡ????Ǥ??ꡢ????Ū??»?????????뤿???? ?ƥ??????????롼?פ?ʣ???????Ƥ??ޤ??? ?????ϥե????륷???ƥ????????˹Ԥʤ??졢???פʥ????ѥ֥??å??ǡ????? ?ѹ??????ʤ??Τǡ??ä˻??????դ꤫?????ʤ????С?ʣ???????Ȥ????? ɬ?פϤ????ޤ????? inode
????¸???줿???ɥ쥹?ˤ??äơ?`?֥??å?'
?Υե饰?????Ȥ?
???֤??????뤳?Ȥ??Ǥ??ޤ???
?ե????륷???ƥ??֥??å??ΤۤȤ??ɤ?
?礭?ʥե??????ϡ????????礭?ʥǡ????֥??å??????ʤ??ޤ???
?ǥ????????ڡ????β??٤?ϲ?????뤿???ˡ??????ʥե???????
?Ǹ??Υǡ????֥??å??ϡ?
?礭?ʥ֥??å??Υե饰?????Ȥ?ɬ?פʿ????????֤????ޤ???
?ե????륷???ƥ??ե????ޥåȤϡ????Τ褦?ʥե饰??????
(?礭?ʥ֥??å??? ʬ?䤷??????) ?? 1
?ĤؤΥݥ????????ݻ????ޤ???
???Τ褦?ʥե饰?????Ȥ??礭???ϡ?
inode ?ˤ??????????ꤹ?뤳?Ȥ??Ǥ???
?ե????륷???ƥ??ϡ???ǽ?ʶ??????ե饰?????ȥ??٥??ǵ?Ͽ???ޤ??? ?Ĥޤꡢ?֥??å??ζ????????ꤹ?뤿???ˡ??ե饰?????Ȥ??¤٤?Ĵ?٤ޤ??? root inode ?ϡ??ե????륷???ƥ??Τ??????ȤǤ??? inode 0 ?ϡ??̾?????Ū?ǤϻȤ??줺??????Ū?? ?Хåɥ֥??å??? inode 1 ?˥??????ޤ??? ???????ä? root inode ?ϡ?2 ?Ǥ? (inode 1 ?ϡ????Ϥ䤳????Ū?ǤϻȤ????ޤ??? ¿???Υ????ץơ??פ????β????Ƥ????Τǡ??????ˤĤ??Ƥ??ѹ??Ǥ??ޤ???)?? fs_minfree ???Ǥϡ??????Ƥ????ե????륷???ƥ??֥??å??κ??????Ƴ?????Ϳ???ޤ??? ?????ꥹ?Ȥ????Υ??٥??ʲ??ˤʤä????硢?????ѥ桼?? ???????֥??å??γ??ݤ?³???뤳?Ȥ??Ǥ??ޤ??? fs_minfree ???Ǥϡ??????֥??å???ͽ????ɬ?פʤ??Ȼפ??줿?? 0 ?˥??åȤ??Ƥ? ???ޤ??ޤ????ե????륷???ƥब 90% ?ʾ??ͤޤä????֤?ư???Ƥ????Ȥ??ˤϡ? ???ʤ???ǽ???㲼?????Ǥ??礦?? ???Τ????ǥե????Ȥ? fs_minfree ???ͤ? 10% ?ˤʤäƤ??ޤ??? ?и??塢?֥??å??ե饰?????ơ????????? 90% ???????Υǥ????????Τ????? ?η??礤???Ǥ??ɤ??Τϡ??ե饰?????ơ??????? 8 ?ΤȤ??Ǥ??? ???Τ????ǥե????ȤΥե饰?????ȥ??????ϥ֥??å????????? 8 ?ܤˤʤäƤ??ޤ??? ???? fs_optim ?ϥե????륷???ƥब?֥??å??????ݤ????Τ??פ??????֤??Ǿ??? ???褦?Ȥ??뤫???????Ȥ??ǥ??????????ΰ??Υե饰?????ơ??????????Ǿ??? ???褦?Ȥ??뤫?????ꤷ?ޤ??? fs_minfree (?嵭????) ???ͤ? 10% ???꾮?????????ϡ??ե????륷???ƥ? ?϶??֤κ?Ŭ?????ǥե????ȤȤ??? ???????礭???Υ֥??å????ʤ??ʤ??ʤ??褦?ˤ??ޤ??? minfree ???ͤ? 10% ???????????????ʾ??ξ????ˤϡ??ե饰?????ơ??????? ???????ȤϤʤ??ˤ??????ե????륷???ƥ??ϻ??֤κ?Ŭ?????ǥե????Ȥ? ???ޤ??? ???????????롼?פ˴?Ϣ????????: Ϣ³?????֥??å????Ǿ??β?ž?٤??????֤??뤳?Ȥ??Ǥ????褦?? ?ƥ????????ϰۤʤ???ž???֤Ǥ????Ѳ?ǽ?ʥ֥??å??????ݻ???³???ޤ??? ?ǥե????ȤǤϲ?ž???֤? 8 ʬ????ɽ???????ΤȤ?????????????ʬ??ǽ?? ŵ??Ū?? 3600 rpm ?Υɥ饤?֤? 2ms ?ˤʤ??ޤ??? ???? fs_old_rotdelay ?ϡ?Ʊ?쥷???????????̤Υǥ?????ž???Ϥ??? ?Ǿ??ߥ??ÿ???Ϳ???ޤ??? ?????ϡ??????ե????????Υǥ??????֥??å??μ????????Ǥκ?Ŭ?????֤? ???ꤹ???Τ˻Ȥ????ޤ??? ?ǥե????Ȥ? fs_old_rotdelay ???ͤ? 2ms ?Ǥ??? ?ƥե????륷???ƥ??ϡ???Ū?˳??????Ƥ??줿????
inode ?????äƤ??ޤ??? inode
?ϡ??ǥ????????֤?????
?ե????륷???ƥब?ޥ????Ȥ????Ƥ????ѥ?̾?ϡ?
fs_fsmnt ???ݻ??????ޤ???
???줾???Υ??????????롼?????ϡ???Ƭ?Υ??????????롼?? ?ǡ????֥??å????????ݤ??줿?֥??å????????ޤ??? ???????Υ֥??å??ϥ????ѥ֥??å??˲ä??? fs_csaddr ( fs_cssize ???礭??) ?????ɤ߹??ޤ??ޤ??? ????:
?ե????륷???ƥ??Υ????ѥ֥??å?:
?????쥤?????ȥơ??֥????礭???ϡ??????ѥ֥??å???
???????????롼?פ??????Υǡ????֥??å????ϡ????????????롼?פ? ???????? 1 ?֥??å??Ǥ????Τǡ????¤????Ƥ??ޤ??? inode ?ȶ????֥??å??ơ??֥??ϡ?ñ???֥??å????? ???????????롼??¤?? (struct cg) ?Τ??????ΰ??????????Ĥ??ˤԤä??????äƤ??ʤ????Фʤ??ޤ????? Inode:
inode ?ϡ? UNIX
?ե????륷???ƥ????Τ??٤ƤΥե??????˴ؤ???ư?????濴?Ǥ???
?ƥ????ƥ??֤ʥե????롢???????ȥǥ??쥯?ȥꡢ?ޥ????Ȥ??줿?ե????롢
?ƥ????ȥե????롢root
?ˤϡ????줾?????ˡ????? inode
?????????Ƥ????ޤ??? inode
?Ϥ??ΥǥХ??? / i ?ֹ??ˤ??ä?
`̾???դ?' ?????Ƥ??ޤ???
?ܤ????ϥ??롼?ɥե?????
????filsys ??̾?դ????줿?????ѥ֥??å???¤?? Version 6 AT&T UNIX ?????о줷?ޤ????????Υޥ˥奢???ǵ??Ҥ????Ƥ????ե????륷???ƥ??? 4.2BSD ?????о줷?ޤ?????
|