[openib-general] problems with lustre o2ib module & ofed
Robert Walsh
rjwalsh at pathscale.com
Sun Sep 24 10:45:01 PDT 2006
Thierry Delaitre wrote:
> I get the following when loading lustre o2ib module. I'm using ofed-1.1
> rc6 on sles10 and i'm sure the ib modules are the ones recompiled for the
> kernel i'm using and lustre too. I don't understand why i get the
> following as i only have one version of the ib modules ?
This explanation gets ugly :-)
The short description is: you can't build external modules that depend
on other external modules that you previously built.
The reason why is: the kernel devel stuff ships with a file called
Module.symvers, which contains all the version information for all the
symbols in the kernel and in all the modules built when the kernel was
built. When you build an external module, the kernel build stuff looks
in here to get the version information for any symbol referenced that it
can't find in the group of modules you're building. If you've replaced
some modules with newer ones (like what happens when you install
OFED-1.1, for example), then the symbol versions in the new modules will
not match what's in the Module.symvers file.
In your case, you installed a bunch of new modules (OFED-1.1) and then,
in a second step, installed another new module (Lustre). The OFED-1.1
build was OK because all external symbols that it referenced (all of
which are in vmlinux, I think) had properly matching version entries in
Module.symvers. The Lustre build, however, was pulling ib_* symbols
from the new OFED-1.1 modules that had mismatching symbol versions in
Module.symvers from the original kernel modules (I don't remember if the
kernel build warns about mismatching symbol versions at build time.)
At insmod time, the kernel checks that the symbol versions of
already-loaded modules match the expected versions in the to-be-loaded
module. In your case, they will not.
One solutions is: extract the kernel sources form the OFED-1.1
distribution, patch them as the OFED build script would, add in the
Lustre bits and build the whole thing yourself manually.
Another solution is: update the Module.symvers file.
Neither is a terribly satisfactory solution.
Regards,
Robert.
More information about the general
mailing list