freebsd-nq/sys/fs/nfsserver
Rick Macklem 84be7e0952 Add kernel support to the NFS server for the "-manage-gids"
option that will be added to the nfsuserd daemon in a future
commit. It modifies the cache used by NFSv4 for name<-->id
translation (both username/uid and group/gid) to support this.
When "-manage-gids" is set, the server looks up each uid
for the RPC and uses the list of groups cached in the server
instead of the list of groups provided in the RPC request.
The cached group list is acquired for the cache by the nfsuserd
daemon via getgrouplist(3).
This avoids the 16 groups limit for the list in the RPC request.
Since the cache is now used for every RPC when "-manage-gids"
is enabled, the code also modifies the cache to use a separate
mutex for each hash list instead of a single global mutex.

Suggested by:	jpaetzel
Tested by:	jpaetzel
MFC after:	2 weeks
2015-11-30 21:54:27 +00:00
..
nfs_fha_new.c
nfs_fha_new.h
nfs_nfsdcache.c Merge the NFSv4.1 server code in projects/nfsv4.1-server over 2014-07-01 20:47:16 +00:00
nfs_nfsdkrpc.c When the nfsd threads are terminated, the NFSv4 server state 2015-11-21 23:55:46 +00:00
nfs_nfsdport.c Add kernel support to the NFS server for the "-manage-gids" 2015-11-30 21:54:27 +00:00
nfs_nfsdserv.c Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00
nfs_nfsdsocket.c Make the NFS server use shared vnode locks for a few cases 2015-05-29 20:22:53 +00:00
nfs_nfsdstate.c When the nfsd threads are terminated, the NFSv4 server state 2015-11-21 23:55:46 +00:00
nfs_nfsdsubs.c Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00