Add the kernel build glue for the experimental NFS subsystem that

includes support for NFSv4. The subsystem can optionally be linked
into the kernel using the two options:
  NFSCL - the client
  NFSD - the server
It is also built as three modules:
  nfscl - the client
  nfsd - the server
  nfscommon - functions shared by the client and server

Approved by:	kib (mentor)
This commit is contained in:
Rick Macklem 2009-05-28 19:45:11 +00:00
parent 3933ec4d15
commit bcbdacdd37
7 changed files with 128 additions and 34 deletions

View File

@ -964,6 +964,8 @@ options HPFS #OS/2 File system
options MSDOSFS #MS DOS File System (FAT, FAT32)
options NFSSERVER #Network File System server
options NFSLOCKD #Network Lock Manager
options NFSCL #experimental NFS client with NFSv4
options NFSD #experimental NFS server with NFSv4
# NT File System. Read-mostly, see mount_ntfs(8) for details.
# For a full read-write NTFS support consider sysutils/fusefs-ntfs

View File

@ -1672,6 +1672,29 @@ fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv
fs/msdosfs/msdosfs_lookup.c optional msdosfs
fs/msdosfs/msdosfs_vfsops.c optional msdosfs
fs/msdosfs/msdosfs_vnops.c optional msdosfs
fs/nfs/nfs_commonkrpc.c optional nfscl | nfsd
fs/nfs/nfs_commonsubs.c optional nfscl | nfsd
fs/nfs/nfs_commonport.c optional nfscl | nfsd
fs/nfs/nfs_commonacl.c optional nfscl | nfsd
fs/nfsclient/nfs_clcomsubs.c optional nfscl
fs/nfsclient/nfs_clsubs.c optional nfscl
fs/nfsclient/nfs_clstate.c optional nfscl
fs/nfsclient/nfs_clkrpc.c optional nfscl
fs/nfsclient/nfs_clrpcops.c optional nfscl
fs/nfsclient/nfs_clvnops.c optional nfscl
fs/nfsclient/nfs_clnode.c optional nfscl
fs/nfsclient/nfs_clvfsops.c optional nfscl
fs/nfsclient/nfs_cllock.c optional nfscl
fs/nfsclient/nfs_clport.c optional nfscl
fs/nfsclient/nfs_clbio.c optional nfscl
fs/nfsclient/nfs_clnfsiod.c optional nfscl
fs/nfsserver/nfs_nfsdsocket.c optional nfsd
fs/nfsserver/nfs_nfsdsubs.c optional nfsd
fs/nfsserver/nfs_nfsdstate.c optional nfsd
fs/nfsserver/nfs_nfsdkrpc.c optional nfsd
fs/nfsserver/nfs_nfsdserv.c optional nfsd
fs/nfsserver/nfs_nfsdport.c optional nfsd
fs/nfsserver/nfs_nfsdcache.c optional nfsd
fs/ntfs/ntfs_compr.c optional ntfs
fs/ntfs/ntfs_iconv.c optional ntfs_iconv
fs/ntfs/ntfs_ihash.c optional ntfs
@ -2420,14 +2443,14 @@ nfsserver/nfs_srvsock.c optional nfsserver
nfsserver/nfs_srvcache.c optional nfsserver
nfsserver/nfs_srvsubs.c optional nfsserver
nfsserver/nfs_syscalls.c optional nfsserver
nfs/nfs_nfssvc.c optional nfsserver
nlm/nlm_advlock.c optional nfslockd nfsclient
nlm/nlm_prot_clnt.c optional nfslockd
nlm/nlm_prot_impl.c optional nfslockd
nlm/nlm_prot_server.c optional nfslockd
nlm/nlm_prot_svc.c optional nfslockd
nlm/nlm_prot_xdr.c optional nfslockd
nlm/sm_inter_xdr.c optional nfslockd
nfs/nfs_nfssvc.c optional nfsserver | nfscl | nfsd
nlm/nlm_advlock.c optional nfslockd nfsclient | nfsd nfsclient
nlm/nlm_prot_clnt.c optional nfslockd | nfsd
nlm/nlm_prot_impl.c optional nfslockd | nfsd
nlm/nlm_prot_server.c optional nfslockd | nfsd
nlm/nlm_prot_svc.c optional nfslockd | nfsd
nlm/nlm_prot_xdr.c optional nfslockd | nfsd
nlm/sm_inter_xdr.c optional nfslockd | nfsd
# crypto support
opencrypto/cast.c optional crypto | ipsec
opencrypto/criov.c optional crypto
@ -2447,32 +2470,32 @@ pci/intpm.c optional intpm pci
pci/ncr.c optional ncr pci
pci/nfsmb.c optional nfsmb pci
pci/viapm.c optional viapm pci
rpc/auth_none.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/auth_unix.c optional krpc | nfslockd | nfsclient
rpc/authunix_prot.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/clnt_dg.c optional krpc | nfslockd | nfsclient
rpc/clnt_rc.c optional krpc | nfslockd | nfsclient
rpc/clnt_vc.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/getnetconfig.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/inet_ntop.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/inet_pton.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/replay.c optional krpc | nfslockd | nfsserver
rpc/rpc_callmsg.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/rpc_generic.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/rpc_prot.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/rpcb_clnt.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/rpcb_prot.c optional krpc | nfslockd | nfsclient | nfsserver
rpc/svc.c optional krpc | nfslockd | nfsserver
rpc/svc_auth.c optional krpc | nfslockd | nfsserver
rpc/svc_auth_unix.c optional krpc | nfslockd | nfsserver
rpc/svc_dg.c optional krpc | nfslockd | nfsserver
rpc/svc_generic.c optional krpc | nfslockd | nfsserver
rpc/svc_vc.c optional krpc | nfslockd | nfsserver
rpc/rpcsec_gss/rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi
rpc/rpcsec_gss/rpcsec_gss_conf.c optional krpc kgssapi | nfslockd kgssapi
rpc/rpcsec_gss/rpcsec_gss_misc.c optional krpc kgssapi | nfslockd kgssapi
rpc/rpcsec_gss/rpcsec_gss_prot.c optional krpc kgssapi | nfslockd kgssapi
rpc/rpcsec_gss/svc_rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi
rpc/auth_none.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/auth_unix.c optional krpc | nfslockd | nfsclient | nfscl | nfsd
rpc/authunix_prot.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/clnt_dg.c optional krpc | nfslockd | nfsclient | nfscl | nfsd
rpc/clnt_rc.c optional krpc | nfslockd | nfsclient | nfscl | nfsd
rpc/clnt_vc.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/getnetconfig.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/inet_ntop.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/inet_pton.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/replay.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/rpc_callmsg.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/rpc_generic.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/rpc_prot.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/rpcb_clnt.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/rpcb_prot.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
rpc/svc.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/svc_auth.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/svc_auth_unix.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/svc_dg.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/svc_generic.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/svc_vc.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
rpc/rpcsec_gss/rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
rpc/rpcsec_gss/rpcsec_gss_conf.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
rpc/rpcsec_gss/rpcsec_gss_misc.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
rpc/rpcsec_gss/rpcsec_gss_prot.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
rpc/rpcsec_gss/svc_rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
security/audit/audit.c optional audit
security/audit/audit_arg.c optional audit
security/audit/audit_bsm.c optional audit

