summaryrefslogtreecommitdiffstats
path: root/sys/nfs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2015-12-14 21:21:43 +0000
committerrmacklem <rmacklem@FreeBSD.org>2015-12-14 21:21:43 +0000
commitac5609a3052942c9f4705d504f345f43b056668e (patch)
tree0468732e2f524481c1f7dbe83b520879f840f410 /sys/nfs
parenta92d8ba124d2f112bd0003a8e3a563416d25b31d (diff)
downloadFreeBSD-src-ac5609a3052942c9f4705d504f345f43b056668e.zip
FreeBSD-src-ac5609a3052942c9f4705d504f345f43b056668e.tar.gz
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.
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 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 {
OpenPOWER on IntegriCloud