[OpenAFS-devel] Re: 2.6.16 linux and d_cache

Jeffrey Hutzelman jhutz@cmu.edu
Tue, 28 Feb 2006 15:27:22 -0500


On Tuesday, February 28, 2006 09:24:21 AM -0500 chas williams - CONTRACTOR 
<chas@cmf.nrl.navy.mil> wrote:

> In message <4403BC22.7010801@cs.wisc.edu>,Marc Dionne writes:
>>>> libafs: falsely claims to have parameter sys_call_table_addr
>>>
>>> i guess i would just ignore this.  it means that afs couldnt find
>>> the bits it needs for pag support.  this broken on later kernels
>>> when the sys_call_table became read only and "unpatchable".
>>
>> Can't ignore it, since it causes the module load to fail.
>
> well i was wrong with my guess.  it looks like its a MODULE_PARM
> in the osi_probe code.  i guess something has changed in the
> later kernels about how you handle module parameters.  it
> seems you should use module_param() instead of MODULE_PARAM().

My guess is that the message results from the fact that MODULE_PARM() has
been deprecated in favor of module_param(), but MODULE_PARM_DESC() is still 
valid.  So, we're providing a description for a parameter that doesn't 
actually exist.

Of course, no one could ever want to have a module which builds against 
more than one version of Linux, so backwards compatibility in interfaces is 
unimportant.  Thus, we must change our calls to MODULE_PARM into calls to 
module_param and give up the ability to build against older kernels.

Or, of course, we could add yet another test against LINUX_VERSION_CODE...

-- Jeff