diff options
Diffstat (limited to 'documentation/manual-pages/ja/man9/VOP_INACTIVE.9')
-rw-r--r-- | documentation/manual-pages/ja/man9/VOP_INACTIVE.9 | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man9/VOP_INACTIVE.9 b/documentation/manual-pages/ja/man9/VOP_INACTIVE.9 new file mode 100644 index 0000000000..bdf20db783 --- /dev/null +++ b/documentation/manual-pages/ja/man9/VOP_INACTIVE.9 @@ -0,0 +1,113 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 1996 Doug Rabson +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" %FreeBSD: src/share/man/man9/VOP_INACTIVE.9,v 1.14 2003/10/23 03:07:56 hmp Exp % +.\" +.\" $FreeBSD$ +.Dd July 24, 1996 +.Os +.Dt VOP_INACTIVE 9 +.Sh 名称 +.Nm VOP_INACTIVE , +.Nm VOP_RECLAIM +.Nd vnode のためのファイルシステム資源の回収 +.Sh 書式 +.In sys/param.h +.In sys/vnode.h +.Ft int +.Fn VOP_INACTIVE "struct vnode *vp" "struct thread *td" +.Ft int +.Fn VOP_RECLAIM "struct vnode *vp" "struct thread *td" +.Sh 解説 +引数は以下の通りです。 +.Bl -tag -width 2n +.It Fa vp +回収されている vnode。 +.El +.Pp +.Fn VOP_INACTIVE +は、カーネルがもはやその vnode を使用しなくなった時に呼び出されます。 +これは、参照カウントが 0 になった時、 +またはオープンされているファイルがあるファイルシステムが +強制的にアンマウントされた時に起こります。 +.Sq オープンされているが削除された +ファイルのための領域を回収するために、 +使用可能です。 +.Pp +.Fn VOP_RECLAIM +は、異なるファイルシステムのために vnode が再利用される時に呼び出されます。 +vnode に関連しているあらゆるファイルシステム固有の資源は、解放されるべきです。 +.Sh ロック +VOP_INACTIVE では、入る時に +.Fa vp +がロックされます。 +VOP_INACTIVE コードは、戻る前に +.Fa vp +をアンロックしなければなりません。 +.Pp +VOP_RECLAIM では、入る時に +.Fa vp +はロックされず、戻り時もロックされないままでいるべきです。 +.Sh 疑似コード +.Bd -literal +int +vop_inactive(struct vnode *vp, struct thread *td) +{ + if (link count of vp == 0) { + /* + * vp のためのファイルシステム内の領域を回収します。 + */ + ...; + } + VOP_UNLOCK(vp, 0, td); + + return 0; +} + +int +vop_reclaim(struct vnode *vp, struct thread *td) +{ + /* + * 名前キャッシュを一掃します。 + */ + cache_purge(vp); + + /* + * ファイルシステムに関連したデータを解放します。 + */ + ...; + + return 0; +} +.Ed +.Sh 関連項目 +.Xr vnode 9 +.Sh 作者 +このマニュアルページは +.An Doug Rabson +が書きました。 |