On 2020/3/6 7:38, Chuck Lever wrote: > yuehaibing@xxxxxxxxxx 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@xxxxxxxxxx> > Fixes: ce0887ac96d3 ("NFSD add nfs4 inter ssc to nfsd4_copy") > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > --- > fs/nfsd/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Yue - does this work for you? The dependency is easier for me to > understand. It works for me. Tested-by: YueHaibing <yuehaibing@xxxxxxxxxx> # build-tested > > Bruce and Olga - OK with this temporary solution? > > diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig > index f368f3215f88..99d2cae91bd6 100644 > --- a/fs/nfsd/Kconfig > +++ b/fs/nfsd/Kconfig > @@ -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 > > >