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 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html