add: sUnusedVnodes--;
context: dec_vnode_ref_count(struct vnode *vnode, bool reenter){	int32 oldRefCount;	mutex_lock(&sVnodeMutex);	if (vnode->busy)		panic("dec_vnode_ref_count called on vnode that was busy! vnode %p\n", vnode);	oldRefCount = atomic_add(&vnode->ref_count, -1);	PRINT(("dec_vnode_ref_count: vnode %p, ref now %ld\n", vnode, vnode->ref_count));	if (oldRefCount == 1) {		bool freeNode = false;		// Just insert the vnode into an unused list if we don't need		// to delete it		if (vnode->delete_me) {			hash_remove(sVnodeTable, vnode);			vnode->busy = true;			freeNode = true;		} else {			list_add_item(&sUnusedVnodeList, vnode);			if (++sUnusedVnodes > kMaxUnusedVnodes) {				// there are too many unused vnodes so we free the oldest one				// ToDo: evaluate this mechanism				vnode = (struct vnode *)list_remove_head_item(&sUnusedVnodeList);				hash_remove(sVnodeTable, vnode);				vnode->busy = true;				freeNode = true;			}		}		mutex_unlock(&sVnodeMutex);		if (freeNode)			free_vnode(vnode, reenter);	} else		mutex_unlock(&sVnodeMutex);	return B_OK;}