Fix a kernel linking problem introduced by r221032, r221040
when building kernels that don't have "options NFS_ROOT" specified. I plan on moving the functions that use these data structures into the shared code in sys/nfs/nfs_diskless.c in a future commit. At that time, these definitions will no longer be needed in nfs_vfsops.c and nfs_clvfsops.c. MFC after: 2 weeks
This commit is contained in:
parent
c3bd10b434
commit
541cb7a358
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=221066
@ -137,10 +137,17 @@ VFS_SET(nfs_vfsops, newnfs, VFCF_NETWORK);
|
||||
MODULE_VERSION(newnfs, 1);
|
||||
|
||||
/*
|
||||
* This structure must be filled in by a primary bootstrap or bootstrap
|
||||
* server for a diskless/dataless machine. It is initialized below just
|
||||
* to ensure that it is allocated to initialized data (.data not .bss).
|
||||
* This structure is now defined in sys/nfs/nfs_diskless.c so that it
|
||||
* can be shared by both NFS clients. It is declared here so that it
|
||||
* will be defined for kernels built without NFS_ROOT, although it
|
||||
* isn't used in that case.
|
||||
*/
|
||||
#if !defined(NFS_ROOT) && !defined(NFSCLIENT)
|
||||
struct nfs_diskless nfs_diskless = { { { 0 } } };
|
||||
struct nfsv3_diskless nfsv3_diskless = { { { 0 } } };
|
||||
int nfs_diskless_valid = 0;
|
||||
#endif
|
||||
|
||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
|
||||
&nfs_diskless_valid, 0,
|
||||
"Has the diskless struct been filled correctly");
|
||||
|
@ -164,6 +164,18 @@ static struct nfs_rpcops nfs_rpcops = {
|
||||
nfs_commit,
|
||||
};
|
||||
|
||||
/*
|
||||
* This structure is now defined in sys/nfs/nfs_diskless.c so that it
|
||||
* can be shared by both NFS clients. It is declared here so that it
|
||||
* will be defined for kernels built without NFS_ROOT, although it
|
||||
* isn't used in that case.
|
||||
*/
|
||||
#ifndef NFS_ROOT
|
||||
struct nfs_diskless nfs_diskless = { { { 0 } } };
|
||||
struct nfsv3_diskless nfsv3_diskless = { { { 0 } } };
|
||||
int nfs_diskless_valid = 0;
|
||||
#endif
|
||||
|
||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
|
||||
&nfs_diskless_valid, 0,
|
||||
"Has the diskless struct been filled correctly");
|
||||
|
Loading…
Reference in New Issue
Block a user