[OpenAFS] tasklist_lock undefined Linux 2.6.18, OpenAFS 1.4.2
Peter N. Schweitzer
pschweitzer@usgs.gov
Fri, 27 Oct 2006 15:20:29 -0400
Jeffrey Hutzelman wrote:
> On Friday, October 27, 2006 08:02:07 PM +0200 Stefaan
> <stefaan.deroeck@gmail.com> wrote:
>
>> On 10/24/06, Peter N. Schweitzer <pschweitzer@usgs.gov> wrote:
>>>
>>> Yes, I didn't mean to be unclear. The problem I'm having is with a
>>> 2.6.18 system building 1.4.2.
>>
>> I can confirm this. amd64 box, linux vanilla 2.6.18, openafs 1.4.2,
>> both from their original sources
>> It does build perfectly, but afterwards
>> bubbles ~ # depmod -e -a -F /usr/src/linux-2.6.18/System.map 2.6.18
>> WARNING: /lib/modules/2.6.18/fs/openafs/libafs.ko needs unknown symbol
>> tasklist_lock
>> it seems that the module has an unresolved symbol.
>>
>> I have the impression that the developers believe this is fixed. Can
>> there be something both Peter and I are doing wrong such that the fix
>> is ineffective? Or is something else missing?
>
> Well, the patch I sent to the list should have made the problem go away
> for the original poster, but was incomplete and never meant to be
> applied in that form. The gatekeepers cleaned it up before committing,
> but there is one case that was missed, which only affects amd64.
>
> What I'm about to suggest isn't the "right" fix; in particular, it will
> probably break syscall table scanning on older kernel versions. But it
> should make your module load and work.
>
> Go into src/afs/LINUX/osi_probe.c, and look for a line like this:
>
> (unsigned long)(&tasklist_lock) - 0x30000,
>
> Remove the "- 0x30000" and the unresolved symbol reference should go away.
I don't mean to be a pain, but this cannot possibly solve an unresolved
external reference. The key point is that tasklist_lock is defined as
extern rwlock_t and it isn't present in the vanilla 2.6.18 kernel as
I've compiled it. I can believe that there's some kernel config switch
that I need to set in order to make the symbol public, but I don't see
what that is; I've tried a variety of kernel config changes to no avail.
I do also wish to emphasize that this is not an AMD64 system, it's an x86-32.
Peter
--
Peter N. Schweitzer (MS 954, U.S. Geological Survey, Reston, VA 20192)
(703) 648-6533 FAX: (703) 648-6252 email: pschweitzer@usgs.gov
<http://geology.usgs.gov/peter/>