Subject: Re: LFS not quite stable
To: None <perseant@netbsd.org>
From: Charles M. Hannum <root@ihack.net>
List: current-users
Date: 04/04/1999 08:01:27
I looked into this a bit more.
When the system is `hung', what I see is that one process is hung in
ffs_vget() -> getnewvnode() -> vgonel() -> vclean() -> ufs_lock(),
with ufs_hashlock locked. This causes everything else to back up on
ufs_hashlock.
The vnode it's trying to clean is (e.g.):
type VREG, usecount 0, writecount 0, refcount 0, flags (VXLOCK)
tag VT_UFS, ino 28717, on dev 4, 5 lock type lfsinode: EXCL (count 1) by pid 33
Process 33 is lfs_cleanerd. DDB's ps/w shows:
33 lfs_cleanerd netbsd 54 0.3 3.2 segment 0xf07e9040
which I believe indicates that it's idle. It seems therefore like
it's forgetting to unlock a vnode in some case.