- Subject: Re: [PATCH v3 13/17] lockd: use new hashtable implementation
- From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
- Date: Wed, 22 Aug 2012 09:22:43 -0400
- Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>, torvalds@xxxxxxxxxxxxxxxxxxxx, tj@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, paul.gortmaker@xxxxxxxxxxxxx, davem@xxxxxxxxxxxxx, rostedt@xxxxxxxxxxx, mingo@xxxxxxx, ebiederm@xxxxxxxxxxxx, aarcange@xxxxxxxxxx, ericvh@xxxxxxxxx, netdev@xxxxxxxxxxxxxxx, josh@xxxxxxxxxxxxxxxx, eric.dumazet@xxxxxxxxx, axboe@xxxxxxxxx, agk@xxxxxxxxxx, dm-devel@xxxxxxxxxx, neilb@xxxxxxx, ccaulfie@xxxxxxxxxx, teigland@xxxxxxxxxx, Trond.Myklebust@xxxxxxxxxx, fweisbec@xxxxxxxxx, jesse@xxxxxxxxxx, venkat.x.venkatsubra@xxxxxxxxxx, ejt@xxxxxxxxxx, snitzer@xxxxxxxxxx, edumazet@xxxxxxxxxx, linux-nfs@xxxxxxxxxxxxxxx, dev@xxxxxxxxxxxxxxx, rds-devel@xxxxxxxxxxxxxx, lw@xxxxxxxxxxxxxx
- In-reply-to: <5034CD02.2010103@gmail.com>
- References: <1345602432-27673-1-git-send-email-levinsasha928@gmail.com> <1345602432-27673-14-git-send-email-levinsasha928@gmail.com> <20120822114752.GC20158@fieldses.org> <5034CD02.2010103@gmail.com>
- User-agent: Mutt/1.5.18 (2008-05-17)
* Sasha Levin (levinsasha928@xxxxxxxxx) wrote:
> On 08/22/2012 01:47 PM, J. Bruce Fields wrote:
> > On Wed, Aug 22, 2012 at 04:27:08AM +0200, Sasha Levin wrote:
> >> +static int __init nlm_init(void)
> >> +{
> >> + hash_init(nlm_files);
> >> + return 0;
> >> +}
> >> +
> >> +module_init(nlm_init);
> >
> > That's giving me:
> >
> > fs/lockd/svcsubs.o: In function `nlm_init':
> > /home/bfields/linux-2.6/fs/lockd/svcsubs.c:454: multiple definition of `init_module'
> > fs/lockd/svc.o:/home/bfields/linux-2.6/fs/lockd/svc.c:606: first defined here
> > make[2]: *** [fs/lockd/lockd.o] Error 1
> > make[1]: *** [fs/lockd] Error 2
> > make[1]: *** Waiting for unfinished jobs....
>
> I tested this entire patch set both with linux-next and Linus' latest master,
> and it worked fine in both places.
>
> Is it possible that lockd has a -next tree which isn't pulled into linux-next?
> (there's nothing listed in MAINTAINERS that I could see).
fs/lockd/Makefile:
obj-$(CONFIG_LOCKD) += lockd.o
lockd-objs-y := clntlock.o clntproc.o clntxdr.o host.o svc.o svclock.o \
svcshare.o svcproc.o svcsubs.o mon.o xdr.o grace.o
your patch adds a module_init to svcsubs.c.
However, there is already one in svc.c, pulled into the same module.
in your test build, is CONFIG_LOCKD defined as "m" or "y" ? You should
always test both.
One solution here is to create a "local" init function in svcsubs.c and
expose it to svc.c, so the latter can call it from its module init
function.
Thanks,
Mathieu
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux USB Development]
[Linux Media Development]
[Video for Linux]
[Linux NILFS]
[Linux Audio Users]
[Photo]
[Yosemite Info]
[Yosemite Photos]
[POF Sucks]
[Linux Kernel]
[Linux SCSI]
[XFree86]