:man| Alphabetical   Categories   About us 
 
VOP_INACTIVE (9) | Kernel routines | Unix Manual Pages | :man

NAME

VOP_INACTIVE, VOP_RECLAIM - reclaim file system resources for a vnode

CONTENTS

Synopsis
Description
Locks
Pseudocode
See Also
Authors

SYNOPSIS


.In sys/param.h
.In 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

 
Created by Blin Media, 2008-2013