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.