diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2015-12-14 21:21:43 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2015-12-14 21:21:43 +0000 |
commit | ac5609a3052942c9f4705d504f345f43b056668e (patch) | |
tree | 0468732e2f524481c1f7dbe83b520879f840f410 /sys/nfs | |
parent | a92d8ba124d2f112bd0003a8e3a563416d25b31d (diff) | |
download | FreeBSD-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.h | 1 |
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 { |