Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Dec 2001 17:54:29 +0000
From:      Josh Paetzel <friar_josh@webwarrior.net>
To:        Christopher Farley <chris@northernbrewer.com>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: VXLOCK interlock avoided
Message-ID:  <20011201175429.C493@twincat.vladsempire.net>
In-Reply-To: <20011201155117.A61451@northernbrewer.com>; from chris@northernbrewer.com on Sat, Dec 01, 2001 at 03:51:21PM -0600
References:  <20011201155117.A61451@northernbrewer.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 01, 2001 at 03:51:21PM -0600, Christopher Farley wrote:
> I got a couple of weird messages the other day that I've never seen
> before:
> 
> VXLOCK interlock avoided
> VXLOCK interlock avoided in vn_lock
> 
> What are these?
> 
> -- 
> Christopher Farley
> www.northernbrewer.com

Well, I'm no kernel hacker, but I know (or at least think I know) what 
these are about.  What's happening is a vnode is being cleaned so that 
it can be reused.  While this is happening another process tries to 
use it and sends the first error.  The second error is sent because 
the process that grabbed the vnode is the same process that is 
releasing it.  


 /*
* If the vnode is in the process of being cleaned out for
* another use, we wait for the cleaning to finish and then
* return failure. Cleaning is determined by checking that
* the VXLOCK flag is set.
*/
if ((flags & LK_INTERLOCK) == 0)
mtx_lock(&vp->v_interlock);
        if (vp->v_flag & VXLOCK) {
if (vp->v_vxproc == curproc) {
printf("VXLOCK interlock avoided\n");
                } else {
vp->v_flag |= VXWANT;
msleep((caddr_t)vp, &vp->v_interlock, PINOD | PDROP,
                            "vget", 0);
                        return (ENOENT);
                }
}



Josh


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011201175429.C493>