summaryrefslogtreecommitdiff
path: root/sys/nfs
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2015-11-30 21:54:27 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2015-11-30 21:54:27 +0000
commit84be7e09523ebead5e8a2dd8a3ad3c6c3b9346f4 (patch)
tree3413b8998a4ed8104618ba268341afb5a4ed9b07 /sys/nfs
parentfe5f4c93fe0f51961d6ebfc78fc06f2ec7e8f633 (diff)
downloadsrc-test2-84be7e09523ebead5e8a2dd8a3ad3c6c3b9346f4.tar.gz
src-test2-84be7e09523ebead5e8a2dd8a3ad3c6c3b9346f4.zip
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
Notes
Notes: svn path=/head/; revision=291527
Diffstat (limited to 'sys/nfs')
-rw-r--r--sys/nfs/nfssvc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/nfs/nfssvc.h b/sys/nfs/nfssvc.h
index 65b1681b58e6..a194ed51aea8 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 {