̾??
VOP_CREATEVOBJECT
,
VOP_DESTROYVOBJECT
,
VOP_GETVOBJECT
— VM
???֥??????Ȥ????ߺ???
<sys/param.h>
<sys/vnode.h>
int
VOP_CREATEVOBJECT
(struct
vnode *vp, struct ucred *cred,
struct thread *td) int
VOP_DESTROYVOBJECT
(struct vnode
*vp) int
VOP_GETVOBJECT
(struct vnode
*vp, struct vm_object **objpp)
???????θƤӽФ??ϡ?VM
???֥??????Ȥ???ͭ?? vnode
??Ϣ???????椹?뤿???? ???Ѥ????ޤ???
???????δؿ??ǻ??ꤹ???????ϰʲ????̤??Ǥ???
- vp
- ???Υե??????? vnode ?Ǥ???
- objpp
- ?֤????? VM
???֥??????ȡ??ޤ??ϸƤӽФ?¦??????
VM ???֥??????Ȥ?
¸?ߤΥƥ??Ȥ??????ˤ?
NULL
?Ǥ???
Ϳ?????줿
vnode(9)
?Τ????? VM
???֥??????Ȥ?????????ɬ?פ????????ˤϡ?
VFS(9) ??
VOP_CREATEVOBJECT
()
???¹Ԥ??ޤ???
?ե????륷???ƥ??Υ????ɤϤ??θƤӽФ??????ؤΥե????륷???ƥ???
?Ϥ????Ȥ??Ǥ??ޤ??? ???? VOP
?ϲ??٤??ƤӽФ????뤳?Ȥ???ǽ?ǡ??ե????륷???ƥ??Υ????ɤ?
?ɲä????ƤθƤӽФ???̵?뤷??0
???֤??????ɤǽ?λ?????٤??Ǥ???
vnode(9)
???????Ѥ??줿???ˤϡ?
VOP_DESTROYVOBJECT
()
???ƤӽФ????ޤ???
VM
???֥??????Ȥ????????뤿???????ƤΥ????ͥ??Υ????ɤǡ?
VOP_GETVOBJECT
()
?????Ѥ??????٤??Ǥ??? ?֤??줿 VM
???֥??????Ȥϡ??Ťͤ??줿?ޥ????Ȥξ????ˤ?
?ۤʤä??ե????륷???ƥ???°???뤫?⤷???ޤ?????
VFS(9)
?? VM
???֥??????Ȥκ??????????˲???ɸ???????????¹Ԥ??롢
3 ?Ĥδؿ??????äƤ??ޤ???
???????δؿ???
vop_stdcreatevobject
(),
vop_stddestroyvobject
()
??????
vop_stdgetvobject
()
?Ǥ???
????:
vnode(9)
?????????˥??å??????Ƥ????٤??ǡ???λ???ޤǥ??å?????³???Ƥ??ʤ?????
?ʤ??ޤ?????
VOP_CREATEVOBJECT
(),
VOP_DESTROYVOBJECT
() ??????
VOP_GETVOBJECT
() ?ؿ??????????ˤ? 0
???֤??????Ի??ˤ? 0
?ǤϤʤ??ͤ??֤??ޤ??? ???????ˤ?
0
???֤??졢?????Ǥʤ????Х??顼???֤????ޤ???
?ǥե????ȤǤϡ??ե????륷???ƥ???
vop_std*
()
?ؿ??? VM
???֥??????Ȥμ??갷?????Ѥͤޤ???
???Υޥ˥奢???ڡ?????
Boris Popov ???ޤ?????