View File

@ -232,6 +232,13 @@ NFSSERVER opt_nfs.h
# supports modern features such as RPCSEC_GSS
NFS_LEGACYRPC opt_nfs.h
# Use these options to compile the experimental nfs client and/or
# server that supports NFSv4 into a kernel.
# NFSCL - client
# NFSD - server
NFSCL opt_nfs.h
NFSD opt_nfs.h
# filesystems and libiconv bridge
CD9660_ICONV opt_dontuse.h
MSDOSFS_ICONV opt_dontuse.h

View File

@ -185,7 +185,10 @@ SUBDIR= ${_3dfx} \
${_ndis} \
netgraph \
${_nfe} \
nfscl \
nfsclient \
nfscommon \
nfsd \
nfslockd \
nfsserver \
nfssvc \

View File

@ -0,0 +1,26 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../fs/nfsclient
KMOD= nfscl
SRCS= vnode_if.h \
nfs_clrpcops.c \
nfs_clkrpc.c \
nfs_clstate.c \
nfs_clcomsubs.c \
nfs_clport.c \
nfs_clbio.c \
nfs_cllock.c \
nfs_clnfsiod.c \
nfs_clnode.c \
nfs_clsubs.c \
nfs_clvfsops.c \
nfs_clvnops.c \
opt_inet.h \
opt_inet6.h \
opt_bootp.h \
opt_nfsroot.h \
opt_nfs.h \
opt_ufs.h \
opt_kgssapi.h
.include <bsd.kmod.mk>

View File

@ -0,0 +1,15 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../fs/nfs
KMOD= nfscommon
SRCS= vnode_if.h \
nfs_commonacl.c \
nfs_commonkrpc.c \
nfs_commonport.c \
nfs_commonsubs.c \
opt_kgssapi.h \
opt_ufs.h \
opt_inet6.h \
opt_nfs.h
.include <bsd.kmod.mk>

18
sys/modules/nfsd/Makefile Normal file
View File

@ -0,0 +1,18 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../fs/nfsserver
KMOD= nfsd
SRCS= vnode_if.h \
nfs_nfsdserv.c \
nfs_nfsdcache.c \
nfs_nfsdkrpc.c \
nfs_nfsdsocket.c \
nfs_nfsdstate.c \
nfs_nfsdsubs.c \
nfs_nfsdport.c \
opt_ufs.h \
opt_nfs.h \
opt_inet6.h \
opt_kgssapi.h
.include <bsd.kmod.mk>