VGONE(9) MidnightBSD Kernel Developer’s Manual VGONE(9)


vgone, vgonel — prepare a vnode for reuse


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


vgone(struct vnode *vp);


vgonel(struct vnode *vp, struct thread *td);


vgone() and vgonel() prepare a vnode for reuse by another file system. The preparation includes the cleaning of all file system specific data and the removal from its mount point vnode list.

If the vnode has a v_usecount of zero, and its VI_DOOMED flag is not set, it is moved to the head of the free list as in most cases the vnode is about to be reused, or its file system being unmounted.

The difference between vgone() and vgonel() is that vgone() locks the vnode interlock and then calls vgonel() while vgonel() expects the interlock to already be locked.


This manual page was written by Chad David 〈〉.

MidnightBSD 0.3 November 21, 2001 MidnightBSD 0.3