From owner-svn-src-user@FreeBSD.ORG Tue Nov 11 20:37:44 2008 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC9DA1065670; Tue, 11 Nov 2008 20:37:44 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from itchy.rabson.org (unknown [IPv6:2002:50b1:e8f2:1::143]) by mx1.freebsd.org (Postfix) with ESMTP id 8BC928FC1E; Tue, 11 Nov 2008 20:37:44 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from [IPv6:2001:470:909f:1:21b:63ff:feb8:5abc] (unknown [IPv6:2001:470:909f:1:21b:63ff:feb8:5abc]) by itchy.rabson.org (Postfix) with ESMTP id BD05C3F9F; Tue, 11 Nov 2008 20:37:00 +0000 (GMT) Message-Id: <1D315E02-5BE7-4C34-9A51-668920C10D91@rabson.org> From: Doug Rabson To: Robert Watson In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Date: Tue, 11 Nov 2008 20:37:42 +0000 References: <200811111551.mABFpjNd005723@svn.freebsd.org> X-Mailer: Apple Mail (2.929.2) Cc: Doug Rabson , src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r184851 - user/dfr/gssapi/6/sys/nfsserver X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2008 20:37:44 -0000 On 11 Nov 2008, at 19:41, Robert Watson wrote: > On Tue, 11 Nov 2008, Doug Rabson wrote: > >> Modified: user/dfr/gssapi/6/sys/nfsserver/nfs_srvkrpc.c >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- user/dfr/gssapi/6/sys/nfsserver/nfs_srvkrpc.c Tue Nov 11 >> 14:58:07 2008 (r184850) >> +++ user/dfr/gssapi/6/sys/nfsserver/nfs_srvkrpc.c Tue Nov 11 >> 15:51:45 2008 (r184851) >> @@ -227,10 +227,14 @@ nfs_rephead(int siz, struct nfsrv_descri >> if (err == EBADRPC) >> return (NULL); >> >> + /* XXXRW: not 100% clear the lock is needed here. */ >> + NFSD_LOCK_ASSERT(); >> + > > Perhaps this should now be an XXXDFR? :-) Or alternatively, if you > think the locking really is needed, we should convert my old and > questionable comment to a more firm one. The locking model in 6.x is somewhat over-complex - it holds the NFSD_LOCK while executing service procs but doesn't really need to. This causes lots of unlock/relock code where it calls things that might sleep. Its all much simpler in 7.x and current where the service procs run without holding any locks.