Time To Pull The Plug

This is a subtitle. There are many like it, but this one is here.

NFS Kernel Server + Kernel 2.6.33 Weirdness

I upgraded the kernel on my Xen box (running Debian 5.0 “lenny”)  to 2.6.33 last week and came across a curious issue. With recent versions of the Linux kernel (versions that seem to be affected: 2.6.31, 2.6.32, and 2.6.33), changes in /proc have broken the nfs-kernel-server init scripts. Despite having NFS server support in the kernel as a module that’s been properly loaded, the script dies with Not starting NFS kernel daemon: no support in current kernel. … (warning).

The problem is that the line if [ -f /proc/kallsyms ] && ! grep -qE ‘init_nf(sd|    )’ /proc/kallsyms; then doesn’t work anymore. One way around it is to change the line to if [ ! -f /proc/fs/nfs/exports ]; then; another fix I saw suggested was to grep nfsd on /proc/filesystems. The /proc/fs/nfs/exports thing worked just fine for me, but that may not be the most correct solution.

More on this: Debian bugs discussion, and more Debian bugs discussion (second thread  seems to indicate it’s been fixed, but it wasn’t in lenny as of March 12th or so).