doc/ja_JP.eucJP/man/man9/VOP_GETVOBJECT.9
Kazuo Horikawa 19ac9aeb76 Initial Japanese translation
Submitted by:	Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp>
2003-08-17 19:22:33 +00:00

118 lines
3.6 KiB
Groff

.\" -*- 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
が書きました。