diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2009-05-28 19:45:11 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2009-05-28 19:45:11 +0000 |
commit | 805da1fd7b5764f36f508d13579d252e83675cbc (patch) | |
tree | 704f92226f47e3058637c34aa0509331020fe431 | |
parent | 87880e35a7a715866ff77b50f7581b1cb16b8adf (diff) | |
download | FreeBSD-src-805da1fd7b5764f36f508d13579d252e83675cbc.zip FreeBSD-src-805da1fd7b5764f36f508d13579d252e83675cbc.tar.gz |
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)
-rw-r--r-- | sys/conf/NOTES | 2 | ||||
-rw-r--r-- | sys/conf/files | 91 | ||||
-rw-r--r-- | sys/conf/options | 7 | ||||
-rw-r--r-- | sys/modules/Makefile | 3 | ||||
-rw-r--r-- | sys/modules/nfscl/Makefile | 26 | ||||
-rw-r--r-- | sys/modules/nfscommon/Makefile | 15 | ||||
-rw-r--r-- | sys/modules/nfsd/Makefile | 18 |
7 files changed, 128 insertions, 34 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES index a51beed..f25c98ca 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -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 diff --git a/sys/conf/files b/sys/conf/files index b94ebe4..c1f9a42 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -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 diff --git a/sys/conf/options b/sys/conf/options index cc06bd7..298c170 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -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 diff --git a/sys/modules/Makefile b/sys/modules/Makefile index b9c7f1c..ef6373a 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -185,7 +185,10 @@ SUBDIR= ${_3dfx} \ ${_ndis} \ netgraph \ ${_nfe} \ + nfscl \ nfsclient \ + nfscommon \ + nfsd \ nfslockd \ nfsserver \ nfssvc \ diff --git a/sys/modules/nfscl/Makefile b/sys/modules/nfscl/Makefile new file mode 100644 index 0000000..66d5d93 --- /dev/null +++ b/sys/modules/nfscl/Makefile @@ -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> diff --git a/sys/modules/nfscommon/Makefile b/sys/modules/nfscommon/Makefile new file mode 100644 index 0000000..a3d75a7 --- /dev/null +++ b/sys/modules/nfscommon/Makefile @@ -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> diff --git a/sys/modules/nfsd/Makefile b/sys/modules/nfsd/Makefile new file mode 100644 index 0000000..08d302a --- /dev/null +++ b/sys/modules/nfsd/Makefile @@ -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> |