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