# NFS problem...old kernel

## jorisbeld

Hi,

We have a problem on a server running an old kernel (2.4.29). After (probably too much) emerging, we cannot start NFS anymore (etc/init.d/nfs restart) gives the following output: 

```
root@xxx~ # /etc/init.d/nfs restart

 * WARNING:  nfs has not yet been started.

Kernel requires old modprobe, but couldn't run modprobe.old: No such file or directory

 * Exporting NFS directories ...

exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export 
```

Strangely enough 'rpcinfo -p' gives:

```
   program vers proto   port

    100000    2   tcp    111  portmapper

    100000    2   udp    111  portmapper

    100005    1   udp  32770  mountd

    100005    1   tcp  32770  mountd

    100005    2   udp  32770  mountd

    100005    2   tcp  32770  mountd

    100005    3   udp  32770  mountd

    100005    3   tcp  32770  mountd

    100024    1   udp  45758  status

    100024    1   tcp  56983  status

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100003    2   tcp   2049  nfs

    100003    3   tcp   2049  nfs

    100021    1   udp  32768  nlockmgr

    100021    3   udp  32768  nlockmgr

    100021    4   udp  32768  nlockmgr

    100021    1   tcp  32768  nlockmgr

    100021    3   tcp  32768  nlockmgr

    100021    4   tcp  32768  nlockmgr
```

So, something NFS is running. However, nobody seems to be able to connect to the 'shared' folder in /etc/exports.

Is there any good way (without rebooting) to fix this problem? Don't really know where to start. Was thinking about downgrading 'nfs-utils', but I'm not so sure if that is going to help...

Thanks a lot.

Best,

Joris

----------

## Jaglover

Quick and dirty: load NFS modules by hand (or startup script).

Ever considered kernel upgrade? There are tons of new features, incl better performance.

----------

## jorisbeld

Thanks, but how do i load NFS modules if modprobe (or insmod/lsmod) are not working (all give the same error: "Kernel requires old modprobe, but couldn't run modprobe.old: No such file or directory")? 

It does not seem that easy to downgrade module-init-tools, which contains modprobe, insmod, lsmod. 

Best,

Joris

----------

## Jaglover

You still don't want to get a decent kernel? You can rebuild your kernel with NFS built in instead of modules, but will it end your headaches? The base-system/userland do not support kernels that old.

----------

## jorisbeld

Of course we want a decent kernel, but it's a running system which we cannot take offline easily.

Anyway, NFS is compiled in the kernel and not as a module (although i cannot see that at the moment since lsmod is not working). Just as a little step forward I want to fix NFS, even if that means reverting back to old packages.

Joris

----------

## Hu

What does showmount -e server, as run from a client, show?

You should fix your /etc/exports so that a choice for subtree checking is present.  It probably will not fix the existing problem, but it is a good idea in principle.  Also, if you could post the output of nl /etc/exports, it might help.

----------

## jorisbeld

Yes, I did fix the /etc/exports and exportfs -rf does work. Also, /etc/init.d/portmap restart works fine. rpcinfo -p shows that both portmapper as well as nfs are running. However, /etc/init.d/nfs does not work because of a problem with thread-local storage incompatibility of the old kernel. showmount -e server on a client machine does indeed not list any exported directory, which explains why none of the users can (auto)mount their NFS drives. It seems to me that i first have to fix this tls problem (probably emerging nfs-utils and util-linux without nptl could fix this). Thanks anyway!

Best,

Joris

----------

