Rick Macklem 7c208ed659 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
2011-04-25 22:22:51 +00:00

58 lines
1.0 KiB
Makefile

# $FreeBSD$
.PATH: ${.CURDIR}/../../fs/nfsclient ${.CURDIR}/../../nfs
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_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
.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>