Get a vnode from the free list and increment its reference count.
The vnode to remove from the free list.
If non-zero, the vnode will also be locked.
When not in use, vnodes are kept on a free list.
The vnodes still
reference valid files but may be reused to refer to a new file at any
Often, these vnodes are also held in caches in the system, such
as the name cache.
When a vnode which is on the free list is used again, for instance if
the vnode was found in the name cache as a result of a call to
then the new user must call
to increment the reference count and remove it from the free list.