diff options
Diffstat (limited to 'documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9')
-rw-r--r-- | documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9 | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9 b/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9 new file mode 100644 index 0000000000..8a403ac67b --- /dev/null +++ b/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9 @@ -0,0 +1,118 @@ +.\" -*- nroff -*- +.\" +.\" Copyright (c) 2000 Boris Popov +.\" +.\" 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_GETVOBJECT.9,v 1.6 2002/12/12 17:25:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd September 10, 2000 +.Os +.Dt VOP_CREATEVOBJECT 9 +.Sh 名称 +.Nm VOP_CREATEVOBJECT , +.Nm VOP_DESTROYVOBJECT , +.Nm VOP_GETVOBJECT +.Nd VM オブジェクトの相互作用 +.Sh 書式 +.In sys/param.h +.In sys/vnode.h +.Ft int +.Fn VOP_CREATEVOBJECT "struct vnode *vp" "struct ucred *cred" "struct thread *td" +.Ft int +.Fn VOP_DESTROYVOBJECT "struct vnode *vp" +.Ft int +.Fn VOP_GETVOBJECT "struct vnode *vp" "struct vm_object **objpp" +.Sh 解説 +これらの呼び出しは、VM オブジェクトと特有の vnode の連係を制御するために +使用されます。 +.Pp +これらの関数で指定する引数は以下の通りです。 +.Bl -tag -width objpp +.It Fa vp +そのファイルの vnode です。 +.It Fa objpp +返される VM オブジェクト、または呼び出し側がその VM オブジェクトの +存在のテストをする場合には +.Dv NULL +です。 +.El +.Pp +与えられた +.Xr vnode 9 +のために VM オブジェクトを作成する必要がある時には、 +.Xr VFS 9 +は +.Fn VOP_CREATEVOBJECT +を実行します。 +ファイルシステムのコードはこの呼び出しを下層のファイルシステムに +渡すことができます。 +この VOP は何度も呼び出されることが可能で、ファイルシステムのコードは +追加の全ての呼び出しを無視し、0 を返すコードで終了するべきです。 +.Pp +.Xr vnode 9 +が再利用された時には、 +.Fn VOP_DESTROYVOBJECT +が呼び出されます。 +.Pp +VM オブジェクトを取得するために全てのカーネルのコードで、 +.Fn VOP_GETVOBJECT +が使用されるべきです。 +.\" XXX 次の文は何を伝えようとしているのだろう? +返された VM オブジェクトは、重ねられたマウントの場合には +異なったファイルシステムに属するかもしれません。 +.Pp +.Xr VFS 9 +は VM オブジェクトの作成および破壊の標準の操作を実行する、 +3 つの関数を持っています。 +これらの関数は +.Fn vop_stdcreatevobject , +.Fn vop_stddestroyvobject +および +.Fn vop_stdgetvobject +です。 +.Pp +.Em 注意 : +.Xr vnode 9 +は入る時にロックされているべきで、終了時までロックされ続けていなければ +なりません。 +.Sh 戻り値 +.Fn VOP_CREATEVOBJECT , +.Fn VOP_DESTROYVOBJECT +および +.Fn VOP_GETVOBJECT +関数は成功時には 0 を返し、失敗時には 0 ではない値を返します。 +成功時には 0 が返され、そうでなければエラーが返されます。 +.Sh 使用例 +.\" なぜここにあるコードは、このマニュアルページに説明されていない関数を +.\" 使用していないの? +デフォルトでは、ファイルシステムは +.Fn vop_std* +関数に VM オブジェクトの取り扱いを委ねます。 +.Sh 関連項目 +.Xr vnode 9 , +.Xr VOP_GETPAGES 9 , +.Xr VOP_PUTPAGES 9 +.Sh 作者 +このマニュアルページは +.An Boris Popov +が書きました。 |