From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752867AbcFKWtW (ORCPT ); Sat, 11 Jun 2016 18:49:22 -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 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 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" 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: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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) {