newnfsd's stuck on "ufs"

Stephan Uphoff ups at tree.com
Tue Mar 9 13:42:40 PST 2004


Hi,

This sound familiar.

Somewhere your NFSv4 server forgets to unlock a vnode.
Since ufs uses a recursive lock - this does not block the thread
forgetting the unlock.

I solved similar problems (netbsd, home made lock manager and file system) 
by adding "No vnode lock held" assertions to the nfs server loop.

Let me know if I can help - I am really interested in seeing NFSv4
in FreeBSD.

	Stephan

> I'm working away at porting my NFSv4 server to FreeBSD5.2. It goes along
> ok for a while, but when doing several ops concurrently, most of the nfsd
> threads end up stuck sleeping on "ufs" as shown by the attached "ps axl".
> (The amusing part is that, once all but one thread is stuck, the last
>  thread works fine. In other words, the "fix" is to only run one newnfsd:-)
> 
> Anybody happen to know off the top of head, what I've screwed up?
> 
> Thanks for any hints, rick
> --- ps axl of newnfsd ---
>     0   523   522   0   4  0  1192  736 nfsd   I     ??    0:05.34 newnfsd: ser
>     0   524   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   525   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   526   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   527   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   528   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   529   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   530   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   531   522   0  -4  0  1192  736 ufs    D     ??    0:00.02 newnfsd: ser
>     0   532   522   0   4  0  1192  736 nfsd   I     ??    0:00.01 newnfsd: ser
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
> 




More information about the freebsd-fs mailing list