vrecycle() is typically called from a VFS's inactive function, which
commitebe71df24e057f91ddfc29f5a796433a40edf5e0
authordillon <dillon>
Tue, 31 Jul 2007 01:14:50 +0000 (31 01:14 +0000)
committerdillon <dillon>
Tue, 31 Jul 2007 01:14:50 +0000 (31 01:14 +0000)
treedb7604a0ecb7c5567a96863899c617e51a478be9
parentf6dbed0271ec04f6cf0a496e7a0f5db1669a35ec
vrecycle() is typically called from a VFS's inactive function, which
in turn is called when the sysref reference count transitions from
1->0xc0000000.  Fix a test that was causing the vnode to not be immediately
recycled.

msdosfs depended on the recyclement behavior due to rename-over issues -
msdosfs is not allowed to reuse an 'inode' (which is basically the position
of a directory entry in a directory) until the underlying file is entirely
reclaimed.

This also effected ufs somewhat by preventing inodes from being reused as
quickly as they could be, but ufs allocates inodes dynamically and masked
the problem.

Reported-by: walt <wa1ter@myrealbox.com>
sys/kern/vfs_subr.c