Subject: LFS stability: kern/36608
To: None <current-users@netbsd.org>
From: Sverre Froyen <sverre@viewmark.com>
List: current-users
Date: 09/13/2007 10:55:12
Hi,

With the recent discussions on LFS stability, I'd like to point out PR=20
kern/36608 -- which I still can trigger more or less at will on today's=20
current.

=46rom my (very incomplete) understanding of the LFS code, it looks like=20
lfs_vnops.c locks a vnode (simple lock) and then calls ltsleep on an lfs=20
struct.   Then, before ltsleep returns, something else (exactly what seems =
to=20
vary) comes along and locks the same vnode.  This looks to me suspiciously=
=20
like a locking bug.

I can "fix" the bug by (1) removing the call to lock the vnode or by (2)=20
turning off LOCKDEBUG.  I suspect, however, that either solution simply mas=
ks=20
the problem.  Incidentally, implementing (1) reverts the code to what it=20
looked like before mid April.

Sverre