Subject: Re: Coda in -current ...
To: Phil Nelson <philnelson@home.com>
From: Bill Studenmund <wrstuden@zembu.com>
List: tech-kern
Date: 06/25/2000 17:06:26
On Fri, 9 Jun 2000, Phil Nelson wrote:

> And when I got coda-current compiled and installed, I ran a coda client.
> The result was some vnode problems:
> 
>    a) quickly I got a panic with
>         vref used where vget required
> 
> 	backtrace included
> 	    vref(...) at vref+0x19
> 	    namei(...) at namei+0x157
> 	    sys___stat13(...) at sys___stat

Looking at namei, it looks like the problem is occurning where namei() is
vref'ing your cwd when looking up a relative path.

>    b) later I got a panic with
>         vrele: ref cnt
> 
> I'm assuming that they are the same error in that some place in coda,
> the code didn't do a vget where it should have.

Or that coda is hanging onto a vnode reference for which it hasn't done a
vref.

> I believe I saw some mention of changes to the vnode system between
> 1.4 and now, but I wasn't watching closely enough (and I don't know
> the coda module enough) to know how those changes should be delt
> with in coda.

I don't think there was much in the way of reference counting changes
between 1.4 and now. Locking, yes, but not reference counting.

From looking at a diff of source, the only thing I see is a lot of cvs log
info removed, "register" stripped out, genfs_fcntl() referenced, printf 
of offsets changed to long long, changes for PDIRUNLOCK (jsut clearing
or setting a flag as needed), struct lock moving to the vnode, some
CODA_VERBOSE definitions, and coda_done defined.

So you're either tickling a pre-existing bug, or it's that some other
subsystem changed.

Take care,

Bill