Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VOP_CREATEVOBJECT(9)	 BSD Kernel Developer's	Manual	  VOP_CREATEVOBJECT(9)

NAME
     VOP_CREATEVOBJECT,	VOP_DESTROYVOBJECT, VOP_GETVOBJECT -- VM object	inter-
     action

SYNOPSIS
     #include <sys/param.h>
     #include <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);

DESCRIPTION
     These calls are used to control the association of	a VM object with a
     particular	vnode.

     The arguments specific to these functions are:

     vp	    The	vnode of the file.

     objpp  The	VM object being	returned, or NULL if the caller	wants to test
	    for	the existence of the VM	object).

     VFS(9) invokes VOP_CREATEVOBJECT()	when it	needs to create	a VM object
     for the given vnode(9).  File system code may pass	this call down to the
     underlying	file system.  This VOP can be called multiple times, and file
     system code should	ignore any additional calls, exiting with a zero re-
     turn code.

     VOP_DESTROYVOBJECT() is called when a vnode(9) is recycled.

     VOP_GETVOBJECT() should be	used by	all kernel code	to get a VM object.
     The returned VM object may	belong to a different file system in the case
     of	stacked	mounts.

     VFS(9) has	three functions	which perform standard operations by creating
     and destroying VM objects.	 These functions are: vop_stdcreatevobject(),
     vop_stddestroyvobject() and vop_stdgetvobject().

     Note: a vnode(9) should be	locked on entry	and must be left locked	on
     exit.

RETURN VALUES
     The VOP_CREATEVOBJECT(), VOP_DESTROYVOBJECT() and VOP_GETVOBJECT()	func-
     tions return zero on success, or a	non-zero value on failure.  Zero is
     returned on success, otherwise an error is	returned.

EXAMPLES
     By	default, file systems leave VM object handling to the vop_std*() func-
     tions.

SEE ALSO
     vnode(9), VOP_GETPAGES(9),	VOP_PUTPAGES(9)

AUTHORS
     This manual page was written by Boris Popov.

BSD			      September	10, 2000			   BSD

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=VOP_GETVOBJECT&sektion=9&manpath=FreeBSD+9.0-RELEASE>

home | help