From patchwork Sat Jun 11 22:50:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 9171205 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A491860573 for ; Sat, 11 Jun 2016 22:49:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97D9B21327 for ; Sat, 11 Jun 2016 22:49:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8C7B522A2A; Sat, 11 Jun 2016 22:49:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1ECD421327 for ; Sat, 11 Jun 2016 22:49:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752113AbcFKWtV (ORCPT ); Sat, 11 Jun 2016 18:49:21 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:62279 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751849AbcFKWtU (ORCPT ); Sat, 11 Jun 2016 18:49:20 -0400 Received: from wuerfel.localnet ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue102) with ESMTPSA (Nemesis) id 0LsyLK-1baaeu13vO-012bO9; Sun, 12 Jun 2016 00:49:06 +0200 From: Arnd Bergmann To: Linus Torvalds Cc: Sage Weil , Linux Kernel Mailing List , ceph-devel , Ilya Dryomov , Michal Marek , Sam Ravnborg Subject: Re: [GIT PULL] Ceph updates for 4.7-rc1 Date: Sun, 12 Jun 2016 00:50:28 +0200 Message-ID: <11020328.SrhRCkShXx@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-22-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: References: <3724610.gtEplKGO6B@wuerfel> MIME-Version: 1.0 X-Provags-ID: V03:K0:SvsvF1p6oS/cFG9Akt9sXGIkndkOkpLXmyW8bXNgg2KO26ky5AY rgqwDFnbMi8F3h7rbmN87gJj/racKUDsuuznch3r11REKC2rUAHhmeSBSHqwbikzQC2E6pW 7+5+SWq4xgmDgsa64gRYfiOf5N6gLdTmj8xQ8jQav8Xdo3AqEJSZGwkQO44KQLNdVtZycZW WpQjNQXlaDOuu4ArapVxw== X-UI-Out-Filterresults: notjunk:1; V01:K0:Cu7M4LQJFYQ=:dNifcYE3XdCkEe321Ap7P7 WVj1MZpKKKUBSl8wr2pnudbgT3kG0Oelw80SSZpbHjZuX7tY9McrdnRn00hLUwIj9kp3XfcIK dXzQscR9QcxZKTzZWhtH2QvtyWXaCUuF5Air36h4+7qv2eZPY+C79RuLzqgo5vDQvc7KA+Yaq wGGCHoXgK26Tmh8qXJfiDWb+LzQUsFeZJCy08kDbSvdICiTQ3BHEvsogVmJyzBrTQGwuI/GT+ OP3lue4PWuo1vtZqGdxPewT2Qe9NYZISgYYTNkhNzPFbndNernkRrV1wyztxA3Z5MHGCmeEFJ LubNFOtDq9fY9Ai3M7M59ym3rk63EVojPIoQ1hiiDOMS0Z8l39QSTGyDIoiL9vRl5hWf34v2Y 2HjOkfx54hvE6WNzUpiMW9EQAdPEdizDWAFwcAtjv9Iwa1CBPR3SzJA93THY3KiSQ99vA+lLL Jete6kwehTE20Cmylvn13Zoojm8gUiKz3rNXtnHCe/YkwgdoPr953ryncVgekXBrWRrJc3f8d lxj3wk9fr6T6yjUJruGdZQxvFubEFDqdYRc1yXbtGfXsWcoTDZ4V6jz/+VJ2kwpM0Rc/0SoYM qYv6OogJys3SUAw+O2dH6V/wG1vvzyWzmn+TsA4bl8gWPi8Dcz8x9dkM1312fbUN+1p62E/Zp TixPVOKO7BV/udhKOGaxfdW+B5c/TKxiIPrw+prGRL/ac6d5xo00Mc/xJOlIdPVrWzEz56p3N 5SpmvUtgRUgrw2wp Sender: ceph-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: ceph-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Friday, June 10, 2016 2:32:21 PM CEST Linus Torvalds wrote: > On Fri, Jun 10, 2016 at 1:42 PM, Arnd Bergmann wrote: > > > > What I see is that this one exported symbol has a __crc of a different > > type from all the others: > > > > $ nm net/ceph/mon_client.o | grep __crc > > 48c2e16e A __crc_ceph_monc_get_version > > 2360d633 A __crc_ceph_monc_get_version_async > > 0c50a10a A __crc_ceph_monc_got_map > > w __crc_ceph_monc_do_statfs > > A lower-case 'w' in a symbol list just means that it's a local weak > symbol (with a upper-case 'A' meaning it's an absolute global). > > Afaik, that simply means that it never got resolved, and genksyms > never generated that absolute value for it. > > As to _why_ that happens, that's more than I can guess. We've had > problems with genksyms before, and it tends to be hard to debug. (Cc: Michal and Sam, who might understand this better) I still don't know what goes wrong, but the patch below fixes it. I have experimentally determined that the next EXPORT_SYMBOL() after the DEFINE_RB_FUNCS line in net/ceph/mon_client.c ends up without a checksum, and that adding a semicolon at the end of that line makes it work fine. However, there are other DEFINE_RB_FUNCS instances in net/ceph/osd_client.c that don't suffer from this problem, so I still have no clue why it helps, and we probably don't want to apply the patch unless we know what the problem is. Arnd --- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/ceph/mon_client.c b/net/ceph/mon_client.c index 37c38a7fb5c5..1ac468920495 100644 --- a/net/ceph/mon_client.c +++ b/net/ceph/mon_client.c @@ -478,7 +478,7 @@ out: /* * generic requests (currently statfs, mon_get_version) */ -DEFINE_RB_FUNCS(generic_request, struct ceph_mon_generic_request, tid, node) +DEFINE_RB_FUNCS(generic_request, struct ceph_mon_generic_request, tid, node); static void release_generic_request(struct kref *kref) {