[patch, try 1] Re: Trouble with NFSd under 6.1-Stable, any ideas?

Dmitry Pryanishnikov dmitry at atlantis.dp.ua
Wed May 31 15:06:52 PDT 2006


On Thu, 25 May 2006, Konstantin Belousov wrote:
> 	KASSERT(!(debug_mpsafenet == 1 && mtx_owned(&Giant)),
> 		    ("nfssvc_nfsd(): debug.mpsafenet=1 && Giant"));
> from nfsserver/nfs_syscalls.c, line 570.
> As I understand the problem, kern/vfs_lookup.c:lookup() could
> aquire additional locks on Giant, indicating this by GIANTHELD
> flag in nd. All processing in nfsserver already goes with Giant held,
> so, I just dropped that excessive locks after return from lookup.
> System with patch applied survived smoke test (client did
> du on mounted dir, patch was generated from exported fs, etc.).
> nfsd eats no more than 25% of CPU (with INVARIANTS).
> Please, users who reported the problem and willing to help,
> try the patch (generated against STABLE) and give the feedback.

   Thank you very much. Your patch actually fixes "nfssvc_nfsd(): 
debug.mpsafenet=1 && Giant" panic during NFS mount of server's "/usr".
Oddly enough, NFS mount of server's "/" doesn't panic the server.
My kernel config contains "options QUOTA", however quotas are not enabled.
Please commit the fix, IMHO long-term breakage of such a basic functionality
(NFS server + quotas) in -STABLE branch isn't a Good Thing (TM).

Sincerely, Dmitry
Atlantis ISP, System Administrator
e-mail:  dmitry at atlantis.dp.ua
nic-hdl: LYNX-RIPE

More information about the freebsd-stable mailing list