Catch up with English versions:
firewall.7 rev 1.17 -> 1.18 ports.7 original revision number is corrected. newsyslog.8 rev 1.38 -> 1.41 setpmac.8 rev 1.3 -> 1.4 sysinstall.8 rev 1.57 -> 1.58 vnode.9 rev 1.4 -> 1.5
This commit is contained in:
parent
4df660a50e
commit
6a6bdb8620
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17097
6 changed files with 172 additions and 163 deletions
|
@ -2,7 +2,7 @@
|
|||
.\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in
|
||||
.\" the source tree.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man7/firewall.7,v 1.17 2002/11/29 11:50:08 ru Exp %
|
||||
.\" %FreeBSD: src/share/man/man7/firewall.7,v 1.18 2003/04/26 09:30:34 brueffer Exp %
|
||||
.\" $FreeBSD$
|
||||
.Dd May 26, 2001
|
||||
.Dt FIREWALL 7
|
||||
|
@ -22,8 +22,8 @@ SMBFS
|
|||
.Xr dummynet 4
|
||||
を用いた帯域制限を行うこともできます。この機能は特に重要な目的のために
|
||||
帯域幅を保証したい場合などに有効でしょう。たとえば、オフィスの T1
|
||||
(1.5Mbps) を用いてビデオ会議を行う場合に、他の通信を 1Mbps までに押えて、
|
||||
ビデオ会議用のコネクションに最低でも 0.5Mbps を確保することができます。
|
||||
(1.5MBits/s) を用いてビデオ会議を行う場合に、他の通信を 1MBits/s までに押えて、
|
||||
ビデオ会議用のコネクションに最低でも 0.5MBits/s を確保することができます。
|
||||
また同様に、共用機器で有名なウェブサイトや FTP サイトを運用している場合には、
|
||||
プロバイダからの高額な帯域課金を避けるために使うこともできます。
|
||||
.Pp
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man7/ports.7,v 1.35 2002/12/24 13:41:46 ru Exp %
|
||||
.\" %FreeBSD: src/share/man/man7/ports.7,v 1.36 2003/02/22 11:57:09 brueffer Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd January 25, 1998
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" This file contains changes from the Open Software Foundation.
|
||||
.\"
|
||||
.\" from: @(#)newsyslog.8
|
||||
.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.38 2002/12/27 12:15:38 schweikh Exp %
|
||||
.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.42 2003/04/27 23:37:31 gad Exp %
|
||||
.\"
|
||||
.\" Copyright 1988, 1989 by the Massachusetts Institute of Technology
|
||||
.\"
|
||||
|
@ -19,7 +19,7 @@
|
|||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 4, 2000
|
||||
.Dd April 27, 2003
|
||||
.Dt NEWSYSLOG 8
|
||||
.Os
|
||||
.Sh 名称
|
||||
|
@ -27,9 +27,10 @@
|
|||
.Nd システムのログファイルを保守し、適切なサイズに保つ
|
||||
.Sh 書式
|
||||
.Nm
|
||||
.Op Fl Fnrv
|
||||
.Op Fl f Ar config_file
|
||||
.Op Fl CFnrsv
|
||||
.Op Fl R Ar tagname
|
||||
.Op Fl a Ar directory
|
||||
.Op Fl f Ar config_file
|
||||
.Op Ar
|
||||
.Sh 解説
|
||||
.Nm
|
||||
|
@ -91,7 +92,13 @@
|
|||
.Pp
|
||||
.Bl -tag -width indent
|
||||
.It Ar logfile_name
|
||||
保存するシステムログファイル名。
|
||||
保存するシステムログファイル名か、リテラル文字列の
|
||||
``<default>''
|
||||
です。
|
||||
特別なデフォルトエントリが使用されるのは、
|
||||
.Nm
|
||||
コマンドのコマンドライン上でログファイル名が与えられ、
|
||||
このログファイル名が設定ファイル注の他のどの行ともマッチしない場合だけです。
|
||||
.It Ar owner : Ns Ar group
|
||||
このフィールドはオプションであり、
|
||||
保存ファイルの所有者とグループ名を指定します。
|
||||
|
@ -263,33 +270,28 @@
|
|||
.Ar ( @05T06
|
||||
と同じです)
|
||||
.El
|
||||
.Pp
|
||||
.It Ar flags
|
||||
このフィールドはオプションであり、
|
||||
保存に際してログファイルに特別な処理を行うかどうかを指定します。
|
||||
.Ar Z
|
||||
フラグを指定すると、スペース節約のために
|
||||
保存ファイルは
|
||||
.Xr gzip 1
|
||||
で圧縮されます。
|
||||
.Ar J
|
||||
フラグを指定すると、スペース節約のために
|
||||
保存ファイルは
|
||||
.Xr bzip2 1
|
||||
で圧縮されます。
|
||||
.Ar B
|
||||
フラグはファイルがバイナリファイルであることを指示し、
|
||||
ログファイルが入れ換わったという意味で
|
||||
このオプションフィールドは 1 つ以上の文字からなり、
|
||||
この行にマッチするログファイルに対して行われる特殊処理を指定します。
|
||||
次の正当なフラグがあります:
|
||||
.Bl -tag -width indent
|
||||
.It Sy B
|
||||
ファイルがバイナリファイルまたは特殊フォーマットであることを指示します。
|
||||
通常、
|
||||
.Nm
|
||||
が挿入する
|
||||
はログファイルが入れ換えるときに
|
||||
.Tn ASCII
|
||||
メッセージを含めないようにします。
|
||||
.Ar -
|
||||
は何も意味しませんが、
|
||||
.Ar path_to_pid_file
|
||||
フィールドが指定された場合には埋め草として使用可能です。
|
||||
.Ar G
|
||||
フラグは、指定した
|
||||
メッセージをログファイルに挿入し、
|
||||
何時そして時には何故ログが入れ換えられたかを示します
|
||||
.Sy B
|
||||
が指定された場合、この情報メッセージはログファイルへ挿入されません。
|
||||
.It Sy C
|
||||
ログファイルが存在せず、かつ
|
||||
.Fl C
|
||||
オプションがコマンドラインに指定されていた場合、
|
||||
ログファイルが作成されるべきことを指示します。
|
||||
.It Sy G
|
||||
指定した
|
||||
.Ar logfile_name
|
||||
がシェルパターンであることを示し、
|
||||
このパターンにマッチする全ファイル名を
|
||||
|
@ -298,26 +300,62 @@
|
|||
文法とマッチ規則についての詳細は、
|
||||
.Xr glob 3
|
||||
を参照してください。
|
||||
.Ar W
|
||||
フラグは、
|
||||
.Ar Z
|
||||
フラグまたは
|
||||
.Ar J
|
||||
フラグと組み合わせると、本エントリに対する新規ジョブの前に、
|
||||
.It Sy J
|
||||
スペース節約のために、保存ファイルの
|
||||
.Xr bzip2 1
|
||||
での圧縮を試みるべきことを
|
||||
.Nm
|
||||
へ指示します。
|
||||
.It Sy N
|
||||
このログファイルを入れ替えるときに、
|
||||
通知されるべきプロセスが存在しないことを示します。
|
||||
.It Sy U
|
||||
.Ar path_to_pid_file
|
||||
で示されるファイルが、プロセス ID ではなくプロセスグループ ID を
|
||||
含むことを指示します。
|
||||
このオプションは、そのファイル中の最初の行が負数であり、
|
||||
プロセス ID と区別できるようになっていることを必要とします。
|
||||
.It Sy W
|
||||
.Sy Z
|
||||
や
|
||||
.Sy J
|
||||
フラグと組み合わせて使用すると、本エントリに対する新規ジョブの前に、
|
||||
直前に開始した圧縮ジョブの完了を
|
||||
.Nm
|
||||
が待つべきことを示します。
|
||||
.Ar G
|
||||
.Sy G
|
||||
フラグと組み合わせて使用すると、
|
||||
パターンに複数のログファイルがマッチし、これらが圧縮される場合、
|
||||
同時には 1 個の圧縮ジョブしか実行されないことを保証します。
|
||||
.Nm
|
||||
が同時には 1 個の圧縮しか実行しないことを保証します。
|
||||
これは、同時には 1 個の圧縮ジョブしか走行しないことを保証します。
|
||||
.It Sy Z
|
||||
スペース節約のために、保存ファイルの
|
||||
.Xr gzip 1
|
||||
での圧縮を試みるべきことを
|
||||
.Nm
|
||||
へ指示します。
|
||||
.It Sy -
|
||||
マイナス記号は何も特別な処理を引き起こしませんが、後続フィールド指定時に、
|
||||
.Ar flags
|
||||
フィールドの埋め草として使用可能です。
|
||||
.El
|
||||
.Pp
|
||||
.It Ar path_to_pid_file
|
||||
このオプションのフィールドは、
|
||||
デーモンのプロセス ID を調べるために読むファイルを指定します。
|
||||
デーモンのプロセス ID、または
|
||||
.Sy U
|
||||
フラグ指定時にはデーモンのプロセスグループ ID を調べるために
|
||||
読むファイルを指定します。
|
||||
このフィールドが存在する場合、
|
||||
このファイルに書かれたプロセス ID に
|
||||
.Ar signal_number
|
||||
が送られます。
|
||||
このフィールドが存在しない場合、
|
||||
.Sy N
|
||||
指定時を除き、SIGHUP シグナルが
|
||||
.Xr syslogd 8
|
||||
へ送られます。
|
||||
正しく認識するために、このフィールドは "/" から開始する必要があります。
|
||||
.It Ar signal_number
|
||||
このオプションフィールドは、
|
||||
|
@ -367,6 +405,30 @@
|
|||
.Xr syslogd 8
|
||||
に HUP シグナルを送れなくなりますから、
|
||||
このオプションはデバッグにのみ用いるべきです。
|
||||
.It Fl s
|
||||
ログファイル入れ替え時に通常は送っていたはずの
|
||||
デーモンプロセスへのシグナルを、一切送らないようにします。
|
||||
入れ替えられるログファイルにとっては、
|
||||
このオプションは通常次の意味も持ちます。
|
||||
すなわち、このオプションが無かった場合に通知されるデーモンがいる場合
|
||||
には、入れ替えられたログファイルは圧縮されないという意味です。
|
||||
しかしながら、本オプションがもっとも有用なのはおそらく
|
||||
.Fl R
|
||||
オプションと共に指定された場合であり、この場合圧縮は行われます。
|
||||
.It Fl C
|
||||
1 回指定すると、存在しないが設定ファイルに
|
||||
.Sy C
|
||||
が指定されているログファイルを
|
||||
.Nm
|
||||
は作成します。
|
||||
複数回指定すると、
|
||||
.Nm
|
||||
は存在しないファイルをすべて作成します。
|
||||
ログファイルがコマンドライン上に指定されると、
|
||||
.Fl C
|
||||
もしくは
|
||||
.Fl CC
|
||||
は、これらのログファイルにのみ適用されます。
|
||||
.It Fl F
|
||||
ログを入れ替える条件に合致しないとしても、強制的に
|
||||
.Nm
|
||||
|
@ -374,6 +436,44 @@
|
|||
システムの問題を診断しているときには、
|
||||
このオプションの使用により、
|
||||
問題のみを含む新しいログを提供できるので有用です。
|
||||
.It Fl R Ar tagname
|
||||
入れ換え条件が成立していなくても、
|
||||
.Nm
|
||||
が指定されたリストのファイルを入れ替えるべきことを指示します。
|
||||
.Ar tagname
|
||||
は、入れ替えられるログファイルに書き込まれるメッセージにのみ使用されます。
|
||||
これが
|
||||
.Fl F
|
||||
オプションと違うのは、ひとつ以上のファイルを指定する必要があり、
|
||||
.Nm
|
||||
がこれらの指定されたファイルに対してのみ動作するという点です。
|
||||
このオプションの主たる目的は、
|
||||
複数のログファイルを書くデーモンやプログラムで、
|
||||
それら自身の条件で入れ替えを引き起こしたいもののために使用することです。
|
||||
このオプションを使用すると、入れ替えたいときにそれらは
|
||||
.Nm
|
||||
を実行でき、またシステム管理者が依然として入れ換え規則
|
||||
(バックアップ保存数や圧縮の種類等) を指定可能とします。
|
||||
デーモンが
|
||||
.Nm
|
||||
を
|
||||
.Fl R
|
||||
オプション付きで呼び出すとき、
|
||||
.Nm
|
||||
の呼び出し前にそのデーモンは全ログファイルがクローズされていることを
|
||||
保証することと、
|
||||
.Nm
|
||||
が戻った後にログファイルをリオープンすることが必要です
|
||||
通常、呼び出しプロセスは
|
||||
.Fl s
|
||||
オプションも指定したいでしょうから、入れ替えを強制したプロセス自身には
|
||||
.Nm
|
||||
はシグナルを送らないでしょう。
|
||||
シグナル処理を行わないということは、
|
||||
.Nm
|
||||
は通常シグナル送信後に数秒待ちますので、
|
||||
.Nm
|
||||
は高速に戻ることを意味します。
|
||||
.El
|
||||
.Pp
|
||||
追加のコマンド行引数を指定すると、
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
.\" Copyright (c) 2003 Networks Associates Technology, Inc.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\"
|
||||
.\" This software was developed for the FreeBSD Project by Chris Costello
|
||||
.\" at Safeport Network Services and Network Associates Labs, the
|
||||
.\" Security Research Division of Network Associates, Inc. under
|
||||
.\" DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the
|
||||
.\" DARPA CHATS research program.
|
||||
.\"
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
|
@ -15,7 +15,7 @@
|
|||
.\" 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.
|
||||
.\"
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS 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
|
||||
|
@ -27,20 +27,21 @@
|
|||
.\" 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.
|
||||
.\"
|
||||
.\" %FreeBSD: src/usr.sbin/setpmac/setpmac.8,v 1.3 2003/01/15 03:09:01 chris Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/usr.sbin/setpmac/setpmac.8,v 1.4 2003/02/24 22:53:26 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd JANUARY 14, 2003
|
||||
.Os
|
||||
.Dt SETPMAC 8
|
||||
.Sh 名称
|
||||
.Nm setpmac
|
||||
.Nd 別の MAC プロセスラベルにおけるコマンド実行
|
||||
.Nd "別の MAC プロセスラベルにおけるコマンド実行"
|
||||
.Sh 書式
|
||||
.Nm
|
||||
.Ar label
|
||||
.Ar command
|
||||
.Op Ar args Op Ar ...
|
||||
.Op Ar arg ...
|
||||
.Sh 解説
|
||||
.Nm
|
||||
ユーティリティは、新規プロセスをフォークし、ラベルを
|
||||
|
@ -59,6 +60,8 @@
|
|||
Network Associates Labs,
|
||||
the Security Research Division of Network Associates Inc.
|
||||
が、DARPA CHATS 研究プログラムの一部として、
|
||||
DARPA/SPAWAR 契約 N66001-01-C-8035 ("CBOSS") のもとに、
|
||||
DARPA/SPAWAR 契約 N66001-01-C-8035
|
||||
.Pq Dq CBOSS
|
||||
のもとに、
|
||||
.Fx
|
||||
Project に寄贈しました。
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/usr.sbin/sysinstall/sysinstall.8,v 1.57 2003/03/08 12:07:13 markm Exp %
|
||||
.\" %FreeBSD: src/usr.sbin/sysinstall/sysinstall.8,v 1.58 2003/05/22 18:41:16 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
|
@ -444,8 +444,6 @@ GNU info
|
|||
システムでのみ利用可能)
|
||||
.It Li ports
|
||||
ports コレクション
|
||||
.It Li krb5
|
||||
Kerberos5 バイナリ
|
||||
.It Li ssecure
|
||||
/usr/src/secure
|
||||
.It Li sbase
|
||||
|
@ -460,6 +458,8 @@ Kerberos5
|
|||
/usr/src/games
|
||||
.It Li sinclude
|
||||
/usr/src/include
|
||||
.It Li skrb5
|
||||
/usr/src/kerberos5
|
||||
.It Li slib
|
||||
/usr/src/lib
|
||||
.It Li slibexec
|
||||
|
|
|
@ -26,10 +26,10 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/share/man/man9/vnode.9,v 1.24 2003/03/06 23:55:51 ceri Exp %
|
||||
.\" %FreeBSD: src/share/man/man9/vnode.9,v 1.25 2003/05/24 18:19:11 hmp Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 30, 1999
|
||||
.Dd May 20, 2003
|
||||
.Os
|
||||
.Dt VNODE 9
|
||||
.Sh 名称
|
||||
|
@ -38,116 +38,22 @@
|
|||
.Sh 書式
|
||||
.In sys/param.h
|
||||
.In sys/vnode.h
|
||||
.Pp
|
||||
.Bd -literal
|
||||
/*
|
||||
* vnode の型です。VNON は型が無いことを意味します。
|
||||
*/
|
||||
enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD };
|
||||
|
||||
/*
|
||||
* 個々の下位ファイルシステムはその私的な領域を割り当て、それを
|
||||
* v_data から吊るします。ヌルでないならば、この領域は getnewvnode() で
|
||||
* 解放されます。
|
||||
*/
|
||||
TAILQ_HEAD(buflists, buf);
|
||||
|
||||
typedef int vop_t((void *));
|
||||
struct namecache;
|
||||
|
||||
/*
|
||||
* これらの項目の読込みまたは書込みは適切なロックの保持を要求します。
|
||||
* v_freelist はグローバル vnode_free_list 単純ロックでロックされます。
|
||||
* v_mntvnodes はグローバル mntvnodes 単純ロックでロックされます。
|
||||
* v_flag, v_usecount, v_holdcount および v_writecount は vinterlock
|
||||
* 単純ロックでロックされます。
|
||||
* v_pollinfo はその中に含まれているロックでロックされます。
|
||||
*/
|
||||
struct vnode {
|
||||
u_long v_flag; /* vnode フラグ (以下参照) */
|
||||
int v_usecount; /* ユーザの参照カウント */
|
||||
int v_writecount; /* 書込み者の参照カウント */
|
||||
int v_holdcnt; /* ページ & バッファの参照 */
|
||||
u_long v_id; /* ケーパビリティ識別子 */
|
||||
struct mount *v_mount; /* 今いる VFS へのポインタ */
|
||||
vop_t **v_op; /* vnode 操作ベクタ */
|
||||
TAILQ_ENTRY(vnode) v_freelist; /* vnode フリーリスト */
|
||||
LIST_ENTRY(vnode) v_mntvnodes; /* マウントポイントの vnode */
|
||||
struct buflists v_cleanblkhd; /* 綺麗なブロックリスト先頭 */
|
||||
struct buflists v_dirtyblkhd; /* 汚れたブロックリスト先頭 */
|
||||
LIST_ENTRY(vnode) v_synclist; /* 汚れたバッファ付き vnode */
|
||||
long v_numoutput; /* 書き込み中の数 */
|
||||
enum vtype v_type; /* vnode の型 */
|
||||
union {
|
||||
struct mount *vu_mountedhere;/* マウントされた VFS へのポインタ (VDIR) */
|
||||
struct socket *vu_socket; /* UNIX IPC (VSOCK) */
|
||||
struct {
|
||||
struct specinfo *vu_specinfo; /* デバイス (VCHR, VBLK) */
|
||||
SLIST_ENTRY(vnode) vu_specnext;
|
||||
} vu_spec;
|
||||
struct fifoinfo *vu_fifoinfo; /* FIFO (VFIFO) */
|
||||
} v_un;
|
||||
struct nqlease *v_lease; /* 貸出しのソフト参照 */
|
||||
daddr_t v_lastw; /* 最後の書込み (クラスタ) */
|
||||
daddr_t v_cstart; /* クラスタの開始ブロック */
|
||||
daddr_t v_lasta; /* 最後の割当て */
|
||||
int v_clen; /* 現在のクラスタ長 */
|
||||
struct vm_object *v_object; /* VM オブジェクトの保存場所 */
|
||||
struct simplelock v_interlock; /* 使用カウントとフラグのロック */
|
||||
struct lock *v_vnlock; /* 非ロックファイルシステム用 */
|
||||
const char *v_tag; /* 下位データの型 */
|
||||
void *v_data; /* ファイルシステムの私的データ */
|
||||
LIST_HEAD(, namecache) v_cache_src; /* 我々からのキャッシュエントリ */
|
||||
TAILQ_HEAD(, namecache) v_cache_dst; /* 我々へのキャッシュエントリ */
|
||||
struct vnode *v_dd; /* .. の vnode */
|
||||
u_long v_ddid; /* .. のケーパビリティ識別子 */
|
||||
struct {
|
||||
struct simplelock vpi_lock; /* 以下を保護するロック */
|
||||
struct selinfo vpi_selinfo; /* ポーリング側の識別 */
|
||||
short vpi_events; /* 何を探しているのか */
|
||||
short vpi_revents; /* 何が起こったのか */
|
||||
} v_pollinfo;
|
||||
};
|
||||
#define v_mountedhere v_un.vu_mountedhere
|
||||
#define v_socket v_un.vu_socket
|
||||
#define v_rdev v_un.vu_spec.vu_specinfo
|
||||
#define v_specnext v_un.vu_spec.vu_specnext
|
||||
#define v_fifoinfo v_un.vu_fifoinfo
|
||||
|
||||
/*
|
||||
* vnode フラグです。
|
||||
*/
|
||||
#define VROOT 0x00001 /* ファイルシステムのルート */
|
||||
#define VTEXT 0x00002 /* vnode は純粋なテキストプロトタイプ */
|
||||
#define VSYSTEM 0x00004 /* vnode はカーネルが使用中 */
|
||||
#define VISTTY 0x00008 /* vnode は tty を表現 */
|
||||
#define VXLOCK 0x00100 /* vnode は下位の型の変更のためロック中 */
|
||||
#define VXWANT 0x00200 /* プロセスが vnode を待っています */
|
||||
#define VBWAIT 0x00400 /* 出力の完了を待っています */
|
||||
#define VOBJBUF 0x02000 /* VM オブジェクトにバッファを割当て */
|
||||
#define VAGE 0x08000 /* フリーリストの先頭に vnode を挿入 */
|
||||
#define VOLOCK 0x10000 /* オブジェクトを待つために vnode がロック */
|
||||
#define VOWANT 0x20000 /* プロセスが VOLOCK を待っています */
|
||||
#define VDOOMED 0x40000 /* この vnode は再利用中 */
|
||||
#define VFREE 0x80000 /* この vnode はフリーリスト上 */
|
||||
#define VTBFREE 0x100000 /* この vnode はフリーリスト行き */
|
||||
#define VONWORKLST 0x200000 /* syncer 作業リスト上 */
|
||||
#define VMOUNT 0x400000 /* マウント処理中 */
|
||||
|
||||
.Ed
|
||||
.Sh 解説
|
||||
vnode は
|
||||
.Ux
|
||||
でのファイル活動の中心です。
|
||||
vnode は
|
||||
.Vt "struct vnode"
|
||||
で記述されます。
|
||||
個々の活動中のファイル、
|
||||
個々の現在のディレクトリ、個々のマウントされたファイル、
|
||||
テキストファイル、およびルートのために割当てられた一意的な vnode があります。
|
||||
.Pp
|
||||
個々の vnode は 3 つの参照カウント、
|
||||
.Dv v_usecount ,
|
||||
.Dv v_holdcnt
|
||||
.Va v_usecount ,
|
||||
.Va v_holdcnt
|
||||
および
|
||||
.Dv v_writecount
|
||||
.Va v_writecount
|
||||
を持っています。
|
||||
最初のものはカーネル内でこの vnode を使用しているクライアントの数です。
|
||||
このカウントは
|
||||
|
@ -164,9 +70,9 @@ vnode
|
|||
.Xr vdrop 9
|
||||
によって管理されます。
|
||||
vnode の
|
||||
.Dv v_usecount
|
||||
.Va v_usecount
|
||||
および
|
||||
.Dv v_holdcnt
|
||||
.Va v_holdcnt
|
||||
の両方が 0 に達すると、それからその vnode はフリーリスト上に置かれ、
|
||||
ことによっては別のファイルシステムで、
|
||||
別のファイルのために再利用されるかもしれません。
|
||||
|
@ -187,7 +93,7 @@ vnode
|
|||
.Xr VFS_GET 9 ,
|
||||
.Xr VOP_LOOKUP 9
|
||||
など) は vnode の
|
||||
.Dv v_usecount
|
||||
.Va v_usecount
|
||||
を 1 ずつ増やします。
|
||||
呼び出し側が vnode の利用を完了したときには、この参照は
|
||||
.Xr vrele 9
|
||||
|
@ -197,16 +103,16 @@ vnode
|
|||
.Pp
|
||||
その他の共通に使用される vnode 構造体のメンバは、
|
||||
名前キャッシュでの一貫性を管理するために使用される
|
||||
.Dv v_id
|
||||
.Va v_id
|
||||
と、その vnode を所有しているファイルシステムを指す
|
||||
.Dv v_mount
|
||||
.Va v_mount
|
||||
と、その vnode が表現するオブジェクトの型を含む
|
||||
.Dv v_type
|
||||
.Va v_type
|
||||
と、その vnode のファイルシステム特有のデータを保存するために
|
||||
ファイルシステムによって使用される
|
||||
.Dv v_data
|
||||
.Va v_data
|
||||
があります。
|
||||
.Dv v_op
|
||||
.Va v_op
|
||||
フィールドは vnode の機能を実装するファイルシステム内の関数を呼び出すための
|
||||
.Dv VOP_*
|
||||
マクロによって使用されます。
|
||||
|
|
Loading…
Reference in a new issue