From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDB80C3F2D1 for ; Wed, 4 Mar 2020 20:06:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A8C0F2084E for ; Wed, 4 Mar 2020 20:06:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387761AbgCDUGK (ORCPT ); Wed, 4 Mar 2020 15:06:10 -0500 Received: from fieldses.org ([173.255.197.46]:39064 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726440AbgCDUGK (ORCPT ); Wed, 4 Mar 2020 15:06:10 -0500 Received: by fieldses.org (Postfix, from userid 2815) id 283731C19; Wed, 4 Mar 2020 15:06:09 -0500 (EST) Date: Wed, 4 Mar 2020 15:06:09 -0500 From: Bruce Fields To: Chuck Lever Cc: YueHaibing , Olga Kornievskaia , Linux NFS Mailing List , linux-kernel@vger.kernel.org Subject: Re: [PATCH] nfsd: Fix build error Message-ID: <20200304200609.GA26924@fieldses.org> References: <20200304131803.46560-1-yuehaibing@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 04, 2020 at 01:00:12PM -0500, Chuck Lever wrote: > Hi- > > > On Mar 4, 2020, at 8:18 AM, YueHaibing wrote: > > > > 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' > > > > Add dependency to NFSD_V4_2_INTER_SSC to fix this. > > > > Fixes: ce0887ac96d3 ("NFSD add nfs4 inter ssc to nfsd4_copy") > > Signed-off-by: YueHaibing > > --- > > fs/nfsd/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig > > index f368f32..fc587a5 100644 > > --- a/fs/nfsd/Kconfig > > +++ b/fs/nfsd/Kconfig > > @@ -136,6 +136,7 @@ config NFSD_FLEXFILELAYOUT > > > > config NFSD_V4_2_INTER_SSC > > bool "NFSv4.2 inter server to server COPY" > > + depends on !(NFSD=y && NFS_FS=m) > > The new dependency is not especially clear to me; more explanation > in the patch description about the cause of the build failure > would definitely be helpful. > > NFSD_V4 can't be set unless NFSD is also set. > > NFS_V4_2 can't be set unless NFS_V4_1 is also set, and that cannot > be set unless NFS_FS is also set. > > So what's really going on here? I don't understand that "depends" either. The fundamental problem, though, is that nfsd is calling nfs code directly. Which I noticed in earlier review and then forgot to follow up on, sorry. So either we: - let nfsd depend on nfs, fix up Kconfig to reflect the fact, or - write some code so nfsd can load nfs and find those symbols at runtime if it needs to do a copy. The latter's certainly doable, but it'd be simplest to do the former. Are there actually a lot of people who want nfsd but not nfs? Does that cause a real problem for anyone? --b.