NFSD: Fix NFS server build errors
authorChuck Lever <chuck.lever@oracle.com>
Thu, 5 Mar 2020 23:27:36 +0000 (18:27 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 16 Mar 2020 16:04:34 +0000 (12:04 -0400)
yuehaibing@huawei.com reports the following build errors arise when
CONFIG_NFSD_V4_2_INTER_SSC is set and the NFS client is not built
into the kernel:

fs/nfsd/nfs4proc.o: In function `nfsd4_do_copy':
nfs4proc.c:(.text+0x23b7): undefined reference to `nfs42_ssc_close'
fs/nfsd/nfs4proc.o: In function `nfsd4_copy':
nfs4proc.c:(.text+0x5d2a): undefined reference to `nfs_sb_deactive'
fs/nfsd/nfs4proc.o: In function `nfsd4_do_async_copy':
nfs4proc.c:(.text+0x61d5): undefined reference to `nfs42_ssc_open'
nfs4proc.c:(.text+0x6389): undefined reference to `nfs_sb_deactive'

The new inter-server copy code invokes client functions. Until the
NFS server has infrastructure to load the appropriate NFS client
modules to handle inter-server copy requests, let's constrain the
way this feature is built.

Reported-by: YueHaibing <yuehaibing@huawei.com>
Fixes: ce0887ac96d3 ("NFSD add nfs4 inter ssc to nfsd4_copy")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: YueHaibing <yuehaibing@huawei.com> # build-tested
fs/nfsd/Kconfig

index f368f3215f88fce200a3fbafbd57d56d5757a0c6..99d2cae91bd68c1ec9d651d7b5f86d58bf4da1e6 100644 (file)
@@ -136,7 +136,7 @@ config NFSD_FLEXFILELAYOUT
 
 config NFSD_V4_2_INTER_SSC
        bool "NFSv4.2 inter server to server COPY"
-       depends on NFSD_V4 && NFS_V4_1 && NFS_V4_2
+       depends on NFSD_V4 && NFS_V4_1 && NFS_V4_2 && NFS_FS=y
        help
          This option enables support for NFSv4.2 inter server to
          server copy where the destination server calls the NFSv4.2