Manpage of 'VOP_RECLAIM' on UHLU - BSD System Documentation,
Programming Reference, Manual Pages and Source Code
All manual pages         All RFC pages
Common page
for VOP_RECLAIM
Other pages
for VOP_RECLAIM
More pages
containing VOP_RECLAIM

Section 9 manual page or howto for 'VOP_RECLAIM'  

VOP_INACTIVE(9)        FreeBSD Kernel Developer's Manual       VOP_INACTIVE(9)

NAME
     VOP_INACTIVE, VOP_RECLAIM -- reclaim file system resources for a vnode

SYNOPSIS
     #include <sys/param.h>
     #include <sys/vnode.h>

     int
     VOP_INACTIVE(struct vnode *vp, struct thread *td);

     int
     VOP_RECLAIM(struct vnode *vp, struct thread *td);

DESCRIPTION
     The arguments are:

     vp  The vnode being reclaimed.

     VOP_INACTIVE() is called when the kernel is no longer using the vnode.
     This may be because the reference count reaches zero or it may be that
     the file system is being forcibly unmounted while there are open files.
     It can be used to reclaim space for `open but deleted' files.

     VOP_RECLAIM() is called when a vnode is being reused for a different file
     system.  Any file system specific resources associated with the vnode
     should be freed.

LOCKS
     For VOP_INACTIVE, the vp will be locked on entry.	Your VOP_INACTIVE code
     must unlock the vp prior to returning.

     For VOP_RECLAIM, the vp will not be locked on entry and should be left
     unlocked on return.

PSEUDOCODE
     int
     vop_inactive(struct vnode *vp, struct thread *td)
     {

	 if (link count of vp == 0) {
	     /*
	      * Reclaim space in file system for vp.
	      */

	     ...;

	 }
	 VOP_UNLOCK(vp, 0, td);

	 return 0;
     }

     int
     vop_reclaim(struct vnode *vp, struct thread *td)
     {

	 /*
	  * Clean out the name cache.
	  */

	 cache_purge(vp);

	 /*
	  * Free file system related data.
	  */

	 ...;

	 return 0;
     }

SEE ALSO
     vnode(9)

AUTHORS
     This manual page was written by Doug Rabson.

FreeBSD 7.2			 July 24, 1996			   FreeBSD 7.2

NAME - SYNOPSIS - DESCRIPTION - LOCKS - PSEUDOCODE - SEE ALSO - AUTHORS -  
All manual pages         All RFC pages
Common page
for VOP_RECLAIM
Other pages
for VOP_RECLAIM
More pages
containing VOP_RECLAIM
A random manual page         All manual pages        All RFC pages