[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5230458.e005FX3QRC@wuerfel>
Date: Mon, 13 Jun 2016 16:59:49 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Ilya Dryomov <idryomov@...il.com>
Cc: Sage Weil <sage@...hat.com>, Jan Beulich <jbeulich@...e.com>,
Michal Marek <mmarek@...e.cz>, "Yan, Zheng" <zyan@...hat.com>,
Alex Elder <elder@...aro.org>,
Ceph Development <ceph-devel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ceph: fix symbol versioning for ceph_monc_do_statfs
On Monday, June 13, 2016 3:19:12 PM CEST Ilya Dryomov wrote:
> > diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h
> > index 690985daad1c..6b79a6ba39ca 100644
> > --- a/include/linux/ceph/libceph.h
> > +++ b/include/linux/ceph/libceph.h
> > @@ -214,8 +214,9 @@ static void erase_##name(struct rb_root *root, type *t) \
> > }
> >
> > #define DEFINE_RB_LOOKUP_FUNC(name, type, keyfld, nodefld) \
> > +extern type __lookup_##name##_key; \
> > static type *lookup_##name(struct rb_root *root, \
> > - typeof(((type *)0)->keyfld) key) \
> > + typeof(__lookup_##name##_key.keyfld) key) \
> > { \
> > struct rb_node *n = root->rb_node; \
> > \
>
> Out of curiosity, did you figure out why is it that only
> ceph_monc_do_statfs() is affected and not the other exports in
> net/ceph/osd_client.c?
No, I did not investigate it further at that point. My guess is that
something resets the state of the genksyms parser when it encounters
some tokens (like the semicolon I added earlier, or an EXPORT_SYMBOL
statement), and that this happens in one file but not the other.
Arnd
Powered by blists - more mailing lists