From ac5609a3052942c9f4705d504f345f43b056668e Mon Sep 17 00:00:00 2001 From: rmacklem Date: Mon, 14 Dec 2015 21:21:43 +0000 Subject: MFC: r291527 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. --- sys/nfs/nfssvc.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sys/nfs') diff --git a/sys/nfs/nfssvc.h b/sys/nfs/nfssvc.h index 65b1681..a194ed5 100644 --- a/sys/nfs/nfssvc.h +++ b/sys/nfs/nfssvc.h @@ -69,6 +69,7 @@ #define NFSSVC_SUSPENDNFSD 0x04000000 #define NFSSVC_RESUMENFSD 0x08000000 #define NFSSVC_DUMPMNTOPTS 0x10000000 +#define NFSSVC_NEWSTRUCT 0x20000000 /* Argument structure for NFSSVC_DUMPMNTOPTS. */ struct nfscl_dumpmntopts { -- cgit v1.1