[patch, try 1] Re: Trouble with NFSd under 6.1-Stable,
kris at obsecurity.org
Wed May 31 20:16:57 PDT 2006
On Thu, Jun 01, 2006 at 01:06:44AM +0300, Dmitry Pryanishnikov wrote:
> 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).
FYI, if you're not using quotas then you should remove the option from
your kernel config to avoid trashing your performance.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060601/2b4eba8b/attachment.pgp
More information about the freebsd-stable