cvs commit: src/sys/kern vfs_subr.c

Don Lewis truckman at
Sun Oct 5 13:17:28 PDT 2003

On  5 Oct, Jeff Roberson wrote:

> In vflush we do sleep on the vnode lock.  The flags are LK_EXCLUSIVE |
> LK_INTERLOCK.  We dont pass in LK_NOWAIT.

Ohhh ...

I always thought we wouldn't sleep unless we specified LK_RETRY.  The
fine man page isn't terribly helpful about when to use some of the

If we hold a reference to an active vnode, can it ever be type VT_NON?
And if it is of type VT_NON, could it ever morph into some other type
while we hold the reference?  If not, why would we want to specify the
LK_RETRY flag for such a vnode?  Does this mean that way too many users
of vn_lock() are specifying the LK_RETRY flag?

More information about the cvs-src mailing list