[OpenAFS] openafs-1.6.0 insmod error

Rainer Laatsch Laatsch@uni-koeln.de
Sun, 12 Feb 2012 18:54:11 +0100 (CET)


After a 'yum update', i got a new kernel. So i compiled a new openafs-1.6.0
to get an up-to-date /usr/vice/etc/modload/libafs*

Doing
  insmod /usr/vice/etc/modload/libafs*
i get the error:
insmod: error inserting '/usr/vice/etc/modload/libafs-2.6.18-274.17.1.el5.mp.ko'
: -1 Unknown symbol in module

>From /var/log/messages:
Feb 12 16:31:33 slinux kernel: libafs: Unknown symbol find_exported_dentry
Feb 12 16:31:33 slinux kernel: libafs: Unknown symbol export_op_default
This is also in dmesg output.

Doing an  strace insmod /usr/vice/etc/modload/libafs-2.6.18-274.17.1.el5.mp.ko,
i get:
....
read(3, "\1h\3\0\0\3#\304\v\21\204\32\35\0]\326\1h\3\0\0\3#\310\v\21\206\356\34\0]\327"..., 4194304) = 4194304
mremap(0xb7016000, 8392704, 16781312, MREMAP_MAYMOVE) = 0xb6015000
read(3, "ountroot\0sk_clone_security\0C_SRX"..., 8388608) = 4397529
read(3, "", 3991079)                    = 0
close(3)                                = 0
init_module(0xb6015008, 12786137, "")   = -1 ENOENT (No such file or directory)
write(2, "insmod: error inserting '/usr/vi"..., 110insmod: error inserting '/usr/vice/etc/modload/libafs-2.6.18-274.17.1.el5.mp.ko': -1 Unknown symbol in module
) = 110
exit_group(1)                           = ?

So 'init_module' throws an error.

My environment:
The disk was originally installed from a livecd (Thanks to Urs Beyerle @ethz ! ) :
cat /etc/livecd-release
3.0.2
The OS  is:
cat /etc/redhat-release
Scientific Linux SL release 5.4 (Boron)
uname -a yields:
Linux slinux 2.6.18-274.17.1.el5 #1 SMP Tue Jan 10 16:18:40 EST 2012
  i686 athlon i386 GNU/Linux
The kernel version is shown here as 2.6.18-274.17.1.el5

After the upgrade to this kernel version and a reboot (to get the new kernel
headers accessible),
i did:
tar -xvzf openafs-1.6.0-src.tar.gz
cd openafs-1.6.0/

./configure --enable-transarc-paths --enable-tivoli-tsm --enable-supergroups
make
make dest
ln -s `pwd`/i386_linux26/dest/root.server/usr/afs/bin /usr/afs/bin-1.6.0
ln -s  /usr/afs/bin-1.6.0 /usr/afs/bin
ln -s /Data/openafs-1.6.0/i386_linux26/dest /usr/afsws-1.6.0
ln -s /usr/afsws-1.6.0 /usr/afsws
ln -s /usr/vice/etc-1.6.0 /usr/vice/etc
(cd /usr/vice/etc-1.4.14.1; cp -p  CellServDB.mini  ThisCell cacheinfo CellServDB  StartAFS /usr/vice/etc/ )

After the /usr/afs/bin/bosserver is running, i call the (private) executable
/usr/vice/etc/StartAFS with contents:
:
   insmod /usr/vice/etc/modload/libafs-2.6.*.ko
/usr/vice/etc/afsd -stat 4000 -dcache 4000 -daemons 6 -volumes 256

Here, the
  insmod /usr/vice/etc/modload/libafs-2.6.18-274.17.1.el5.mp.ko
gets the error shown above:
insmod: error inserting '/usr/vice/etc/modload/libafs-2.6.18-274.17.1.el5.mp.ko': -1 Unknown symbol in module

As a workaround, i did:
insmod /usr/vice/etc-1.4.14.1/modload/libafs-2.6.18-274.17.1.el5.mp.ko
(succeded)

The bosserver (1.6.0) is running:
root@slinux# l /usr/afs/bin
lrwxrwxrwx 1 root root 18 Feb 12 14:42 /usr/afs/bin -> /usr/afs/bin-1.6.0
root@slinux# ps -eaf|grep boss
root     31276     1  0 16:10 ?        00:00:00 /usr/afs/bin/bosserver

Now. with  /usr/vice/etc -> /usr/vice/etc-1.6.0 , i get:
  /usr/vice/etc/afsd -stat 4000 -dcache 4000 -daemons 6 -volumes 256
afsd: All AFS daemons started.

That is, almost everything works with 1.6.0, except the insmod of
  /usr/vice/etc/modload/libafs-2.6.18-274.17.1.el5.mp.ko

This Sientific-Linux Release is compatible with the equivalent CENTOS or
RHEL (maybe also FEDORA)-

Can someone help in this modload issue?

Best regards
R.