summaryrefslogtreecommitdiffstats
path: root/sys/modules
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2011-04-25 22:22:51 +0000
committerrmacklem <rmacklem@FreeBSD.org>2011-04-25 22:22:51 +0000
commit8d09f5854972630dec5ac9a3362d13b2b014aed7 (patch)
tree215ddd2770caab91450f1ffc0936448f7790351a /sys/modules
parentf8e844f47e956bc96fd494f89344c3dfc5b214e3 (diff)
downloadFreeBSD-src-8d09f5854972630dec5ac9a3362d13b2b014aed7.zip
FreeBSD-src-8d09f5854972630dec5ac9a3362d13b2b014aed7.tar.gz
Fix the experimental NFS client so that it does not bogusly
set the f_flags field of "struct statfs". This had the interesting effect of making the NFSv4 mounts "disappear" after r221014, since NFSMNT_NFSV4 and MNT_IGNORE became the same bit. Move the files used for a diskless NFS root from sys/nfsclient to sys/nfs in preparation for them to be used by both NFS clients. Also, move the declaration of the three global data structures from sys/nfsclient/nfs_vfsops.c to sys/nfs/nfs_diskless.c so that they are defined when either client uses them. Reviewed by: jhb MFC after: 2 weeks
Diffstat (limited to 'sys/modules')
-rw-r--r--sys/modules/nfscl/Makefile34
-rw-r--r--sys/modules/nfsclient/Makefile2
2 files changed, 34 insertions, 2 deletions
diff --git a/sys/modules/nfscl/Makefile b/sys/modules/nfscl/Makefile
index 7b95932..46fa327 100644
--- a/sys/modules/nfscl/Makefile
+++ b/sys/modules/nfscl/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../fs/nfsclient
+.PATH: ${.CURDIR}/../../fs/nfsclient ${.CURDIR}/../../nfs
KMOD= nfscl
SRCS= vnode_if.h \
nfs_clrpcops.c \
@@ -22,4 +22,36 @@ SRCS= vnode_if.h \
opt_ufs.h \
opt_kgssapi.h
+.if !defined(KERNBUILDDIR)
+NFS_INET?= 1 # 0/1 - requires INET to be configured in kernel
+NFS_INET6?= 1 # 0/1 - requires INET6 to be configured in kernel
+NFS_ROOT?= 1 # 0/1 - requires NFS_ROOT to be configured in kernel
+
+.if ${NFS_INET} > 0
+opt_inet.h:
+ echo "#define INET 1" > ${.TARGET}
+.endif
+
+.if ${NFS_INET6} > 0
+opt_inet6.h:
+ echo "#define INET6 1" > ${.TARGET}
+.endif
+
+.if ${NFS_ROOT} > 0
+opt_nfsroot.h:
+ echo "#define NFS_ROOT 1" > ${.TARGET}
+.endif
+.else
+OPT_NFS_ROOT!= cat ${KERNBUILDDIR}/opt_nfsroot.h
+.if empty(OPT_NFS_ROOT)
+NFS_ROOT= 0
+.else
+NFS_ROOT= 1
+.endif
+.endif
+
+.if ${NFS_ROOT} > 0
+SRCS+= nfs_diskless.c
+.endif
+
.include <bsd.kmod.mk>
diff --git a/sys/modules/nfsclient/Makefile b/sys/modules/nfsclient/Makefile
index 0ce3d41..94d473b 100644
--- a/sys/modules/nfsclient/Makefile
+++ b/sys/modules/nfsclient/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../nfsclient ${.CURDIR}/../../rpc
+.PATH: ${.CURDIR}/../../nfsclient ${.CURDIR}/../../nfs ${.CURDIR}/../../rpc
KMOD= nfsclient
SRCS= vnode_if.h \
OpenPOWER on IntegriCloud