svn commit: r184851 - user/dfr/gssapi/6/sys/nfsserver
Doug Rabson
dfr at rabson.org
Tue Nov 11 12:37:44 PST 2008
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.
More information about the svn-src-user
mailing list