VOP_INACTIVE
, VOP_RECLAIM
—
reclaim file system resources for a vnode
#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);
The arguments are:
- vp
- The vnode being reclaimed.
VOP_INACTIVE
() is usually called when the
kernel is no longer using the vnode. However, there is no guarantee that it
will be called at all, for example if the last reference was dropped while
the vnode lock could not be upgraded to exclusive without sleeping. 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 on the last close of an ‘open but
deleted’ file.
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.
For both VOP_INACTIVE
() and
VOP_RECLAIM
(), the vp will be
exclusively locked on entry, and must be left exclusively locked on return.
This manual page was written by Doug Rabson.