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).
comments powered by Disqus